using ProjectTourAgency.Enities.Enums; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ProjectTourAgency.Enities; public class Tour { [DisplayName("Id Тура")] public int Id { get; private set; } [Browsable(false)] public int EmployeeId { get; private set; } [Browsable(false)] public int RouteId { get; private set; } [DisplayName("Сотрудник")] public string EmployeeName { get; private set; } = string.Empty; [DisplayName("Маршрут")] public string RouteName { get; private set; } = string.Empty; [DisplayName("Дата начала тура")] public DateTime DepartureDate { get; private set; } [Browsable(false)] public IEnumerable<ClientTour> ClientTours { get; private set; } = []; [DisplayName("Клиенты")] public string Clients => ClientTours != null ? string.Join(",", ClientTours.Select(x => $"{x.CLientName} {x.Cost}")) : string.Empty; public static Tour CreateEntity(int id, int employeeId, int routeId, DateTime date,IEnumerable<ClientTour> clientTours) { return new Tour { Id = id, EmployeeId = employeeId, RouteId = routeId, DepartureDate = date, ClientTours = clientTours }; } public static Tour CreateEntity(TempClientTour tempClientTour, IEnumerable<ClientTour> clientTours) { return new Tour { Id = tempClientTour.Id, EmployeeId = tempClientTour.EmployeeId, RouteId = tempClientTour.RouteId, DepartureDate = tempClientTour.DepartureDate, ClientTours = clientTours }; } public void SetClientTours(IEnumerable<ClientTour> clientTours) { if(clientTours != null && clientTours.Any()) { ClientTours = clientTours; } } }