PIBD_21_Basalov_A_D_Project.../project/ProjectTourAgency/Enities/Tour.cs

74 lines
2.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}
}