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