Beispiel #1
0
        private string InsertPrepareSMS(SLMDBEntities slmdb, OBT_PRO_32_DataAccess.SMSPaymentDueMessage item)
        {
            try
            {
                if (string.IsNullOrEmpty(SMSTemplatePath))
                {
                    throw new Exception($"ไม่พบ Config {nameof(SMSTemplatePath)} ใน Configuration File");
                }

                string template   = File.ReadAllText(SMSTemplatePath, Encoding.UTF8);
                string smsMessage = template.Replace("%CarLicenseNo%", string.IsNullOrWhiteSpace(item.LicenseNo) ? "" : item.LicenseNo.Trim())
                                    .Replace("%ExpiredDate%", item.ExpiredDate != null ? item.ExpiredDate.Value.ToString("dd/MM/") + item.ExpiredDate.Value.Year.ToString() : "");

                //kkslm_tr_prelead_prepare_sms sms = InitSMS(smsMessage, item.slm_TelNo, item.slm_TicketId, _dbNow, item.slm_Prelead_Id);

                var sms = new kkslm_tr_prelead_prepare_sms
                {
                    slm_ticketId          = string.IsNullOrWhiteSpace(item.TicketId) ? null : item.TicketId,
                    slm_Prelead_Id        = string.IsNullOrWhiteSpace(item.TicketId) ? item.PreleadId : null,
                    slm_Message           = smsMessage,
                    slm_Message_CreatedBy = "SYSTEM",
                    slm_MessageStatusId   = "1",
                    slm_PhoneNumber       = item.TelNo.Trim(),
                    slm_QueueId           = "6",
                    slm_RequestDate       = DateTime.Now,
                    slm_RuleActivityId    = 0,
                    slm_ExportStatus      = "0",
                    slm_RefId             = null,
                    slm_SendingStatusCode = null,
                    slm_SendingStatus     = null,
                    slm_ErrorCode         = null,
                    slm_ErrorReason       = null,
                    slm_CAS_Flag          = null,
                    slm_CAS_Date          = null,
                    slm_FlagType          = "1",
                    slm_CreatedBy         = "SYSTEM",
                    slm_CreatedDate       = DateTime.Now,
                    slm_UpdatedBy         = "SYSTEM",
                    slm_UpdatedDate       = DateTime.Now,
                    is_Deleted            = 0
                };
                slmdb.kkslm_tr_prelead_prepare_sms.AddObject(sms);
                return(smsMessage);
            }
            catch
            {
                throw;
            }
        }
Beispiel #2
0
        private string InsertPrepareSMS(SLMDBEntities slmdb, kkslm_tr_renewinsurance renew, List <InsuranceCompanyData> companyList, List <kkslm_ms_coveragetype> coverageList)
        {
            try
            {
                if (string.IsNullOrEmpty(AppConstant.SMSTemplatePathReceiveNo))
                {
                    throw new Exception($"ไม่พบ Config {nameof(AppConstant.SMSTemplatePathReceiveNo)} ใน Configuration File");
                }

                InsuranceCompanyData insuranceCompany = companyList.FirstOrDefault(p => p.InsComId == renew.slm_InsuranceComId);
                if (insuranceCompany == null)
                {
                    throw new Exception("ไม่พบข้อมูลบริษัทประกัน Id " + renew.slm_InsuranceComId + " ในระบบ");
                }

                kkslm_ms_coveragetype coverage = coverageList.FirstOrDefault(p => p.slm_CoverageTypeId == renew.slm_CoverageTypeId);
                if (coverage == null)
                {
                    throw new Exception("ไม่พบข้อมูลประเภทประกัน Id " + renew.slm_CoverageTypeId + " ในระบบ");
                }

                kkslm_tr_lead lead = slmdb.kkslm_tr_lead.FirstOrDefault(p => p.slm_ticketId == renew.slm_TicketId);
                if (lead == null)
                {
                    throw new Exception("ไม่พบข้อมูล Lead ในระบบ, TicketId " + renew.slm_TicketId);
                }

                string telNoSms = slmdb.kkslm_tr_cusinfo.Where(p => p.slm_TicketId == lead.slm_ticketId).Select(p => p.slm_TelNoSms).FirstOrDefault();
                if (string.IsNullOrWhiteSpace(telNoSms))
                {
                    telNoSms = lead.slm_TelNo_1;
                }

                string template   = File.ReadAllText(AppConstant.SMSTemplatePathReceiveNo, Encoding.UTF8);
                string smsMessage = template
                                    .Replace("%CoverageType%", coverage.slm_ConverageTypeName?.Trim() ?? "")
                                    .Replace("%CarLicenseNo%", renew.slm_LicenseNo?.Trim() ?? "")
                                    .Replace("%InsuranceCompany%", insuranceCompany.InsNameTH?.Trim() ?? "")
                                    .Replace("%ReceiveNo%", renew.slm_ReceiveNo?.Trim() ?? "")
                                    .Replace("%InsuranceTelNo%", insuranceCompany.TelContact?.Trim() ?? "");

                //kkslm_tr_prelead_prepare_sms sms = InitSMS(smsMessage, telNoSms, renew.slm_TicketId, _dbNow);
                var sms = new kkslm_tr_prelead_prepare_sms
                {
                    slm_ticketId          = renew.slm_TicketId,
                    slm_Prelead_Id        = null,
                    slm_Message           = smsMessage,
                    slm_Message_CreatedBy = "SYSTEM",
                    slm_MessageStatusId   = "1",
                    slm_PhoneNumber       = telNoSms,
                    slm_QueueId           = "6",
                    slm_RequestDate       = DateTime.Now,
                    slm_RuleActivityId    = 0,
                    slm_ExportStatus      = "0",
                    slm_RefId             = null,
                    slm_SendingStatusCode = null,
                    slm_SendingStatus     = null,
                    slm_ErrorCode         = null,
                    slm_ErrorReason       = null,
                    slm_CAS_Flag          = null,
                    slm_CAS_Date          = null,
                    slm_FlagType          = "1",
                    slm_CreatedBy         = "SYSTEM",
                    slm_CreatedDate       = DateTime.Now,
                    slm_UpdatedBy         = "SYSTEM",
                    slm_UpdatedDate       = DateTime.Now,
                    is_Deleted            = 0
                };
                slmdb.kkslm_tr_prelead_prepare_sms.AddObject(sms);
                return(smsMessage);
            }
            catch
            {
                throw;
            }
        }
