} // setDateAcct /// <summary> /// Perform Process. /// </summary> /// <returns>Message to be translated</returns> protected override String DoIt() { // Update AcctSchema Balances if (_UpdateBalances) { //FinBalance.UpdateBalance(_C_AcctSchema_ID, false); FinBalance.UpdateBalance(GetCtx(), _C_AcctSchema_ID, _DateAcct_From, Get_TrxName(), 0, this); } CreateBalanceLine(); CreateDetailLines(); int AD_PrintFormat_ID = 134; if (Ini.IsClient()) { GetProcessInfo().SetTransientObject(MPrintFormat.Get(GetCtx(), AD_PrintFormat_ID, false)); } else { GetProcessInfo().SetSerializableObject(MPrintFormat.Get(GetCtx(), AD_PrintFormat_ID, false)); } log.Fine((CommonFunctions.CurrentTimeMillis() - _start) + " ms"); return(""); } // doIt
} // prepare /// <summary> /// Perrform Process. /// </summary> /// <returns>Message</returns> protected override String DoIt() { // Need to have Template if (_EMailPDF && _R_MailText_ID == 0) { throw new Exception("@NotFound@: @R_MailText_ID@"); } log.Info("C_BPartner_ID=" + _C_BPartner_ID + ", C_Invoice_ID=" + _C_Invoice_ID + ", IsSOTrx=" + _IsSOTrx + ", EmailPDF=" + _EMailPDF + ",R_MailText_ID=" + _R_MailText_ID + ", DateInvoiced=" + _dateInvoiced_From + "-" + _dateInvoiced_To + ", DocumentNo=" + _DocumentNo_From + "-" + _DocumentNo_To + ", IncludeDrafts=" + _IncludeDraftInvoices); MMailText mText = null; if (_R_MailText_ID != 0) { mText = new MMailText(GetCtx(), _R_MailText_ID, Get_TrxName()); if (mText.Get_ID() != _R_MailText_ID) { throw new Exception("@NotFound@: @R_MailText_ID@ - " + _R_MailText_ID); } } // Too broad selection if (_C_BPartner_ID == 0 && _C_Invoice_ID == 0 && _dateInvoiced_From == null && _dateInvoiced_To == null && _DocumentNo_From == null && _DocumentNo_To == null) { throw new Exception("@RestrictSelection@"); } MClient client = MClient.Get(GetCtx()); // Get Info StringBuilder sql = new StringBuilder( "SELECT i.C_Invoice_ID,bp.AD_Language,c.IsMultiLingualDocument," // 1..3 // Prio: 1. BPartner 2. DocType, 3. PrintFormat (Org) // see ReportCtl+MInvoice + " COALESCE(bp.Invoice_PrintFormat_ID, dt.AD_PrintFormat_ID, pf.Invoice_PrintFormat_ID)," // 4 + " dt.DocumentCopies+bp.DocumentCopies," // 5 + " bpc.AD_User_ID, i.DocumentNo," // 6..7 + " bp.C_BPartner_ID " // 8 + "FROM C_Invoice i" + " INNER JOIN C_BPartner bp ON (i.C_BPartner_ID=bp.C_BPartner_ID)" + " LEFT OUTER JOIN AD_User bpc ON (i.AD_User_ID=bpc.AD_User_ID)" + " INNER JOIN AD_Client c ON (i.AD_Client_ID=c.AD_Client_ID)" + " INNER JOIN AD_PrintForm pf ON (i.AD_Client_ID=pf.AD_Client_ID)" + " INNER JOIN C_DocType dt ON (i.C_DocType_ID=dt.C_DocType_ID)") .Append(" WHERE pf.AD_Org_ID IN (0,i.AD_Org_ID) AND "); // more them 1 PF if (_C_Invoice_ID != 0) { sql.Append("i.C_Invoice_ID=").Append(_C_Invoice_ID); } else { if (_IsSOTrx) { sql.Append("i.IsSOTrx='Y'"); } else { sql.Append("i.IsSOTrx='N'"); } if (!_IncludeDraftInvoices) { sql.Append("AND i.DocStatus NOT IN ('DR')"); } if (_C_BPartner_ID != 0) { sql.Append(" AND i.C_BPartner_ID=").Append(_C_BPartner_ID); } // Date Invoiced if (_dateInvoiced_From != null && _dateInvoiced_To != null) { sql.Append(" AND TRUNC(i.DateInvoiced,'DD') BETWEEN ") .Append(DataBase.DB.TO_DATE(_dateInvoiced_From, true)).Append(" AND ") .Append(DataBase.DB.TO_DATE(_dateInvoiced_To, true)); } else if (_dateInvoiced_From != null) { sql.Append(" AND TRUNC(i.DateInvoiced,'DD') >= ") .Append(DataBase.DB.TO_DATE(_dateInvoiced_From, true)); } else if (_dateInvoiced_To != null) { sql.Append(" AND TRUNC(i.DateInvoiced,'DD') <= ") .Append(DataBase.DB.TO_DATE(_dateInvoiced_To, true)); } // Document No else if (_DocumentNo_From != null && _DocumentNo_To != null) { sql.Append(" AND i.DocumentNo BETWEEN ") .Append(DataBase.DB.TO_STRING(_DocumentNo_From)).Append(" AND ") .Append(DataBase.DB.TO_STRING(_DocumentNo_To)); } else if (_DocumentNo_From != null) { sql.Append(" AND "); if (_DocumentNo_From.IndexOf('%') == -1) { sql.Append("i.DocumentNo >= ") .Append(DataBase.DB.TO_STRING(_DocumentNo_From)); } else { sql.Append("i.DocumentNo LIKE ") .Append(DataBase.DB.TO_STRING(_DocumentNo_From)); } } } sql.Append(" ORDER BY i.C_Invoice_ID, pf.AD_Org_ID DESC"); // more than 1 PF record log.Finer(sql.ToString()); MPrintFormat format = null; int old_AD_PrintFormat_ID = -1; int old_C_Invoice_ID = -1; int C_BPartner_ID = 0; int count = 0; int errors = 0; IDataReader idr = null; try { idr = DataBase.DB.ExecuteReader(sql.ToString(), null, null); while (idr.Read()) { int C_Invoice_ID = Utility.Util.GetValueOfInt(idr[0]); if (C_Invoice_ID == old_C_Invoice_ID)//Multiple pg Records { continue; } old_C_Invoice_ID = C_Invoice_ID; // Set Language when enabled //Language language = Language.getLoginLanguage(); Language language = Env.GetLoginLanguage(GetCtx()); // Base Language // String AD_Language = rs.getString(2); String AD_Language = Utility.Util.GetValueOfString(idr[1]); // if (AD_Language != null && "Y".equals(rs.getString(3))) if (AD_Language != null && "Y".Equals(idr[2])) { //language = Language.getLanguage(AD_Language); language = Language.GetLanguage(AD_Language); } // int AD_PrintFormat_ID = rs.getInt(4); int AD_PrintFormat_ID = Utility.Util.GetValueOfInt(idr[3]); // int copies = rs.getInt(5); int copies = Utility.Util.GetValueOfInt(idr[4]); if (copies == 0) { copies = 1; } // int AD_User_ID = rs.getInt(6); int AD_User_ID = Utility.Util.GetValueOfInt(idr[5]); // MUser to = new MUser (getCtx(), AD_User_ID, get_TrxName()); MUser to = new MUser(GetCtx(), AD_User_ID, Get_TrxName()); // String DocumentNo = rs.getString(7); String DocumentNo = Utility.Util.GetValueOfString(idr[6]); // C_BPartner_ID = rs.getInt(8); C_BPartner_ID = Utility.Util.GetValueOfInt(idr[7]); // // // String documentDir = client.getDocumentDir(); String documentDir = client.GetDocumentDir(); // if (documentDir == null || documentDir.length() == 0) if (documentDir == null || documentDir.Length == 0) { documentDir = "."; } if (_EMailPDF && (to.Get_ID() == 0 || to.GetEMail() == null || to.GetEMail().Length == 0)) { AddLog(C_Invoice_ID, null, null, DocumentNo + " @RequestActionEMailNoTo@"); errors++; continue; } if (AD_PrintFormat_ID == 0) { AddLog(C_Invoice_ID, null, null, DocumentNo + " No Print Format"); errors++; continue; } // Get Format & Data if (AD_PrintFormat_ID != old_AD_PrintFormat_ID) { format = MPrintFormat.Get(GetCtx(), AD_PrintFormat_ID, false); old_AD_PrintFormat_ID = AD_PrintFormat_ID; } format.SetLanguage(language); format.SetTranslationLanguage(language); // // query Query query = new Query("C_Invoice_Header_v"); query.AddRestriction("C_Invoice_ID", Query.EQUAL, C_Invoice_ID); // Engine //PrintInfo info = new PrintInfo( // DocumentNo, // X_C_Invoice.Table_ID, // C_Invoice_ID, // C_BPartner_ID); //info.SetCopies(copies); //ReportEngine re = new ReportEngine(GetCtx(), format, query, info); Boolean printed = false; if (_EMailPDF) { String subject = mText.GetMailHeader() + " - " + DocumentNo; EMail email = client.CreateEMail(to.GetEMail(), to.GetName(), subject, null); if (email == null || !email.IsValid()) { AddLog(C_Invoice_ID, null, null, DocumentNo + " @RequestActionEMailError@ Invalid EMail: " + to); errors++; continue; } mText.SetUser(to); // Context mText.SetBPartner(C_BPartner_ID); // Context mText.SetPO(new MInvoice(GetCtx(), C_Invoice_ID, Get_TrxName())); String message = mText.GetMailText(true); if (mText.IsHtml()) { email.SetMessageHTML(subject, message); } else { email.SetSubject(subject); email.SetMessageText(message); } // //File invoice = null; FileInfo invoice = null; if (!Ini.IsClient()) { //invoice = new File(MInvoice.GetPDFFileName(documentDir, C_Invoice_ID)); invoice = new FileInfo(MInvoice.GetPDFFileName(documentDir, C_Invoice_ID)); } //File attachment = re.getPDF(invoice); //FileInfo attachment = re.GetPDF(invoice); // log.Fine(to + " - " + attachment); // email.AddAttachment(attachment); // String msg = email.Send(); MUserMail um = new MUserMail(mText, GetAD_User_ID(), email); um.Save(); if (msg.Equals(EMail.SENT_OK)) { AddLog(C_Invoice_ID, null, null, DocumentNo + " @RequestActionEMailOK@ - " + to.GetEMail()); count++; printed = true; } else { AddLog(C_Invoice_ID, null, null, DocumentNo + " @RequestActionEMailError@ " + msg + " - " + to.GetEMail()); errors++; } } else { // re.Print(); count++; printed = true; } // Print Confirm if (printed) { StringBuilder sb = new StringBuilder("UPDATE C_Invoice " + "SET DatePrinted=SysDate, IsPrinted='Y' WHERE C_Invoice_ID=") .Append(C_Invoice_ID); //int no = DataBase.DB.ExecuteUpdateMultiple(sb.ToString(), Get_TrxName()); int no = DataBase.DB.ExecuteQuery(sb.ToString(), null, Get_TrxName()); } } // for all entries } catch (Exception e) { log.Log(Level.SEVERE, sql.ToString(), e); //throw new Exception (e); } finally { idr.Close(); } // if (_EMailPDF) { return("@Sent@=" + count + " - @Errors@=" + errors); } return("@Printed@=" + count); } // doIt
public static ProcessReportInfo GenerateReport(Ctx _ctx, int id, List <string> queryInfo, Object code, bool isCreateNew, Dictionary <string, object> nProcessInfo, bool pdf, bool csv) { ProcessReportInfo rep = null; ReportEngine_N re = null; Query _query = null; int Record_ID = 0; object AD_tab_ID = 0; // _ctx.SetContext("#TimeZoneName", "India Standard Time"); if (queryInfo.Count > 0) { string tableName = queryInfo[0]; string wherClause = queryInfo[1]; _query = new Query(tableName); if (!string.IsNullOrEmpty(wherClause)) { _query.AddRestriction(wherClause); } if (_query.GetRestrictionCount() == 1 && (code).GetType() == typeof(int)) { Record_ID = ((int)code); } } if (queryInfo.Count > 2) { if (queryInfo[2] != null && queryInfo[2] != "" && Convert.ToInt32(queryInfo[2]) > 0) { AD_tab_ID = Convert.ToInt32(queryInfo[2]); } } //Context _ctx = new Context(ctxDic); //Env.SetContext(_ctx); string lang = _ctx.GetAD_Language().Replace("_", "-"); System.Globalization.CultureInfo original = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(lang); System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(lang); byte[] b = null; try { MPrintFormat pf = null; if (!isCreateNew) { pf = MPrintFormat.Get(_ctx, id, true); } else { // pf = MPrintFormat.CreateFromTable(_ctx, id); if (Convert.ToInt32(AD_tab_ID) > 0) { pf = MPrintFormat.CreateFromTable(_ctx, id, AD_tab_ID); } else { pf = MPrintFormat.CreateFromTable(_ctx, id); } } rep = new ProcessReportInfo(); pf.SetName(Env.TrimModulePrefix(pf.GetName())); if (nProcessInfo == null) { PrintInfo info = new PrintInfo(pf.GetName(), pf.GetAD_Table_ID(), Record_ID); info.SetDescription(_query == null ? "" : _query.GetInfo()); re = new ReportEngine_N(_ctx, pf, _query, info); } else { ProcessInfo pi = new ProcessInfo().FromList(nProcessInfo); pi.Set_AD_PrintFormat_ID(id); ProcessCtl ctl = new ProcessCtl(); ctl.Process(pi, _ctx, out b, out re); re.SetPrintFormat(pf); } re.GetView(); if (pdf) { rep.ReportFilePath = re.GetReportFilePath(true, out b); } else if (csv) { rep.ReportFilePath = re.GetCSVPath(_ctx); } else { rep.HTML = re.GetRptHtml().ToString(); rep.AD_PrintFormat_ID = re.GetPrintFormat().GetAD_PrintFormat_ID(); rep.ReportProcessInfo = null; rep.Report = re.CreatePDF(); } // b = re.CreatePDF(); //rep.Report = b; //rep.HTML = re.GetRptHtml().ToString(); //rep.AD_PrintFormat_ID = re.GetPrintFormat().GetAD_PrintFormat_ID(); //rep.ReportProcessInfo = null; } catch (Exception ex) { rep.IsError = true; rep.ErrorText = ex.Message; } return(rep); }
public GridReportInfo GenerateReport(Ctx _ctx, int id, List <string> queryInfo, Object code, bool isCreateNew, Dictionary <string, string> nProcessInfo, int pageNo, int AD_PInstance_ID, string fileType, int?nodeID, int?treeID, bool showSummary) { GridReportInfo res = new GridReportInfo(); VIS.Models.PageSetting ps = new Models.PageSetting(); parentIDs.Clear(); ProcessReportInfo rep = null; ReportEngine_N re = null; Query _query = null; int Record_ID = 0; object AD_tab_ID = 0; // _ctx.SetContext("#TimeZoneName", "India Standard Time"); if (queryInfo.Count > 0 || AD_PInstance_ID > 0) { string tableName = queryInfo[0]; if (AD_PInstance_ID > 0) { if ((code).GetType() == typeof(int)) // Form = one record { _query = Query.GetEqualQuery(tableName, ((int)code)); } else { _query = Query.Get(_ctx, AD_PInstance_ID, tableName); } } else { string wherClause = queryInfo[1]; _query = new Query(tableName); if (!string.IsNullOrEmpty(wherClause)) { _query.AddRestriction(wherClause); } } if (_query.GetRestrictionCount() == 1 && (code).GetType() == typeof(int)) { Record_ID = ((int)code); } if (nodeID > 0) { GetChildNodesID(_ctx, Convert.ToInt32(nodeID), Convert.ToInt32(treeID)); MTree tree = new MTree(_ctx, Convert.ToInt32(treeID), null); string nodeTableName = tree.GetNodeTableName(); _query.AddRestriction(" " + tableName + "." + tableName + "_ID IN (SELECT NODE_ID FROM " + nodeTableName + " WHERE Parent_ID IN (" + parentIDs.ToString() + ") OR NODE_ID IN (" + parentIDs + ")) "); if (!showSummary) { _query.AddRestriction(" " + tableName + "." + "IsSummary= 'N'"); } } } else { if (nodeID > 0) { MTree tree = new MTree(_ctx, Convert.ToInt32(treeID), null); string tableName = MTable.GetTableName(_ctx, tree.GetAD_Table_ID()); _query = new Query(tableName); GetChildNodesID(_ctx, Convert.ToInt32(nodeID), Convert.ToInt32(treeID)); string nodeTableName = tree.GetNodeTableName(); _query.AddRestriction(" " + tableName + "." + tableName + "_ID IN (SELECT NODE_ID FROM " + nodeTableName + " WHERE Parent_ID IN (" + parentIDs.ToString() + ")) "); if (!showSummary) { _query.AddRestriction(" " + tableName + "." + "IsSummary= 'N'"); } } } if (_query == null) { _query = new Query(); _query.AddRestriction(" 1 = 1"); } if (queryInfo.Count > 2) { if (queryInfo[2] != null && queryInfo[2] != "" && Convert.ToInt32(queryInfo[2]) > 0) { AD_tab_ID = Convert.ToInt32(queryInfo[2]); } } //Context _ctx = new Context(ctxDic); //Env.SetContext(_ctx); string lang = _ctx.GetAD_Language().Replace("_", "-"); System.Globalization.CultureInfo original = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(lang); System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(lang); byte[] b = null; try { MPrintFormat pf = null; if (!isCreateNew) { bool isPFExist = Util.GetValueOfInt(DB.ExecuteScalar("SELECT Count(*) FROM AD_PrintFormat WHERE AD_PrintFormat_ID=" + id)) > 0; if (isPFExist) { pf = MPrintFormat.Get(_ctx, id, true); } else { rep = new ProcessReportInfo(); rep.ErrorText = "NoDocPrintFormat"; res.repInfo = rep; return(res); } } else { // pf = MPrintFormat.CreateFromTable(_ctx, id); if (Convert.ToInt32(AD_tab_ID) > 0) { pf = MPrintFormat.CreateFromTable(_ctx, id, AD_tab_ID, true); } else { pf = MPrintFormat.CreateFromTable(_ctx, id, true); } } pf.IsGridReport = true; pf.PageNo = pageNo; rep = new ProcessReportInfo(); pf.SetName(Env.TrimModulePrefix(pf.GetName())); if (nProcessInfo == null || pageNo > 0 || (Util.GetValueOfInt(nProcessInfo["Record_ID"]) == 0 && Util.GetValueOfInt(nProcessInfo["Process_ID"]) == 0 && Util.GetValueOfInt(nProcessInfo["AD_PInstance_ID"]) == 0)) { PrintInfo info = new PrintInfo(pf.GetName(), pf.GetAD_Table_ID(), Record_ID); info.SetDescription(_query == null ? "" : _query.GetInfo()); re = new ReportEngine_N(_ctx, pf, _query, info); } else { ProcessInfo pi = new ProcessInfo().FromList(nProcessInfo); pi.Set_AD_PrintFormat_ID(id); ProcessCtl ctl = new ProcessCtl(); ctl.Process(pi, _ctx, out b, out re); re.SetPrintFormat(pf); } lock (_lock) { re.GetView(); if (fileType == ProcessCtl.ReportType_PDF) { rep.ReportFilePath = re.GetReportFilePath(true, out b); } else if (fileType == ProcessCtl.ReportType_CSV) { rep.ReportFilePath = re.GetCSVPath(_ctx); } else { rep.ReportFilePath = re.GetReportFilePath(true, out b); rep.HTML = re.GetRptHtml().ToString(); rep.AD_PrintFormat_ID = re.GetPrintFormat().GetAD_PrintFormat_ID(); rep.ReportProcessInfo = null; rep.Report = re.CreatePDF(); } } ps.TotalPage = pf.TotalPage; ps.CurrentPage = pageNo; // b = re.CreatePDF(); //rep.Report = b; //rep.HTML = re.GetRptHtml().ToString(); //rep.AD_PrintFormat_ID = re.GetPrintFormat().GetAD_PrintFormat_ID(); //rep.ReportProcessInfo = null; } catch (Exception ex) { rep.IsError = true; rep.ErrorText = ex.Message; log.Severe("ReportEngine_N_CreatePDF_" + ex.ToString()); } // VAdvantage.Classes.CleanUp.Get().Start(); res.repInfo = rep; res.pSetting = ps; return(res); }
/// <summary> /// Process /// </summary> /// <returns>info</returns> protected override String DoIt() { log.Info("C_DunningRun_ID=" + _C_DunningRun_ID + ",R_MailText_ID=" + _R_MailText_ID + ", EmailPDF=" + _EMailPDF + ",IsOnlyIfBPBalance=" + _IsOnlyIfBPBalance); // Need to have Template if (_EMailPDF && _R_MailText_ID == 0) { throw new Exception("@NotFound@: @R_MailText_ID@"); } String subject = ""; MMailText mText = null; if (_EMailPDF) { mText = new MMailText(GetCtx(), _R_MailText_ID, Get_TrxName()); if (_EMailPDF && mText.Get_ID() == 0) { throw new Exception("@NotFound@: @R_MailText_ID@ - " + _R_MailText_ID); } subject = mText.GetMailHeader(); } // MDunningRun run = new MDunningRun(GetCtx(), _C_DunningRun_ID, Get_TrxName()); if (run.Get_ID() == 0) { throw new Exception("@NotFound@: @C_DunningRun_ID@ - " + _C_DunningRun_ID); } // Print Format on Dunning Level MDunningLevel level = new MDunningLevel(GetCtx(), run.GetC_DunningLevel_ID(), Get_TrxName()); MPrintFormat format = MPrintFormat.Get(GetCtx(), level.GetDunning_PrintFormat_ID(), false); MClient client = MClient.Get(GetCtx()); int count = 0; int errors = 0; MDunningRunEntry[] entries = run.GetEntries(false); for (int i = 0; i < entries.Length; i++) { MDunningRunEntry entry = entries[i]; if (_IsOnlyIfBPBalance && Env.Signum(entry.GetAmt()) <= 0) { continue; } // To BPartner MBPartner bp = new MBPartner(GetCtx(), entry.GetC_BPartner_ID(), Get_TrxName()); if (bp.Get_ID() == 0) { AddLog(entry.Get_ID(), null, null, "@NotFound@: @C_BPartner_ID@ " + entry.GetC_BPartner_ID()); errors++; continue; } // To User MUser to = new MUser(GetCtx(), entry.GetAD_User_ID(), Get_TrxName()); if (_EMailPDF) { if (to.Get_ID() == 0) { AddLog(entry.Get_ID(), null, null, "@NotFound@: @AD_User_ID@ - " + bp.GetName()); errors++; continue; } else if (to.GetEMail() == null || to.GetEMail().Length == 0) { AddLog(entry.Get_ID(), null, null, "@NotFound@: @EMail@ - " + to.GetName()); errors++; continue; } } // BP Language //Language language =Language.getLoginLanguage(); // Base Language Language language = Env.GetLoginLanguage(GetCtx()); String tableName = "C_Dunning_Header_v"; if (client.IsMultiLingualDocument()) { tableName += "t"; String AD_Language = bp.GetAD_Language(); if (AD_Language != null) { //language =language.getLanguage(AD_Language); } } // format.SetLanguage(language); // format.SetTranslationLanguage(language); // query Query query = new Query(tableName); query.AddRestriction("C_DunningRunEntry_ID", Query.EQUAL, entry.GetC_DunningRunEntry_ID()); // Engine //PrintInfo info = new PrintInfo( // bp.GetName(), // X_C_DunningRunEntry.Table_ID, // entry.GetC_DunningRunEntry_ID(), // entry.GetC_BPartner_ID()); //info.SetDescription(bp.GetName() + ", Amt=" + entry.GetAmt()); //ReportEngine re = new ReportEngine(GetCtx(), format, query, info); byte[] pdfReport; string reportPath = ""; bool printed = false; if (_EMailPDF) { EMail email = client.CreateEMail(to.GetEMail(), to.GetName(), null, null); if (email == null || !email.IsValid()) { AddLog(entry.Get_ID(), null, null, "@RequestActionEMailError@ Invalid EMail: " + to); errors++; continue; } mText.SetUser(to); // variable context mText.SetBPartner(bp); mText.SetPO(entry); String message = mText.GetMailText(true); if (mText.IsHtml()) { email.SetMessageHTML(mText.GetMailHeader(), message); } else { email.SetSubject(mText.GetMailHeader()); email.SetMessageText(message); } // //File attachment = re.GetPDF(File.createTempFile("Dunning", ".pdf")); //log.Fine(to + " - " + attachment); //email.AddAttachment(attachment); // // Get report that is bound on the dunning entry tab of dunning run window. int ReportProcess_ID = Util.GetValueOfInt(DB.ExecuteScalar("SELECT AD_Process_ID FROM ad_tab WHERE export_id='VIS_634'")); if (ReportProcess_ID > 0) { Common.Common Com = new Common.Common(); Dictionary <string, object> d = Com.GetReport(GetCtx(), ReportProcess_ID, "C_DunningRunEntry", X_C_DunningRunEntry.Table_ID, entry.GetC_DunningRunEntry_ID(), 0, "", FileType, out pdfReport, out reportPath); if (pdfReport != null) { email.AddAttachment(pdfReport, "Dunning" + entry.GetC_DunningRunEntry_ID() + ".pdf"); } } String msg = email.Send(); MUserMail um = new MUserMail(mText, entry.GetAD_User_ID(), email); um.Save(); if (msg.Equals(EMail.SENT_OK)) { AddLog(entry.Get_ID(), null, null, bp.GetName() + " @RequestActionEMailOK@"); count++; printed = true; } else { AddLog(entry.Get_ID(), null, null, bp.GetName() + " @RequestActionEMailError@ " + msg); errors++; } } else { //re.print(); count++; printed = true; } if (printed) { entry.SetProcessed(true); entry.Save(); DunningLevelConsequences(level, entry); } } // for all dunning letters if (errors == 0) { run.SetProcessed(true); run.Save(); } if (_EMailPDF) { return("@Sent@=" + count + " - @Errors@=" + errors); } return("@Printed@=" + count); }