public OperationalReportDto Put(int id, [FromBody] OperationalReportDto dto) { var entity = repository.Get <MaintenanceObject>(id); var report = entity.Report; report.StartMaintenance = dto.StartMaintenance; report.EndMaintenance = dto.EndMaintenance; report.UsageBeforeMaintenance = dto.UsageBeforeMaintenance; report.UsageAfterMaintenance = dto.UsageAfterMaintenance; report.State = dto.State; report.OfferForPlan = dto.OfferForPlan == null? null : repository.Get <MaintenanceType>(dto.OfferForPlan.Value); report.ReasonForOffer = dto.ReasonForOffer == null? null: repository.Get <MaintenanceReason>(dto.ReasonForOffer.Value); report.UnplannedReason = dto.UnplannedReason == null? null: repository.Get <MaintenanceReason>(dto.UnplannedReason.Value); report.ActualMaintenanceType = dto.ActualMaintenanceType == null ? null : repository.Get <MaintenanceType>(dto.ActualMaintenanceType.Value); repository.Save(entity); return(query.FindOperationalReportByObjectId(entity.Id)); }