using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UWS
{
    class BusinessLayer
    {
        public class VehicleRequestApiResponse
        {
            public VehicleRequest VehicleRequest { get; set; }
            public LoadingVehicleWeightInfo LoadingVehicleWeightInfo { get; set; }
        }
        public class FmsVehicle
        {
            public int Id { get; set; }
            public string RegistrationNumber { get; set; }
            public string Model { get; set; }
            public string FleetType { get; set; }
            public string SubType { get; set; }
            public string ServiceType { get; set; }
            public bool IsAllocated { get; set; }
        }

        public class VehicleRequest
        {
            public int Id { get; set; }
            public string Code { get; set; }
            public int EmployeeId { get; set; }
            public int SiteId { get; set; }
            public int NoOfLoaders { get; set; }
            public string RequestType { get; set; }
            public string VehicleType { get; set; }
            public string VehicleSubType { get; set; }
            public string VehicleRequestFormType { get; set; }
            public DateTime AddedAt { get; set; }
            public string AddedBy { get; set; }
            public string Priority { get; set; }
            public DateTime BookingStartDateTime { get; set; }
            public DateTime BookingEndDateTime { get; set; }
            public int OriginSite { get; set; }
            public int? DestinationSite { get; set; }
            public string Remarks { get; set; }
            public bool IsSupplierExist { get; set; }
            public int SupplierId { get; set; }
            public DateTime EstimatedAvailableDateTime { get; set; }
            public int VehicleId { get; set; }
            public string Status { get; set; }
            public string CompletionRemarks { get; set; }
            public string ApprovedBy { get; set; }
            public DateTime ApprovedAt { get; set; }
            public DateTime? CancelledAt { get; set; }
            public string CancelledBy { get; set; }
            public string CancelledRemarks { get; set; }
            public string CompletedBy { get; set; }
            public string JourneyRemarks { get; set; }
            public DateTime? CompletedAt { get; set; }
            public string AssignedBy { get; set; }
            public string VehicleRegistrationNumber { get; set; }
            public string OriginCoordinates { get; set; }
            public string DestinationCoordinates { get; set; }
            public string PersonalVehicleRegistrationNo { get; set; }
            public string EntityCostCenter { get; set; }
            public object Requestor { get; set; }
            public FmsVehicle FmsVehicle { get; set; }
            public object DriverDetail { get; set; }
            public object PassengerDetails { get; set; }
            public object Files { get; set; }
            public object UploadedDocuments { get; set; }
        }

        public class LoadingVehicleWeightInfo
        {
            public int Id { get; set; }
            public int Type { get; set; }
            public string VehicleRequestCode { get; set; }
            public int? DeadWeight { get; set; } // Nullable int
            public int? FinalWeight { get; set; } // Nullable int
            public int? UserId { get; set; } // Nullable int
            public int? NetWeight { get; set; } // Nullable int
            public string Comment { get; set; } // Nullable string
            public DateTime? DeadWeightDateTime { get; set; }   // Nullable DateTime
            public DateTime? FinalWeightDateTime { get; set; } // Nullable DateTime
            public string productCode { get; set; }
            public string partyCode { get; set; }
            public string transporterCode { get; set; }

            public string VehicleNo { get; set; }
            public string ContainerNo { get; set; }
        }


    }
}
