コード例 #1
0
ファイル: CARService.cs プロジェクト: KKPBank/SLM
        public static bool AddCARLog(LogType _logType, string ResponseCode, string ErrorMessage, CARServiceData data, out string error)
        {
            error = "";
            bool ret = true;

            try
            {
                // get config
                string errorCodeResend = SLMConstant.CARLogService.CARErrorCodeResend;
                int    maxResend       = SLMConstant.CARLogService.CARMaxResend;


                // create cas resend item
                CARServiceBiz.CASResendData crr = new CARServiceBiz.CASResendData();
                crr.slm_CasReferenceNo  = data.ReferenceNo;
                crr.slm_CasSystemCode   = data.SystemCode;
                crr.slm_CasServiceName  = data.ServiceName;
                crr.slm_CasLogType      = _logType == LogType.Error ? "E" : "F";
                crr.slm_CasResponse     = ResponseCode;
                crr.slm_CasErrorMessage = ErrorMessage;
                crr.slm_ResendCount     = 0;
                crr.slm_CreatedBy       = data.SystemCode;
                crr.slm_UpdatedBy       = data.SystemCode;


                // set log status
                if (_logType == LogType.Fail)
                {
                    crr.slm_LogStatus = "R";
                }
                else
                {
                    crr.slm_LogStatus = "F";
                    if (!String.IsNullOrEmpty(errorCodeResend))
                    {
                        var codes = errorCodeResend.Replace(" ", "").Split(',');
                        foreach (var code in codes)
                        {
                            if (ResponseCode.Contains(code))
                            {
                                crr.slm_LogStatus = "R";
                            }
                        }
                    }
                }


                // create batch data
                ActivityItem itm = new ActivityItem();
                itm.ReferenceNo      = data.ReferenceNo;
                itm.ActivityDateTime = data.TransactionDateTime;
                itm.ChannelID        = data.ChannelId;

                itm.SubscriptionID     = data.SubscriptionId;
                itm.SubscriptionTypeID = Convert.ToInt32(data.CIFSubscriptionTypeId);
                itm.LeadID             = data.PreleadId;
                itm.TicketID           = data.TicketId;
                itm.SrID             = "";
                itm.ContractID       = data.ContractNo; //Added by Pom 16/06/2016
                itm.ProductGroupID   = data.ProductGroupId;
                itm.ProductID        = data.ProductId;
                itm.CampaignID       = data.CampaignId;
                itm.ActivityTypeID   = data.ActivityTypeId; // ** new
                itm.ActivityTypeName = "";                  // data.ActivityType;   // ** new
                itm.TypeID           = data.TypeId;
                itm.TypeName         = "";                  // data.TypeName;
                itm.AreaID           = data.AreaId;
                itm.AreaName         = "";                  // data.AreaName;
                itm.SubAreaID        = data.SubAreaId;
                itm.SubAreaName      = "";                  // data.SubAreaName;

                itm.Status    = data.Status;
                itm.SubStatus = data.SubStatus;

                itm.OfficerInfoList  = data.OfficerInfoList;
                itm.ContractInfoList = data.ContractInfoList;
                itm.ProductInfoList  = data.ProductInfoList;
                itm.CustomerInfoList = data.CustomerInfoList;
                itm.ActivityInfoList = data.ActivityInfoList;

                XmlSerializer xs = new XmlSerializer(typeof(ActivityItem));
                using (StringWriter sw = new StringWriter())
                {
                    xs.Serialize(sw, itm);
                    crr.slm_CasDetail = sw.ToString();
                }

                CARServiceBiz cbz = new CARServiceBiz();
                if (!cbz.SaveCarResend(crr, maxResend))
                {
                    throw new Exception(cbz.ErrorMessage);
                }
            }
            catch (Exception ex)
            {
                error = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                ret   = false;
            }
            return(ret);
        }
