55 lines
1.9 KiB
C#
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; }
|
|
} |