Beispiel #1
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidateInput())
                {
                    var isConnectWsSuccess = false;
                    if (AppConstant.CSMServiceEnableSyncCalendar)
                    {
                        try
                        {
                            //send data to webservice
                            var updateBranchCalendarRequest = new UpdateBranchCalendarRequest();
                            updateBranchCalendarRequest.Header = new WebServiceHeader();
                            updateBranchCalendarRequest.Header.service_name = "CSMBranchService";
                            updateBranchCalendarRequest.Header.user_name    = "SLM";
                            updateBranchCalendarRequest.Header.system_code  = "SLM";
                            updateBranchCalendarRequest.Header.password     = "******";
                            updateBranchCalendarRequest.Header.command      = "UpdateBranchCalendar";
                            updateBranchCalendarRequest.HolidayDate         = tdmHolidayDatePopup.DateValue;
                            updateBranchCalendarRequest.HolidayDesc         = txtHolidayDescPopup.Text.Trim();
                            updateBranchCalendarRequest.BranchCodeList      = GetSelectedNewBranchCode().ToArray();
                            updateBranchCalendarRequest.ActionUsername      = HttpContext.Current.User.Identity.Name;
                            updateBranchCalendarRequest.UpdateMode          = cbEdit.Checked ? 1 : 2;

                            //logging
                            _log.Info("===== [Start] Call WS Submit Staff Data to CSM: InsertOrUpdateBranchCalendar =====");
                            _log.Debug("===== [START] Request Parameter =====");
                            _log.Debug("HolidayDate=" + updateBranchCalendarRequest.HolidayDate);
                            _log.Debug("HolidayDesc=" + updateBranchCalendarRequest.HolidayDesc);
                            _log.Debug("BranchCodeList=" + updateBranchCalendarRequest.BranchCodeList);
                            _log.Debug("ActionUsername="******"UpdateMode=" + updateBranchCalendarRequest.UpdateMode);
                            _log.Debug("===== [END] Request Parameter =====");

                            var start = DateTime.Now;
                            _log.DebugFormat("Start Call InsertOrUpdateBranchCalendar at {0:dd/MM/yyyy HH:mm:ss}", start);

                            var csmBranchService = new CSMBranchServiceClient();
                            var response         = csmBranchService.UpdateBranchCalendar(updateBranchCalendarRequest);
                            isConnectWsSuccess = true;

                            var stop = DateTime.Now;
                            _log.DebugFormat("End Call InsertOrUpdateBranchCalendar at {0:dd/MM/yyyy HH:mm:ss} (Elapsed Time={1} seconds)", stop, stop.Subtract(start).TotalSeconds);

                            if (response.StatusResponse.Status == "SUCCESS")
                            {
                                _log.Info("===== [End] Call WS Submit Staff Data to CSM: InsertOrUpdateBranchCalendar (SUCCESS) =====");
                                _log.Debug("===== [START] Response Data =====");
                                _log.Debug("IsSuccess=" + response.StatusResponse.Status);
                                _log.Debug("ErrorCode=" + response.StatusResponse.ErrorCode);
                                _log.Debug("ErrorMessage=" + response.StatusResponse.Description);
                                _log.Debug("===== [END] Response Data =====");
                            }
                            else if (response.StatusResponse.Status == "FAILED")
                            {
                                _log.Error("===== [End] Call WS Submit Staff Data to CSM: InsertOrUpdateBranchCalendar (FAIL) =====");
                                _log.Error("===== [START] Response Data =====");
                                _log.Error("IsSuccess=" + response.StatusResponse.Status);
                                _log.Error("ErrorCode=" + response.StatusResponse.ErrorCode);
                                _log.Error("ErrorMessage=" + response.StatusResponse.Description);
                                _log.Error("===== [END] Response Data =====");
                            }

                            if (response.StatusResponse.Status == "FAILED")
                            {
                                if (response.StatusResponse.ErrorCode == "004") // ไม่พบ branch ที่ CSM แสดง error message branch code และ branch name
                                {
                                    var errorMessage = new StringBuilder();
                                    var count        = 0;
                                    foreach (var branchCode in response.StatusResponse.BranchCodeNotFoundList)
                                    {
                                        //displat last format
                                        if (count >= 0 && count <= 4)
                                        {
                                            errorMessage.AppendFormat("{0} :สาขา{1}\r\n", branchCode, BranchBiz.GetBranchNameNew(branchCode));
                                        }
                                        else if (count == 5)
                                        {
                                            errorMessage.Append("...\r\n");
                                        }

                                        count++;
                                    }

                                    throw new Exception(string.Format("การบันทึกข้อมูลไม่สำเร็จที่ระบบ CSM \r\n Error Message: ข้อมูลที่ไม่สามารถบันทึกรายการได้ เนื่องจากไม่พบ \r\n{0} ในฐานข้อมูล", errorMessage));
                                }

                                throw new Exception(string.Format("{0} \r\nError Message : {1}", "การบันทึกข้อมูลไม่สำเร็จที่ ระบบ CSM", !string.IsNullOrEmpty(response.StatusResponse.Description) ? response.StatusResponse.Description : string.Empty));
                            }
                        }
                        catch (Exception wsex)
                        {
                            _log.Error("===== [End] Call WS Submit Staff Data to CSM: InsertOrUpdateBranchCalendar (FAIL with Exception) =====", wsex);
                            _log.Error("===== [START] FAIL with Exception =====");
                            _log.Error("ErrorMessage=" + (!string.IsNullOrEmpty(wsex.ToString()) ? wsex.ToString() : "การบันทึกข้อมูลไม่สำเร็จเนื่องจากไม่สามารถเชื่อมต่อระบบ CSM"));
                            _log.Error("===== [END] FAIL with Exception =====");
                            if (!isConnectWsSuccess)
                            {
                                throw new Exception("การบันทึกข้อมูลไม่สำเร็จเนื่องจากไม่สามารถเชื่อมต่อระบบ CSM");
                            }
                            else
                            {
                                mpePopup.Show();
                                throw wsex;
                            }
                        }
                    }

                    if (cbEdit.Checked)
                    {
                        CalendarBranchBiz.UpdateData(tdmHolidayDatePopup.DateValue, txtHolidayDescPopup.Text.Trim(), GetSelectedBranchCode(), HttpContext.Current.User.Identity.Name);
                    }
                    else
                    {
                        CalendarBranchBiz.InsertData(tdmHolidayDatePopup.DateValue, txtHolidayDescPopup.Text.Trim(), GetSelectedBranchCode(), HttpContext.Current.User.Identity.Name);
                    }

                    AppUtil.ClientAlert(Page, "บันทึกข้อมูลเรียบร้อย");

                    ClearPopupControl();
                    mpePopup.Hide();

                    DoSearchCalendarBranch(0);
                }
                else
                {
                    mpePopup.Show();
                }
            }
            catch (Exception ex)
            {
                string message = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                _log.Error(message);
                AppUtil.ClientAlert(Page, message);
            }
        }
