コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }