public UpdateCalendarResponse UpdateBranchCalendar(UpdateBranchCalendarRequest request) { var stopwatch = System.Diagnostics.Stopwatch.StartNew(); UpdateCalendarResponse response = new UpdateCalendarResponse(); Logger.Info(_logMsg.Clear().SetPrefixMsg("Call BranchService.UpdateBranchCalendar").ToInputLogString()); Logger.Debug("I:--START--:--BranchService.UpdateBranchCalendar--"); try { bool valid = false; _commonFacade = new CommonFacade(); if (request.Header != null) { valid = _commonFacade.VerifyServiceRequest <Header>(request.Header); response.Header = new Header { reference_no = request.Header.reference_no, service_name = request.Header.service_name, system_code = request.Header.system_code, transaction_date = request.Header.transaction_date }; } Logger.DebugFormat("-- XMLRequest --\n{0}", request.SerializeObject()); var auditLog = new AuditLogEntity(); auditLog.Module = Constants.Module.WebService; auditLog.Action = Constants.AuditAction.CreateBranch; auditLog.IpAddress = ApplicationHelpers.GetClientIP(); if (!valid) { response.StatusResponse = new StatusResponse() { ErrorCode = Constants.ErrorCode.CSMCalendar001, Status = Constants.StatusResponse.Failed, Description = "Bad Request, the header is not valid" }; return(response); } else { #region == Validate Require Field == if (string.IsNullOrEmpty(request.HolidayDesc)) { response.StatusResponse = new StatusResponse() { ErrorCode = Constants.ErrorCode.CSMCalendar002, Status = Constants.StatusResponse.Failed, Description = "ข้อมูลที่ส่งมาไม่ครบถ้วน ไม่สามารถบันทึกรายการได้ (Field=HolidateDesc)" }; return(response); } if (request.UpdateMode != 1 && request.UpdateMode != 2) { response.StatusResponse = new StatusResponse() { ErrorCode = Constants.ErrorCode.CSMCalendar002, Status = Constants.StatusResponse.Failed, Description = "ข้อมูลที่ไม่สามารถบันทึกรายการได้ เนื่องจากข้อมูลที่ส่งมาอยู่ในรูปแบบไม่ถูกต้อง (UpdateMode ต้องมีค่า 1 (Delete and Insert) หรือ 2 (Merge) เท่านั้น)" }; return(response); } #endregion #region == Validate Code == var branchDataAccess = new BranchDataAccess(_context); var branchCodes = request.BranchCodeList; var branchIds = new List <int>(); if (request.BranchCodeList != null) { var branchCodeNotFoundList = new List <string>(); foreach (var code in branchCodes) { var branchId = branchDataAccess.GetBranchIdByBranchCode(code); if (branchId == null) { branchCodeNotFoundList.Add(code); } else { branchIds.Add(branchId.Value); } } //ถ้าlist ของ branch code ที่ไม่มีเบส CSM มากกว่า 0 ให้ส่ง code list กลับไป if (branchCodeNotFoundList.Count > 0) { response.StatusResponse = new StatusResponse() { ErrorCode = Constants.ErrorCode.CSMCalendar004, Status = Constants.StatusResponse.Failed, BranchCodeNotFoundList = branchCodeNotFoundList, Description = string.Format(CultureInfo.InvariantCulture, "ข้อมูลที่ไม่สามารถบันทึกรายการได้ เนื่องจากไม่พบ Branch Code ในฐานข้อมูล") }; return(response); } } else { request.BranchCodeList = new List <string>(); } #endregion var result = branchDataAccess.UpdateBranchCalendar(request, branchIds); if (result.IsSuccess) { response.StatusResponse = new StatusResponse { ErrorCode = string.Empty, Status = Constants.StatusResponse.Success, Description = "Save successful" }; } else { response.StatusResponse = new StatusResponse { ErrorCode = Constants.ErrorCode.CSMCalendar003, Status = Constants.StatusResponse.Failed, Description = result.ErrorMessage }; AppLog.AuditLog(auditLog, LogStatus.Fail, response.StatusResponse.Description); } } } catch (Exception ex) { Logger.Error("Exception occur:\n", ex); response.StatusResponse = new StatusResponse { ErrorCode = Constants.ErrorCode.CSMBranch004, Status = Constants.StatusResponse.Failed, Description = ex.ToString() }; } finally { Logger.DebugFormat("-- XMLResponse --\n{0}", response.SerializeObject()); stopwatch.Stop(); Logger.DebugFormat("O:--Finish--:ElapsedMilliseconds/{0}", stopwatch.ElapsedMilliseconds); } return(response); }
public UpdateCalendarResponse UpdateCalendar(UpdateCalendarRequest request) { UpdateCalendarResponse response = new UpdateCalendarResponse(); response.ExceptionState = false; Calendar calendar = new Calendar(); calendar.Id = request.Id; calendar.Name = request.Name.ToUpper(new CultureInfo("tr-TR")); calendar.Description = request.Description.ToUpper(new CultureInfo("tr-TR")); if (calendar.Name != _calendarRepository.FindBy(request.Id).Name) { Query query = new Query(); query.Add(Criterion.Create<Calendar>(c => c.Name, request.Name, CriteriaOperator.Equal)); if (_calendarRepository.FindBy(query).Count() > 0) { response.ExceptionState = true; response.ExceptionMessage = @"Bu isimde bir takvim zaten var. Lütfen takvim adını benzersiz bir isim olarak düzenleyin."; response.Calendar = calendar.ConvertToCalendarView(); return response; } } _calendarRepository.Save(calendar); _unitOfWork.Commit(); response.Calendar = calendar.ConvertToCalendarView(); return response; }