public Guid SavePump(PumpDataModel data, SaveMode saveMode) { var pump = pumpRepository.Get(data.Id); if (saveMode == SaveMode.CreateNew) { if (pump != null) { throw new DataValidationException(MessageResource.Error_InsertDuplicateKey); } pump = new Pump(); pump.Id = Guid.NewGuid(); pumpRepository.Add(pump); } else { if (pump == null) { throw new DataValidationException(MessageResource.Error_DataNotFoundForUpdate, "Pump"); } } var isDup = pumpRepository.GetAll().Where(t => t.Id != pump.Id && t.Name == data.Name).Any(); if (isDup) { throw new DataValidationException(MessageResource.Error_UpdateDuplicateUniqeField, "Name"); } if (data.ConnectionId.HasValue && !connectionRepository.IsExist(data.ConnectionId)) { throw new DataValidationException(MessageResource.Error_ReferenceDataNotExist, "Connection"); } if (data.LocationId.HasValue && !locationRepository.IsExist(data.LocationId)) { throw new DataValidationException(MessageResource.Error_ReferenceDataNotExist, "Location"); } if (data.PumpModelId.HasValue && !pumpModelRepository.IsExist(data.PumpModelId)) { throw new DataValidationException(MessageResource.Error_ReferenceDataNotExist, "Model"); } pump.ConnectionId = data.ConnectionId; pump.DatabaseNaming = data.DatabaseNaming; pump.Description = data.Description; pump.IsActive = data.IsActive; pump.LocationId = data.LocationId; pump.Name = data.Name; pump.PumpModelId = data.PumpModelId; unitOfWork.SaveChanges(); return(pump.Id); }
public IActionResult SaveUpdatePump(PumpDataModel data) { var id = pumpService.SavePump(data, SaveMode.Update); return(Ok(new SuccessResult(new { Id = id }, MessageResource.Msg_UpdateComplete))); }