public async Task <IActionResult> AgencyUpdateAsync(AgencyUpdateRequest req) { req.Agency.UpdatedBy = User.CurrentUserName(); var result = await _AgencyManager.UpdateAgencyAsync(req); return(Ok(result)); }
private async Task <IList <ErrorDTO> > ValidateModel(AgencyUpdateRequest req) { var result = new List <ErrorDTO>(); var existingRecord = await _repos.GetAgencyByAgencyNameAsync(req.Agency.Name); if (existingRecord != null) { if (req.Agency.Id <= 0) { result.Add(new ErrorDTO { ErrorMsg = "Duplicate Case Type Detected." }); } else if (req.Agency.Id > 0 && existingRecord != null && existingRecord.Id != req.Agency.Id) { result.Add(new ErrorDTO { ErrorMsg = "Duplicate Case Type Detected." }); } } if (string.IsNullOrWhiteSpace(req.Agency.Name)) { result.Add(new ErrorDTO { ErrorMsg = "Office Name is Required" }); } if (!string.IsNullOrWhiteSpace(req.Agency.Name) && req.Agency.Name.Length > 100) { result.Add(new ErrorDTO { ErrorMsg = "Office Name is limitted to 100 characters." }); } return(result); }
public async Task <AgencyUpdateResponse> UpdateAgencyAsync(AgencyUpdateRequest req) { var result = new AgencyUpdateResponse(); var validateResult = await ValidateModel(req); if (validateResult != null && validateResult.Any()) { result.HasError = true; result.ErrorMsgs = validateResult; return(result); } req.Agency.UpdatedDate = DateTime.Today; return(await _repos.UpdateAgencyAsync(req)); }
public async Task <AgencyUpdateResponse> UpdateAgencyAsync(AgencyUpdateRequest req) { using (var conn = new SqlConnection(_connectionSettings.DefaultConnection)) { var result = new AgencyUpdateResponse(); const string storeproc = @"[dbo].[uspAgenciesUpdate_New]"; await conn.OpenAsync(); var dynParm = new { req.Agency.Id, req.Agency.Name, req.Agency.UpdatedBy, req.Agency.UpdatedDate }; var rawResult = await conn.QueryAsync <AgencyDTO>(storeproc, dynParm, null, null, CommandType.StoredProcedure); result.Data = rawResult.FirstOrDefault(); return(result); } }