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