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); }
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); } }