public void Update( int markId, MarkOperatingConditionsUpdateRequest markOperatingConditions) { if (markOperatingConditions == null) { throw new ArgumentNullException(nameof(markOperatingConditions)); } var foundMarkOperatingConditions = _repository.GetByMarkId(markId); if (foundMarkOperatingConditions == null) { throw new ArgumentNullException(nameof(foundMarkOperatingConditions)); } if (markOperatingConditions.SafetyCoeff != null) { foundMarkOperatingConditions.SafetyCoeff = markOperatingConditions.SafetyCoeff.GetValueOrDefault(); } if (markOperatingConditions.Temperature != null) { foundMarkOperatingConditions.Temperature = markOperatingConditions.Temperature.GetValueOrDefault(); } if (markOperatingConditions.EnvAggressivenessId != null) { var envAggressiveness = _envAggressivenessRepo.GetById( markOperatingConditions.EnvAggressivenessId.GetValueOrDefault()); if (envAggressiveness == null) { throw new ArgumentNullException(nameof(envAggressiveness)); } foundMarkOperatingConditions.EnvAggressiveness = envAggressiveness; } if (markOperatingConditions.OperatingAreaId != null) { var operatingArea = _operatingAreaRepo.GetById( markOperatingConditions.OperatingAreaId.GetValueOrDefault()); if (operatingArea == null) { throw new ArgumentNullException(nameof(operatingArea)); } foundMarkOperatingConditions.OperatingArea = operatingArea; } if (markOperatingConditions.GasGroupId != null) { var gasGroup = _gasGroupRepo.GetById( markOperatingConditions.GasGroupId.GetValueOrDefault()); if (gasGroup == null) { throw new ArgumentNullException(nameof(gasGroup)); } foundMarkOperatingConditions.GasGroup = gasGroup; } if (markOperatingConditions.ConstructionMaterialId != null) { var constructionMaterial = _constructionMaterialRepo.GetById( markOperatingConditions.ConstructionMaterialId.GetValueOrDefault()); if (constructionMaterial == null) { throw new ArgumentNullException(nameof(constructionMaterial)); } foundMarkOperatingConditions.ConstructionMaterial = constructionMaterial; } if (markOperatingConditions.PaintworkTypeId != null) { var paintworkType = _paintworkTypeRepo.GetById (markOperatingConditions.PaintworkTypeId.GetValueOrDefault()); if (paintworkType == null) { throw new ArgumentNullException(nameof(paintworkType)); } foundMarkOperatingConditions.PaintworkType = paintworkType; } if (markOperatingConditions.HighTensileBoltsTypeId != null) { var highTensileBoltsType = _highTensileBoltsTypeRepo.GetById( markOperatingConditions.HighTensileBoltsTypeId.GetValueOrDefault()); if (highTensileBoltsType == null) { throw new ArgumentNullException(nameof(highTensileBoltsType)); } foundMarkOperatingConditions.HighTensileBoltsType = highTensileBoltsType; } _repository.Update(foundMarkOperatingConditions); var foundMark = _markRepo.GetById(markId); foundMark.EditedDate = DateTime.Now; _markRepo.Update(foundMark); }