public async Task <CostoServizioDetailViewModel> EditCostoServizioAsync(CostoServizioEditInputModel inputModel) { Costo costo = await dbContext.Costi.FindAsync(inputModel.Id); if (costo == null) { logger.LogWarning("Costo del servizio {id} non trovato", inputModel.Id); throw new CostoServizioNotFoundException(inputModel.Id); } costo.ChangeTipoServizio(inputModel.TipoServizio); costo.ChangeCostoFisso(inputModel.CostoFisso); costo.ChangeCostoKm(inputModel.CostoKm); costo.ChangeSecondoTrasportato(inputModel.SecondoTrasportato); costo.ChangeFermoMacchina(inputModel.FermoMacchina); costo.ChangeAccompagnatore(inputModel.Accompagnatore); costo.ChangeScontoSoci(inputModel.ScontoSoci); await dbContext.SaveChangesAsync(); return(costo.ToCostoServizioDetailViewModel()); }