Beispiel #3
0
        private void InsertPrepareSMS(SLMDBEntities slmdb, kkslm_tr_lead lead, kkslm_tr_renewinsurance renew, List <InsuranceCompanyData> insurComList, List <CoverageTypeData> coverageList, DateTime createdDate)
        {
            try
            {
                string filePath = AppConstant.SMSTemplatePathPolicyNo;

                if (string.IsNullOrWhiteSpace(filePath))
                {
                    throw new Exception("ไม่พบ Config SMSTemplatePathPolicyNo ใน Configuration File");
                }

                var    paidAmount           = CalculateTotalPaidAmount(slmdb, renew.slm_TicketId, AppConstant.PaymentCode.Policy);
                var    coverageTypeName     = coverageList.Where(p => p.CoverageTypeId == renew.slm_CoverageTypeId).Select(p => p.CoverageTypeName).FirstOrDefault();
                var    insurTelNo           = insurComList.Where(p => p.InsComId == renew.slm_InsuranceComId).Select(p => p.TelContact).FirstOrDefault();
                var    insNameAbb           = insurComList.Where(p => p.InsComId == renew.slm_InsuranceComId).Select(p => p.InsNameAbb).FirstOrDefault();
                string policyStartCoverDate = "";
                if (renew.slm_PolicyStartCoverDate != null)
                {
                    policyStartCoverDate = renew.slm_PolicyStartCoverDate.Value.ToString("dd/MM/") + (renew.slm_PolicyStartCoverDate.Value.Year + 543).ToString().Substring(2, 2);
                }

                string template = File.ReadAllText(filePath, Encoding.UTF8);
                template = template.Replace("%InsNameAbb%", string.IsNullOrWhiteSpace(insNameAbb) ? "" : insNameAbb)
                           .Replace("%CoverageType%", string.IsNullOrWhiteSpace(coverageTypeName) ? "" : coverageTypeName)
                           .Replace("%PolicyPremiumPaid%", paidAmount.ToString("#,##0.00"))
                           .Replace("%PolicyNo%", renew.slm_PolicyNo)
                           .Replace("%PolicyStartCoverDate%", policyStartCoverDate)
                           //.Replace("%CarLicenseNo%", renew.slm_LicenseNo)
                           .Replace("%InsuranceTelNo%", string.IsNullOrWhiteSpace(insurTelNo) ? "" : insurTelNo);

                kkslm_tr_prelead_prepare_sms sms = new kkslm_tr_prelead_prepare_sms()
                {
                    slm_ticketId          = renew.slm_TicketId,
                    slm_Message           = template,
                    slm_Message_CreatedBy = "SYSTEM",
                    slm_MessageStatusId   = "1",
                    slm_PhoneNumber       = GetTelNoSMS(lead),
                    slm_QueueId           = "6",
                    slm_RequestDate       = createdDate,
                    slm_RuleActivityId    = 0,
                    slm_ExportStatus      = "0",
                    slm_RefId             = null,
                    slm_SendingStatusCode = null,
                    slm_SendingStatus     = null,
                    slm_ErrorCode         = null,
                    slm_ErrorReason       = null,
                    slm_CAS_Flag          = null,
                    slm_CAS_Date          = null,
                    slm_FlagType          = "2",
                    slm_CreatedBy         = "SYSTEM",
                    slm_CreatedDate       = createdDate,
                    slm_UpdatedBy         = "SYSTEM",
                    slm_UpdatedDate       = createdDate,
                    is_Deleted            = 0
                };
                slmdb.kkslm_tr_prelead_prepare_sms.AddObject(sms);
                slmdb.SaveChanges();
            }
            catch
            {
                throw;
            }
        }