private void Commitjob_transaction(ILog log) { try { IList <TrxPayrollDetail> trxList = session.CreateCriteria(typeof(TrxPayrollDetail)) .Add(Expression.Eq("Status", ParameterHelper.TRXSTATUS_SUCCESS)) .Add(Expression.Not(Expression.Eq("Email", ""))) .Add(Expression.Eq("EmailTransactionId", 0)) .AddOrder(Order.Asc("Id")) .List <TrxPayrollDetail>(); log.Info("Jumlah transaksi butuh email : " + trxList.Count); //we've found some data foreach (TrxPayrollDetail trx in trxList) { try { //get parent TrxPayroll payroll = trx.Parent; string remark = payroll.FileDescription; //get client name Client cli = session.Load <Client>(payroll.ClientID); string lembaga = cli.Name; double amount = trx.Amount / 100; string text_amount = string.Format("{0:N}", amount); //set email content string email_content = EmailHelperUniversal.EmailTemplateInternalTransfertoBenef(session, "PAYROLL", lembaga, trx.Account, trx.Name, "IDR", text_amount, remark, payroll.ProcessTime.ToString("dd/MM/yyyy hh:mm:ss")); //send email int idEmailTransaction = 0; string OutMsg = ""; if (EmailHelperUniversal.AddEmailTransaction(session, int.Parse(trx.Id.ToString()), 100, "PAYROLL BENEF", payroll.ClientID, trx.Email, "Payroll Transfer Notification - Cash Management System BRI", email_content, "", 2, out idEmailTransaction, out OutMsg)) { trx.EmailTransactionId = idEmailTransaction; } else { trx.ErrorDescription = "Email exception. " + OutMsg; } session.Update(trx); session.Flush(); } catch (Exception e) { log.Error("Exception >>" + e.Message + ">>" + e.InnerException + ">>" + e.StackTrace); trx.ErrorDescription = "Send Email Exception >>" + e.Message + ">>" + e.InnerException + ">>" + e.StackTrace; session.Update(trx); session.Flush(); } } } catch (Exception e) { log.Error("Exception Send Email >>" + e.Message + ">>" + e.InnerException + ">>" + e.StackTrace); } }
private void Commitjob_transaction(ILog log) { try { DateTime tglEkse = DateTime.ParseExact(ParameterHelper.GetString("PAYROLL_NEXTTIME_SEND_NOTIF_IA", session), "ddMMyyyyHHmm", System.Globalization.CultureInfo.InvariantCulture); if (tglEkse < DateTime.Now) { log.Info(SchCode + " === Mulai Ekse ==="); int result1 = 0; double aBal1 = 0; double hBal1 = 0; double cBal1 = 0; int statRek1 = 0; string namaRek1 = ""; int result2 = 0; double aBal2 = 0; double hBal2 = 0; double cBal2 = 0; int statRek2 = 0; string namaRek2 = ""; string msg = ""; string rekIADebet = ParameterHelper.GetString("PAYROLL_IA_DEBET", session); result1 = PayrollHelper.InquiryHoldAmt(rekIADebet, out aBal1, out hBal1, out cBal1, out statRek1, out namaRek1, out msg); if (result1 != 1) { log.Error(SchCode + " === Gagal Inquiry rekIADebet (" + rekIADebet + ") result: " + result1 + ", msg: " + msg + " ==== Retry in 2 Min"); Thread.Sleep(120000); log.Info(SchCode + " === Kelar Ekse ==="); return; } string rekIAKredit = ParameterHelper.GetString("PAYROLL_IA_KREDIT", session); result2 = PayrollHelper.InquiryHoldAmt(rekIAKredit, out aBal2, out hBal2, out cBal2, out statRek2, out namaRek2, out msg); if (result2 != 1) { log.Error(SchCode + " === Gagal Inquiry rekIAKredit (" + rekIADebet + ") result: " + result2 + ", msg: " + msg + " ==== Retry in 2 Min"); Thread.Sleep(120000); log.Info(SchCode + " === Kelar Ekse ==="); return; } string email_content = EmailHelperUniversal.EmailTemplateIADebetKredit(rekIADebet, namaRek1, "IA DEBET", aBal1, hBal1, cBal1, statRek1, rekIAKredit, namaRek2, "IA KREDIT", aBal2, hBal2, cBal2, statRek2); string receiver = ParameterHelper.GetString("PAYROLL_EMAIL_TARGET_MON_IADEBETKREDIT", session); int idEmailTransaction = 0; if (!EmailHelperUniversal.AddEmailTransaction(session, 0, 100, "PAYROLL IADEBETKREDIT MONITORING", 1705, receiver, "Payroll IADebetKredit Daily Monitoring", email_content, "", 2, out idEmailTransaction, out msg)) { log.Error(SchCode + " === Gagal Kirim Email, msg: " + msg + " ==== Retry in 2 Min"); Thread.Sleep(120000); log.Info(SchCode + " === Kelar Ekse ==="); return; } log.Info(SchCode + " === Sukses Kirim Email id : " + idEmailTransaction.ToString() + " ==="); int next = ParameterHelper.GetInteger("PAYROLL_NEXTTIME_PARAM", session); Parameter par = session.Load <Parameter>("PAYROLL_NEXTTIME_SEND_NOTIF_IA"); par.Data = tglEkse.AddHours(next).ToString("ddMMyyyyHHmm"); session.Update(par); session.Flush(); log.Info(SchCode + " === Kelar Ekse ==="); } else { Console.WriteLine(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + " - " + SchCode + " === Belum waktu diekse vroh"); } } catch (Exception e) { log.Error("Exception Send Email >>" + e.Message + ">>" + e.InnerException + ">>" + e.StackTrace); } }