Exemple #1
0
        public async Task <IActionResult> ZoneAreaUpdateAsync(ZoneAreaUpdateRequest req)
        {
            req.ZoneArea.UpdatedBy = User.CurrentUserName();
            var result = await _zoneAreaManager.UpdateZoneAreaAsync(req);

            return(Ok(result));
        }
        public async Task <ZoneAreaUpdateResponse> UpdateZoneAreaAsync(ZoneAreaUpdateRequest req)
        {
            var result         = new ZoneAreaUpdateResponse();
            var validateResult = await ValidateModel(req);

            if (validateResult != null && validateResult.Any())
            {
                result.HasError  = true;
                result.ErrorMsgs = validateResult;
                return(result);
            }
            req.ZoneArea.UpdatedDate = DateTime.Today;
            return(await _repos.UpdateZoneAreaAsync(req));
        }
        private async Task <IList <ErrorDTO> > ValidateModel(ZoneAreaUpdateRequest req)
        {
            var result         = new List <ErrorDTO>();
            var existingRecord = await _repos.GetZoneAreaByZoneAreaNameAsync(req.ZoneArea.Zone, req.ZoneArea.Name);

            if (existingRecord != null)
            {
                if (req.ZoneArea.Id <= 0)
                {
                    result.Add(new ErrorDTO {
                        ErrorMsg = "Duplicate Zone Detected."
                    });
                }
                else if (req.ZoneArea.Id > 0 && existingRecord != null && existingRecord.Id != req.ZoneArea.Id)
                {
                    result.Add(new ErrorDTO {
                        ErrorMsg = "Duplicate Zone Detected."
                    });
                }
            }
            if (string.IsNullOrWhiteSpace(req.ZoneArea.Zone))
            {
                result.Add(new ErrorDTO {
                    ErrorMsg = "Zone is Required"
                });
            }
            if (!string.IsNullOrWhiteSpace(req.ZoneArea.Zone) && req.ZoneArea.Zone.Length > 1)
            {
                result.Add(new ErrorDTO {
                    ErrorMsg = "Zone is limitted to 1 characters."
                });
            }
            if (string.IsNullOrWhiteSpace(req.ZoneArea.Name))
            {
                result.Add(new ErrorDTO {
                    ErrorMsg = "Name is Required"
                });
            }
            if (!string.IsNullOrWhiteSpace(req.ZoneArea.Name) && req.ZoneArea.Name.Length > 100)
            {
                result.Add(new ErrorDTO {
                    ErrorMsg = "Name is limitted to 100 characters."
                });
            }
            return(result);
        }
        public async Task <ZoneAreaUpdateResponse> UpdateZoneAreaAsync(ZoneAreaUpdateRequest req)
        {
            using (var conn = new SqlConnection(_connectionSettings.DefaultConnection))
            {
                var          result    = new ZoneAreaUpdateResponse();
                const string storeproc = @"[dbo].[uspAreasUpdate_New]";
                await conn.OpenAsync();

                var dynParm = new
                {
                    req.ZoneArea.Id,
                    req.ZoneArea.Zone,
                    req.ZoneArea.Name,
                    req.ZoneArea.UpdatedBy,
                    req.ZoneArea.UpdatedDate
                };
                var rawResult = await conn.QueryAsync <ZoneAreaDTO>(storeproc, dynParm, null, null, CommandType.StoredProcedure);

                result.Data = rawResult.FirstOrDefault();
                return(result);
            }
        }