Beispiel #2
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidateInput())
                {
                    var isConnectWsSuccess = false;
                    var isShowException    = false;


                    //check recursive branch
                    if (!BranchBiz.CheckRecurviceBranch(txtBranchCodeIdPopup.Text.Trim(), cmbUpperBranchPopup.SelectedItem.Value))
                    {
                        isShowException = true;
                        throw new Exception("SLM : การบันทึกข้อมูลไม่สำเร็จเนื่องจากพบ Recursive Upper Branch");
                    }

                    //check duplicate name , code
                    if (cbEdit.Checked)
                    {
                        //edit
                        if (!BranchBiz.CheckDuplicateBranchNameForEdit(txtBranchCodeIdPopup.Text.Trim(), txtBranchNamePopup.Text.Trim()))
                        {
                            isShowException = true;
                            throw new Exception(txtBranchNamePopup.Text.Trim() + " มีในระบบแล้ว");
                        }
                    }
                    else
                    {
                        if (!BranchBiz.CheckDuplicateBranchCode(txtBranchCodePopup.Text.Trim()))
                        {
                            isShowException = true;
                            throw new Exception("SLM : รหัสสาขา " + txtBranchCodePopup.Text.Trim() + " มีในระบบแล้ว");
                        }

                        if (!BranchBiz.CheckDuplicateBranchName(txtBranchNamePopup.Text.Trim()))
                        {
                            isShowException = true;
                            throw new Exception("SLM : " + txtBranchNamePopup.Text.Trim() + " มีในระบบแล้ว");
                        }
                    }

                    if (AppConstant.CSMServiceEnableSyncBranch)
                    {
                        try
                        {
                            //send data to webservice
                            var insertOrUpdateBranchRequest = new InsertOrUpdateBranchRequest();
                            insertOrUpdateBranchRequest.Header = new WebServiceHeader();
                            insertOrUpdateBranchRequest.Header.service_name = "CSMBranchService";
                            insertOrUpdateBranchRequest.Header.user_name    = "SLM";
                            insertOrUpdateBranchRequest.Header.system_code  = "SLM";
                            insertOrUpdateBranchRequest.Header.password     = "******";
                            insertOrUpdateBranchRequest.Header.command      = "InsertOrUpdateBranch";
                            insertOrUpdateBranchRequest.BranchCode          = txtBranchCodePopup.Text.Trim();
                            insertOrUpdateBranchRequest.BranchName          = txtBranchNamePopup.Text.Trim();
                            insertOrUpdateBranchRequest.Status      = Convert.ToInt16(rbActive.Checked);
                            insertOrUpdateBranchRequest.ChannelCode = cmbChannelPopup.SelectedItem.Value;
                            //                            insertOrUpdateBranchRequest.UpperBranchCode = cmbUpperBranchPopup.SelectedItem.Value;
                            insertOrUpdateBranchRequest.UpperBranchCode = BranchBiz.GetBranchCodeNew(cmbUpperBranchPopup.SelectedItem.Value);
                            insertOrUpdateBranchRequest.StartTimeHour   = Convert.ToInt32(txtWorkStartHourPopup.Text.Trim());
                            insertOrUpdateBranchRequest.StartTimeMinute = Convert.ToInt32(txtWorkStartMinPopup.Text.Trim());
                            insertOrUpdateBranchRequest.EndTimeHour     = Convert.ToInt32(txtWorkEndHourPopup.Text.Trim());
                            insertOrUpdateBranchRequest.EndTimeMinute   = Convert.ToInt32(txtWorkEndMinPopup.Text.Trim());
                            insertOrUpdateBranchRequest.ActionUsername  = HttpContext.Current.User.Identity.Name;
                            insertOrUpdateBranchRequest.HomeNo          = txtAddressNo.Text;
                            insertOrUpdateBranchRequest.Moo             = txtMoo.Text;
                            insertOrUpdateBranchRequest.Building        = txtBuilding.Text;
                            insertOrUpdateBranchRequest.Floor           = txtFloor.Text;
                            insertOrUpdateBranchRequest.Soi             = txtLane.Text;
                            insertOrUpdateBranchRequest.Street          = txtStreet.Text;
                            insertOrUpdateBranchRequest.Province        = cmbProvince.SelectedValue;
                            insertOrUpdateBranchRequest.Amphur          = cmbAmphur.SelectedValue;
                            insertOrUpdateBranchRequest.Tambol          = cmbTambol.SelectedValue;
                            insertOrUpdateBranchRequest.Zipcode         = txtZipCode.Text;
                            insertOrUpdateBranchRequest.Command         = cbEdit.Checked;

                            //Logging
                            _log.Info("===== [Start] Call WS Submit Staff Data to CSM: InsertOrUpdateBranch =====");
                            _log.Debug("===== [START] Request Parameter =====");
                            _log.Debug("BranchCode=" + insertOrUpdateBranchRequest.BranchCode);
                            _log.Debug("BranchName=" + insertOrUpdateBranchRequest.BranchName);
                            _log.Debug("Status=" + insertOrUpdateBranchRequest.Status);
                            _log.Debug("ChannelCode=" + insertOrUpdateBranchRequest.ChannelCode);
                            _log.Debug("UpperBranchCode=" + insertOrUpdateBranchRequest.UpperBranchCode);
                            _log.Debug("StartTimeHour=" + insertOrUpdateBranchRequest.StartTimeHour);
                            _log.Debug("StartTimeMinute=" + insertOrUpdateBranchRequest.StartTimeMinute);
                            _log.Debug("EndTimeHour=" + insertOrUpdateBranchRequest.EndTimeHour);
                            _log.Debug("EndTimeMinute=" + insertOrUpdateBranchRequest.EndTimeMinute);
                            _log.Debug("ActionUsername="******"HomeNo=" + insertOrUpdateBranchRequest.HomeNo);
                            _log.Debug("Moo=" + insertOrUpdateBranchRequest.Moo);
                            _log.Debug("Building=" + insertOrUpdateBranchRequest.Building);
                            _log.Debug("Floor=" + insertOrUpdateBranchRequest.Floor);
                            _log.Debug("Soi=" + insertOrUpdateBranchRequest.Soi);
                            _log.Debug("Street=" + insertOrUpdateBranchRequest.Street);
                            _log.Debug("Province=" + insertOrUpdateBranchRequest.Province);
                            _log.Debug("Amphur=" + insertOrUpdateBranchRequest.Amphur);
                            _log.Debug("Tambol=" + insertOrUpdateBranchRequest.Tambol);
                            _log.Debug("Zipcode=" + insertOrUpdateBranchRequest.Zipcode);
                            _log.Debug("===== [END] Request Parameter =====");

                            var start = DateTime.Now;
                            _log.DebugFormat("Start Call InsertOrUpdateBranch at {0:dd/MM/yyyy HH:mm:ss}", start);


                            var csmBranchService = new CSMBranchServiceClient();
                            var response         = csmBranchService.InsertOrUpdateBranch(insertOrUpdateBranchRequest);
                            isConnectWsSuccess = true;

                            var stop = DateTime.Now;
                            _log.DebugFormat("End Call InsertOrUpdateBranch at {0:dd/MM/yyyy HH:mm:ss} (Elapsed Time={1} seconds)", stop, stop.Subtract(start).TotalSeconds);

                            if (response.StatusResponse.Status == "SUCCESS")
                            {
                                _log.Info("===== [End] Call WS Submit Staff Data to CSM: InsertOrUpdateBranch (SUCCESS) =====");
                                _log.Debug("===== [START] Response Data =====");
                                _log.Debug("IsSuccess=" + response.StatusResponse.Status);
                                _log.Debug("ErrorCode=" + response.StatusResponse.ErrorCode);
                                _log.Debug("ErrorMessage=" + response.StatusResponse.Description);
                                _log.Debug("===== [END] Response Data =====");
                            }
                            else if (response.StatusResponse.Status == "FAILED")
                            {
                                _log.Error("===== [End] Call WS Submit Staff Data to CSM: InsertOrUpdateBranch (FAIL) =====");
                                _log.Error("===== [START] Response Data =====");
                                _log.Error("IsSuccess=" + response.StatusResponse.Status);
                                _log.Error("ErrorCode=" + response.StatusResponse.ErrorCode);
                                _log.Error("ErrorMessage=" + response.StatusResponse.Description);
                                _log.Error("===== [END] Response Data =====");
                            }

                            if (response.StatusResponse.Status == "FAILED")
                            {
                                throw new Exception(string.Format("{0} \r\nError Message : {1}", "การบันทึกข้อมูลไม่สำเร็จที่ ระบบ CSM", !string.IsNullOrEmpty(response.StatusResponse.Description) ? response.StatusResponse.Description : string.Empty));
                            }
                        }
                        catch (Exception wsex)
                        {
                            _log.Error("===== [End] Call WS Submit Staff Data to CSM: InsertOrUpdateBranch (FAIL with Exception) =====", wsex);
                            _log.Error("===== [START] FAIL with Exception =====");
                            _log.Error("ErrorMessage=" + (!string.IsNullOrEmpty(wsex.ToString()) ? wsex.ToString() : "การบันทึกข้อมูลไม่สำเร็จเนื่องจากไม่สามารถเชื่อมต่อระบบ CSM"));
                            _log.Error("===== [END] FAIL with Exception =====");
                            if (isShowException)
                            {
                                throw wsex;
                            }

                            if (!isConnectWsSuccess)
                            {
                                throw new Exception("การบันทึกข้อมูลไม่สำเร็จเนื่องจากไม่สามารถเชื่อมต่อระบบ CSM");
                            }
                            else
                            {
                                throw wsex;
                            }
                        }
                    }

                    if (cbEdit.Checked)
                    {
                        BranchBiz.UpdateData(txtBranchCodeOldPopup.Text.Trim(), txtBranchCodePopup.Text.Trim(), txtBranchNamePopup.Text.Trim(), txtWorkStartHourPopup.Text.Trim(), txtWorkStartMinPopup.Text.Trim(), txtWorkEndHourPopup.Text.Trim(), txtWorkEndMinPopup.Text.Trim(), cmbUpperBranchPopup.SelectedItem.Value, cmbChannelPopup.SelectedItem.Value, rbActive.Checked, HttpContext.Current.User.Identity.Name
                                             , txtAddressNo.Text, txtMoo.Text, txtBuilding.Text, txtFloor.Text, txtLane.Text, txtStreet.Text, AppUtil.SafeInt(cmbTambol.SelectedValue), AppUtil.SafeInt(cmbAmphur.SelectedValue), AppUtil.SafeInt(cmbProvince.SelectedValue), txtZipCode.Text);
                    }
                    else
                    {
                        string internalBranchCode = BranchBiz.InsertData(txtBranchCodePopup.Text.Trim(), txtBranchNamePopup.Text.Trim(), txtWorkStartHourPopup.Text.Trim(), txtWorkStartMinPopup.Text.Trim(), txtWorkEndHourPopup.Text.Trim(), txtWorkEndMinPopup.Text.Trim(), cmbUpperBranchPopup.SelectedItem.Value, cmbChannelPopup.SelectedItem.Value, rbActive.Checked, HttpContext.Current.User.Identity.Name
                                                                         , txtAddressNo.Text, txtMoo.Text, txtBuilding.Text, txtFloor.Text, txtLane.Text, txtStreet.Text, AppUtil.SafeInt(cmbTambol.SelectedValue), AppUtil.SafeInt(cmbAmphur.SelectedValue), AppUtil.SafeInt(cmbProvince.SelectedValue), txtZipCode.Text);

                        InsertBranchRole(internalBranchCode);
                    }

                    AppUtil.ClientAlert(Page, "บันทึกข้อมูลเรียบร้อย");

                    ClearPopupControl();
                    mpePopup.Hide();

                    DoSearchBranch(0);
                }
                else
                {
                    mpePopup.Show();
                }
            }
            catch (Exception ex)
            {
                mpePopup.Show();
                string message = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                _log.Error(message);
                AppUtil.ClientAlert(Page, message);
            }
        }