示例#1
0
        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)));
        }