public static VehicleViewModel ToViewModel(this RegiX.Client.ResponseModels.GetMotorVehicleRegistrationInfoV3ResponseTypeResponseResult model) { if (model == null) { return(null); } VehicleViewModel viewModel = new VehicleViewModel { Id = -1, RegistrationNumber = model.VehicleData?.RegistrationNumber, FirstRegistrationDate = (model.VehicleData != null && model.VehicleData.FirstRegistrationDateSpecified) ? DateTime.SpecifyKind(model.VehicleData.FirstRegistrationDate, DateTimeKind.Utc) : default(DateTime?), Vin = model.VehicleData?.VIN, EngineNumber = model.VehicleData?.EngineNumber, VehicleType = model.VehicleData?.VehicleType, Model = model.VehicleData?.Model, TypeApprovalNumber = model.VehicleData?.TypeApprovalNumber, ApprovalType = model.VehicleData?.ApprovalType, TradeDescription = model.VehicleData?.TradeDescription, Color = model.VehicleData?.Color, Category = model.VehicleData?.Category, OffRoadSymbols = model.VehicleData?.OffRoadSymbols, MassG = model.VehicleData?.MassG, MassF1 = model.VehicleData?.MassF1, MassF2 = model.VehicleData?.MassF2, MassF3 = model.VehicleData?.MassF3, VehicleNumOfAxles = model.VehicleData?.VehNumOfAxles, VehicleMassO1 = model.VehicleData?.VehMassO1, VehicleMassO2 = model.VehicleData?.VehMassO2, Capacity = model.VehicleData?.Capacity, MaxPower = model.VehicleData?.MaxPower, Fuel = model.VehicleData?.Fuel, EnvironmentalCategory = model.VehicleData?.EnvironmentalCategory, VehicleDocumentNumber = model.VehicleData?.VehicleDocument?.VehDocumentNumber, VehicleDocumentDate = (model.VehicleData != null && model.VehicleData.VehicleDocument != null && model.VehicleData.VehicleDocument.VehDocumentDateSpecified) ? DateTime.SpecifyKind(model.VehicleData.VehicleDocument.VehDocumentDate, DateTimeKind.Utc) : default(DateTime?), }; if (model.OwnersData != null) { viewModel.Owners = CreateVehicleOwnerViewModels(model.OwnersData); } if (model.UsersData != null) { viewModel.Users = CreateVehicleUserViewModels(model.UsersData); } return(viewModel); }
public static void UpdateEntity(this Data.Vehicle entity, RegiX.Client.ResponseModels.GetMotorVehicleRegistrationInfoV3ResponseTypeResponseResult model) { if (model == null || entity == null) { return; } entity.RegistrationNumber = model.VehicleData?.RegistrationNumber; entity.FirstRegistrationDate = (model.VehicleData != null && model.VehicleData.FirstRegistrationDateSpecified) ? DateTime.SpecifyKind(model.VehicleData.FirstRegistrationDate, DateTimeKind.Utc) : default(DateTime?); entity.Vin = model.VehicleData?.VIN; entity.EngineNumber = model.VehicleData?.EngineNumber; entity.VehicleType = model.VehicleData?.VehicleType; entity.Model = model.VehicleData?.Model; entity.TypeApprovalNumber = model.VehicleData?.TypeApprovalNumber; entity.ApprovalType = model.VehicleData?.ApprovalType; entity.TradeDescription = model.VehicleData?.TradeDescription; entity.Color = model.VehicleData?.Color; entity.Category = model.VehicleData?.Category; entity.OffRoadSymbols = model.VehicleData?.OffRoadSymbols; entity.MassG = model.VehicleData?.MassG; entity.MassF1 = model.VehicleData?.MassF1; entity.MassF2 = model.VehicleData?.MassF2; entity.MassF3 = model.VehicleData?.MassF3; entity.VehicleNumOfAxles = model.VehicleData?.VehNumOfAxles; entity.VehicleMassO1 = model.VehicleData?.VehMassO1; entity.VehicleMassO2 = model.VehicleData?.VehMassO2; entity.Capacity = model.VehicleData?.Capacity; entity.MaxPower = model.VehicleData?.MaxPower; entity.Fuel = model.VehicleData?.Fuel; entity.EnvironmentalCategory = model.VehicleData?.EnvironmentalCategory; entity.VehicleDocumentNumber = model.VehicleData?.VehicleDocument?.VehDocumentNumber; entity.VehicleDocumentDate = (model.VehicleData != null && model.VehicleData.VehicleDocument != null && model.VehicleData.VehicleDocument.VehDocumentDateSpecified) ? DateTime.SpecifyKind(model.VehicleData.VehicleDocument.VehDocumentDate, DateTimeKind.Utc) : default(DateTime?); entity.VehicleOwner = CreateVehicleOwners(entity.Id, model); entity.VehicleUser = CreateVehicleUsers(entity.Id, model); return; }
private static List <VehicleUser> CreateVehicleUsers(long entityId, RegiX.Client.ResponseModels.GetMotorVehicleRegistrationInfoV3ResponseTypeResponseResult model) { List <VehicleUser> list = model.UsersData.Select(x => new VehicleUser { VehicleId = entityId, BulgarianCitizenPin = x.User?.BulgarianCitizen?.PIN, BulgarianCitizenFirstName = x.User?.BulgarianCitizen?.Names?.First, BulgarianCitizenMiddleName = x.User?.BulgarianCitizen?.Names?.Surname, BulgarianCitizenLastName = x.User?.BulgarianCitizen?.Names?.Family, ForeignCitizenPin = x.User?.ForeignCitizen?.PIN, ForeignCitizenPn = x.User?.ForeignCitizen?.PN, ForeignCitizenNamesCyrillic = x.User?.ForeignCitizen?.NamesCyrillic, ForeignCitizenNamesLatin = x.User?.ForeignCitizen?.NamesLatin, ForeignCitizenNationality = x.User?.ForeignCitizen?.Nationality, CompanyId = x.User?.Company?.ID, CompanyName = x.User?.Company?.Name, CompanyNameLatin = x.User?.Company?.NameLatin, }).ToList(); return(list); }