Example #1
0
        //public void InsertCoverageType(string batchCode)
        //{
        //    Int64 batchMonitorId = 0;
        //    int totalRecord = 0;
        //    int totalSuccess = 0;
        //    int totalFail = 0;
        //    List<int> idList = new List<int>();

        //    try
        //    {
        //        batchMonitorId = BizUtil.SetStartTime(batchCode);
        //        BizUtil.CheckPrerequisite(batchCode);

        //        DataTable dtCoverage = GetCoverageTypeFromBDW();
        //        totalRecord = dtCoverage.Rows.Count;

        //        foreach (DataRow dr in dtCoverage.Rows)
        //        {
        //            try
        //            {
        //                if (dr["COVERAGE_NO"].ToString().Trim() == "")
        //                    throw new Exception("COVERAGE_NO is null or empty");

        //                if (dr["COVERAGE_DESC"].ToString().Trim() == "")
        //                    throw new Exception("COVERAGE_DESC is null or empty");

        //                int coverateTypeId = int.Parse(dr["COVERAGE_NO"].ToString().Trim());
        //                idList.Add(coverateTypeId);

        //                DateTime createdDate = DateTime.Now;

        //                SLMDBEntities slmdb = AppUtil.GetSlmDbEntities();
        //                var coverage = slmdb.kkslm_ms_coveragetype.Where(p => p.slm_CoverageTypeId == coverateTypeId).FirstOrDefault();
        //                if (coverage == null)
        //                {
        //                    kkslm_ms_coveragetype objInsert = new kkslm_ms_coveragetype()
        //                    {
        //                        slm_CoverageTypeId = coverateTypeId,
        //                        slm_ConverageTypeName = dr["COVERAGE_DESC"].ToString().Trim(),
        //                        slm_CreatedBy = "SYSTEM",
        //                        slm_CreatedDate = createdDate,
        //                        slm_UpdatedBy = "SYSTEM",
        //                        slm_UpdatedDate = createdDate,
        //                        is_Deleted = false
        //                    };
        //                    slmdb.kkslm_ms_coveragetype.AddObject(objInsert);
        //                }
        //                else
        //                {
        //                    coverage.slm_ConverageTypeName = dr["COVERAGE_DESC"].ToString().Trim();
        //                    coverage.slm_UpdatedBy = "SYSTEM";
        //                    coverage.slm_UpdatedDate = createdDate;
        //                    coverage.is_Deleted = false;
        //                }

        //                slmdb.SaveChanges();

        //                totalSuccess += 1;
        //                Console.WriteLine("CoverageNo " + dr["COVERAGE_NO"].ToString() + ": SUCCESS");
        //            }
        //            catch (Exception ex)
        //            {
        //                totalFail += 1;
        //                string message = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
        //                string errorDetail = "CoverageNo=" + dr["COVERAGE_NO"].ToString() + ", Error=" + message;

        //                BizUtil.InsertLog(batchMonitorId, "", "", errorDetail);
        //                Util.WriteLogFile(logfilename, batchCode, errorDetail);

        //                Console.WriteLine("CoverageNo " + dr["COVERAGE_NO"].ToString() + ": FAIL");
        //            }
        //        }

        //        SetFlagIsDeleted(idList);

        //        BizUtil.SetEndTime(batchCode, batchMonitorId, AppConstant.Success, totalRecord, totalSuccess, totalFail);
        //    }
        //    catch (Exception ex)
        //    {
        //        Console.WriteLine("All FAIL");
        //        string message = ex.InnerException != null ? ex.InnerException.Message : ex.Message;

        //        Util.WriteLogFile(logfilename, batchCode, message);
        //        BizUtil.InsertLog(batchMonitorId, "", "", message);
        //        BizUtil.SetEndTime(batchCode, batchMonitorId, AppConstant.Fail, totalRecord, totalSuccess, totalFail);
        //        throw ex;
        //    }
        //}

        #endregion

        /// <summary>
        /// Update ข้อมูลประเภทประกันภัยและประเภทความคุ้มครอง จาก DataWarehouse ไปที่ OBT
        /// </summary>
        /// <param name="batchCode"></param>
        public bool InsertCoverageType(string batchCode)
        {
            Int64      batchMonitorId = 0;
            int        totalRecord    = 0;
            int        totalSuccess   = 0;
            int        totalFail      = 0;
            List <int> idList         = new List <int>();
            bool       ret            = false;

            try
            {
                batchMonitorId = BizUtil.SetStartTime(batchCode);
                BizUtil.CheckPrerequisite(batchCode);

                DataTable dtCoverage = GetCoverageTypeFromBDW(batchMonitorId, batchCode);
                totalRecord = dtCoverage.Rows.Count;

                using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions {
                    IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
                }))
                {
                    foreach (DataRow dr in dtCoverage.Rows)
                    {
                        if (dr["COVERAGE_NO"].ToString().Trim() == "")
                        {
                            throw new Exception("COVERAGE_NO is null or empty");
                        }

                        if (dr["COVERAGE_DESC"].ToString().Trim() == "")
                        {
                            throw new Exception("COVERAGE_DESC is null or empty");
                        }

                        int coverateTypeId = int.Parse(dr["COVERAGE_NO"].ToString().Trim());
                        idList.Add(coverateTypeId);

                        DateTime createdDate = DateTime.Now;

                        SLMDBEntities slmdb    = AppUtil.GetSlmDbEntities();
                        var           coverage = slmdb.kkslm_ms_coveragetype.Where(p => p.slm_CoverageTypeId == coverateTypeId).FirstOrDefault();
                        if (coverage == null)
                        {
                            kkslm_ms_coveragetype objInsert = new kkslm_ms_coveragetype()
                            {
                                slm_CoverageTypeId    = coverateTypeId,
                                slm_ConverageTypeName = dr["COVERAGE_DESC"].ToString().Trim(),
                                slm_CreatedBy         = "SYSTEM",
                                slm_CreatedDate       = createdDate,
                                slm_UpdatedBy         = "SYSTEM",
                                slm_UpdatedDate       = createdDate,
                                is_Deleted            = false
                            };
                            slmdb.kkslm_ms_coveragetype.AddObject(objInsert);
                        }
                        else
                        {
                            coverage.slm_ConverageTypeName = dr["COVERAGE_DESC"].ToString().Trim();
                            coverage.slm_UpdatedBy         = "SYSTEM";
                            coverage.slm_UpdatedDate       = createdDate;
                            coverage.is_Deleted            = false;
                        }

                        slmdb.SaveChanges();

                        totalSuccess += 1;
                        //Console.WriteLine("CoverageNo " + dr["COVERAGE_NO"].ToString() + ": SUCCESS");
                    }

                    SetFlagIsDeleted(idList);

                    ts.Complete();
                }

                ret = true;
                BizUtil.SetEndTime(batchCode, batchMonitorId, AppConstant.Success, totalRecord, totalSuccess, totalFail);
            }
            catch (Exception ex)
            {
                ret = false;
                //Console.WriteLine("All FAIL");
                string message = ex.InnerException != null ? ex.InnerException.Message : ex.Message;

                Util.WriteLogFile(logfilename, batchCode, message);
                BizUtil.InsertLog(batchMonitorId, "", "", message);

                totalSuccess = 0;
                totalFail    = totalRecord;

                BizUtil.SetEndTime(batchCode, batchMonitorId, AppConstant.Fail, totalRecord, totalSuccess, totalFail);
            }

            return(ret);
        }
Example #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;
            }
        }