public async Task <Vehicle> PostVehicle(Vehicle vehicle) { var company = await this._context.Companies.FindAsync(vehicle.CompanyId); var driver = !string.IsNullOrWhiteSpace(vehicle.DriverId) ? await this._context.Drivers.FindAsync(vehicle.DriverId) : null; var newVehicle = new Data.Models.Vehicle { VIN = vehicle.VIN, PlateNumber = vehicle.PlateNumber, Type = vehicle.Type, Brand = vehicle.Brand, ProductionYear = vehicle.ProductionYear, Model = vehicle.Model, Company = company, Driver = driver, }; var addedVehicle = this._context.Vehicles.Add(newVehicle); await this._context.SaveChangesAsync(); var mappedVehicle = this._mapper.Map <Data.Models.Vehicle, Vehicle>(addedVehicle); return(await Task.Run(() => mappedVehicle)); }
public static VMS.Data.Models.Vehicle ToVehicleModel(this ViewModels.VehicleViewModel vehicle) { var model = new Data.Models.Vehicle(); model.Id = vehicle.Id; model.VehicleTypeId = vehicle.VehicleTypeId; model.Make = vehicle.Make; model.Model = vehicle.Model; model.AttributeValues = new System.Collections.Generic.List <Data.Models.AttributeValue>(); vehicle.Attributes.ForEach(q => { model.AttributeValues.Add(new Data.Models.AttributeValue() { AttributeId = int.Parse(q.Key), Value = q.Value, VehicleId = vehicle.Id }); }); return(model); }