TourIAm/TIAM.Entities/Transfers/Transfer.cs

55 lines
1.9 KiB
C#

using AyCode.Interfaces.Entities;
using AyCode.Interfaces.TimeStampInfo;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Dynamic;
using AyCode.Interfaces.Profiles.Dtos;
using TIAM.Core.Enums;
using TIAM.Entities.Products;
using TIAM.Entities.Profiles;
using TIAM.Entities.Users;
namespace TIAM.Entities.Transfers;
[Table(nameof(Transfer))]
public class Transfer: IEntityGuid, IAcFullName, ITimeStampInfo, IProductForeignKey<Guid?>, IUserForeignKey
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int OrderId { get; set; }
public Guid UserId { get; set; }
public Guid? ProductId { get; set; }
public virtual List<TransferToDriver> TransferToDrivers { get; set; }
[Required] public TransferStatusType TransferStatusType { get; set; } = TransferStatusType.OrderSubmitted;
[Required] public DateTime Appointment { get; set; }
public bool Payed { get; set; }
public double? Price { get; set; }
public byte PassengerCount { get; set; }
public byte LuggageCount { get; set; }
[MaxLength(50)] public string? FlightNumber { get; set; }
[MaxLength(200)] public string FromAddress { get; set; }
[MaxLength(200)] public string? ToAddress { get; set; }
public string? FullName => Profile.GetFullName(FirstName, LastName);
[Column("ContactFirstName")]public string? FirstName { get; set; }
[Column("ContactLastName")]public string? LastName { get; set; }
public string ContactEmail {get;set; }
public string ContactPhone {get;set; }
[MaxLength(250)] public string? Comment { get; set; }
//[Column("ReferralProductId")]
public Guid? ReferralId { get; set; }
public DateTime Created { get; set; }
public DateTime Modified { get; set; }
}