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());
        }