public async Task <VehicleModel> CreateVehicleModel(IVehicleModel <VehicleMake> modelToCreate) { var modelExists = await vehicleModelRespository.ReadModelById(modelToCreate.Id) != null; if (modelExists) { return(null); } var makeEntity = await vehicleMakeRespository.GetById(modelToCreate.Make.Id); var newMakeEntityValues = mapper.Map <VehicleMakeEntity>(modelToCreate.Make); if (makeEntity != null) { await UpdateAsync(newMakeEntityValues); } else { await AddAsync(newMakeEntityValues); } modelToCreate.Make.Id = newMakeEntityValues.Id; var modelEntityToCreate = mapper.Map <VehicleModelEntity>(modelToCreate); await AddAsync(modelEntityToCreate); await CommitAsync(); var createdModel = await vehicleModelRespository.ReadModelById(modelEntityToCreate.Id); return(createdModel); }
public async Task <IVehicleModel <VehicleMake> > ReadVehicleModel(Guid id) { return(await repository.ReadModelById(id)); }