66 lines
2.3 KiB
C#
66 lines
2.3 KiB
C#
using AyCode.Interfaces.Entities;
|
|
using AyCode.Interfaces.TimeStampInfo;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Text.Json.Serialization;
|
|
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, ITransferToDriversRelation
|
|
{
|
|
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
|
|
public Guid Id { get; set; }
|
|
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
public int OrderId { get; set; }
|
|
|
|
public Guid UserId { get; set; }
|
|
/// <summary>
|
|
/// HOTEL ProductId!!!!
|
|
/// </summary>
|
|
public Guid? ProductId { get; set; }
|
|
//public Guid? UserProductMappingId { get; set; }
|
|
//public Guid? UserProductToCarId { get; set; }
|
|
|
|
public string? PaymentId { get; set; }
|
|
//public virtual UserProductMapping? UserProductMapping { get; set; }
|
|
|
|
[JsonIgnore]
|
|
[Newtonsoft.Json.JsonIgnore]
|
|
public virtual List<TransferToDriver> TransferToDrivers { get; set; } = [];
|
|
|
|
[Required] public TransferStatusType TransferStatusType { get; set; } = TransferStatusType.OrderSubmitted;
|
|
|
|
[Required] public DateTime Appointment { get; set; }
|
|
|
|
public bool Paid { 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; }
|
|
} |