コード例 #2
0
ファイル: Tab009.ascx.cs プロジェクト: KKPBank/SLM
        private void CreateCASActivityLog(string noteId)
        {
            SlmScr009Biz biz          = new SlmScr009Biz();
            string       emailTo      = "";
            string       emailSubject = "";

            try
            {
                var data = CARServiceBiz.GetDataForCARLogService(txtTicketID.Text.Trim(), txtPreleadId.Text.Trim());

                if (cbSendEmail.Checked)
                {
                    emailSubject = txtEmailSubject.Text.Trim();

                    if (data != null)
                    {
                        emailSubject = "[" + data.StatusName + "]" + (string.IsNullOrEmpty(data.SubStatusName) ? "" : "-[" + data.SubStatusName + "]") + " " + emailSubject;

                        if (!string.IsNullOrEmpty(data.Owner) && !string.IsNullOrEmpty(data.OwnerEmail))
                        {
                            emailTo += (emailTo != "" ? ", " : "") + data.OwnerEmail;
                        }
                        if (!string.IsNullOrEmpty(data.Delegate) && !string.IsNullOrEmpty(data.DelegateEmail))
                        {
                            emailTo += (emailTo != "" ? ", " : "") + data.DelegateEmail;
                        }
                    }

                    if (txtEmailTo.Text.Trim() != "")
                    {
                        emailTo += (emailTo != "" ? ", " : "") + txtEmailTo.Text.Trim();
                    }
                }


                var staff = StaffBiz.GetStaff(HttpContext.Current.User.Identity.Name);

                //Activity Info
                List <Services.CARService.DataItem> actInfoList = new List <Services.CARService.DataItem>();
                actInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 1, DataLabel = "ผู้สร้าง Note", DataValue = staff != null ? staff.StaffNameTH : HttpContext.Current.User.Identity.Name
                });
                actInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 2, DataLabel = "ส่งอีเมล", DataValue = cbSendEmail.Checked ? "Y" : "N"
                });
                actInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 3, DataLabel = "To", DataValue = emailTo
                });
                actInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 4, DataLabel = "Subject", DataValue = emailSubject
                });
                actInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 5, DataLabel = "บันทึก Note", DataValue = txtNoteDetail.Text.Trim()
                });

                //Customer Info
                List <Services.CARService.DataItem> cusInfoList = new List <Services.CARService.DataItem>();
                cusInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 1, DataLabel = "Subscription ID", DataValue = (data != null ? data.CitizenId : "")
                });
                cusInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 2, DataLabel = "Subscription Type", DataValue = (data != null ? data.CardTypeName : "")
                });
                cusInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 3, DataLabel = "ชื่อ-นามสกุลของลูกค้า", DataValue = data != null ? data.CustomerName : ""
                });

                //Product Info
                List <Services.CARService.DataItem> prodInfoList = new List <Services.CARService.DataItem>();
                prodInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 1, DataLabel = "Product Group", DataValue = (data != null ? data.ProductGroupName : "")
                });
                prodInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 2, DataLabel = "Product", DataValue = (data != null ? data.ProductName : "")
                });
                prodInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 3, DataLabel = "Campaign", DataValue = (data != null ? data.CampaignName : "")
                });

                //Contract Info
                List <Services.CARService.DataItem> contInfoList = new List <Services.CARService.DataItem>();
                contInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 1, DataLabel = "เลขที่สัญญา", DataValue = (data != null ? data.ContractNo : "")
                });
                contInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 2, DataLabel = "ระบบที่บันทึกสัญญา", DataValue = txtPreleadId.Text.Trim() != "" ? "HP" : ""
                });
                contInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 3, DataLabel = "ทะเบียนรถ", DataValue = (data != null ? data.LicenseNo : "")
                });

                //Officer Info
                List <Services.CARService.DataItem> offInfoList = new List <Services.CARService.DataItem>();
                offInfoList.Add(new Services.CARService.DataItem()
                {
                    SeqNo = 1, DataLabel = "Officer", DataValue = (staff != null ? staff.StaffNameTH : HttpContext.Current.User.Identity.Name)
                });

                Services.CARService.CARServiceData carData = new Services.CARService.CARServiceData()
                {
                    ReferenceNo         = noteId,
                    SecurityKey         = txtPreleadId.Text.Trim() != "" ? SLMConstant.CARLogService.OBTSecurityKey : SLMConstant.CARLogService.SLMSecurityKey,
                    ServiceName         = "CreateActivityLog",
                    SystemCode          = txtPreleadId.Text.Trim() != "" ? SLMConstant.CARLogService.CARLoginOBT : SLMConstant.CARLogService.CARLoginSLM, //ถ้ามี preleadid ให้ถือว่าเป็น OBT ทั้งหมด ถึงจะมี TicketId ก็ตาม
                    TransactionDateTime = DateTime.Now,
                    ActivityInfoList    = actInfoList,
                    CustomerInfoList    = cusInfoList,
                    ProductInfoList     = prodInfoList,
                    ContractInfoList    = contInfoList,
                    OfficerInfoList     = offInfoList,
                    ActivityDateTime    = DateTime.Now,
                    CampaignId          = data != null ? data.CampaignId : "",
                    ChannelId           = data != null ? data.ChannelId : "",
                    PreleadId           = txtPreleadId.Text.Trim(),
                    ProductGroupId      = data != null ? data.ProductGroupId : "",
                    ProductId           = data != null ? data.ProductId : "",
                    Status         = data != null ? data.StatusName : "",
                    SubStatus      = data != null ? data.SubStatusName : "",
                    TicketId       = txtTicketID.Text.Trim(),
                    SubscriptionId = data != null ? data.CitizenId : "",
                    TypeId         = SLMConstant.CARLogService.Data.TypeId,
                    AreaId         = SLMConstant.CARLogService.Data.AreaId,
                    SubAreaId      = SLMConstant.CARLogService.Data.SubAreaId,
                    ActivityTypeId = SLMConstant.CARLogService.Data.ActivityType.FYIId,
                    ContractNo     = data != null ? data.ContractNo : ""
                };

                if (data != null && !string.IsNullOrEmpty(data.CBSSubScriptionTypeId))
                {
                    carData.CIFSubscriptionTypeId = data.CBSSubScriptionTypeId;
                }

                bool ret = Services.CARService.CreateActivityLog(carData);
                biz.UpdateCasFlag(txtTicketID.Text.Trim(), txtPreleadId.Text.Trim(), noteId, ret ? "1" : "2");
            }
            catch (Exception ex)
            {
                biz.UpdateCasFlag(txtTicketID.Text.Trim(), txtPreleadId.Text.Trim(), noteId, "2");

                //Error ให้ลง Log ไว้ ไม่ต้อง Throw
                string message = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                _log.Error(message);
            }
        }