62,243
社区成员




private string EmailBody(string sAccountNums)
{
try
{
ReportViewer RViewer = new ReportViewer();
RViewer.ServerReport.ReportServerUrl = new Uri(CRM.SystemLibrary.Global.ApplicationVar(oUserInfo.CountryCode, oUserInfo.LangCode, "ReportingServer"));
RViewer.ServerReport.ReportPath = "/SIS/" + oUserInfo.CountryCode + "/Payment_Reminder ";
RViewer.ProcessingMode = ProcessingMode.Remote;
RViewer.ServerReport.ReportServerCredentials = new CRM.UILayer._Initialize.CustomReportCredentials();
string JobsDBLogoURL = ConfigurationManager.AppSettings["JobsDBLogoURL"].ToString();
ReportParameter[] Parameters = new ReportParameter[6];
Parameters[0] = new ReportParameter("ReminderType", ReminderType().ToString());
Parameters[1] = new ReportParameter("AccountNums", sAccountNums);
Parameters[2] = new ReportParameter("ReminderDays", ReminderDays().ToString());
Parameters[3] = new ReportParameter("ReminderDate", Convert.ToDateTime(txtReminderDate.Text).ToString("MM/dd/yyyy"));
Parameters[4] = new ReportParameter("ReminderDateType", ddlReminderDate.SelectedIndex.ToString());
Parameters[5] = new ReportParameter("CountryCode", base.oUserInfo.CountryCode);
RViewer.ServerReport.SetParameters(Parameters);
RViewer.ServerReport.Refresh();
string format = "HTML4.0";
string devInfo = null;
Microsoft.Reporting.WebForms.Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension = "htm";
byte[] result = null;
result = RViewer.ServerReport.Render(format, devInfo, out mimeType, out encoding, out extension, out streamids, out warnings);
MemoryStream ms = new MemoryStream(result); ;
StreamReader sr = new StreamReader(ms);
string line = sr.ReadToEnd();
//0022177: SIS 3.0 - Invoice Payment Reminder - UI style issue in the Email
//line变量中有多个<img />标签,只需把第一个<img />标签替换成logo图片,而其他<img />标签不用替换
int i = 0;
line = Regex.Replace(line, @"(?is)<img[^>]*?>", delegate(Match m)
{
i++;
if (i == 1)
return "<img alt='JobsDB.com' src='" + JobsDBLogoURL + "'/>";
else
return "";
});
//line = Regex.Replace(line, "<img[^>]*>", @"<img alt='JobsDB.com' src='" + JobsDBLogoURL + "'>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
return line;
}
catch (Exception ex)
{
ExceptionManager.Handle(Page, ex, "Invoice Payment - EmailBody()");
}
return string.Empty;
}
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using mshtml;
using SHDocVw;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
webBrowser1.Navigate("http://www.google.com/");
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
mshtml.IHTMLDocument2 doc = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLElementRender render = doc.body as IHTMLElementRender;
using (System.Drawing.Bitmap img = new Bitmap(webBrowser1.Width, webBrowser1.Height))
using (Graphics g = Graphics.FromImage(img))
{
IntPtr hdc = g.GetHdc();
render.DrawToDC(hdc);
g.ReleaseHdc(hdc);
img.Save("c:\\temp\\a.jpg");
}
}
catch (Exception err)
{
MessageBox.Show(err.ToString());
}
}
}
/// <remarks>
/// prototype from Tlbimp
/// </remarks>
[
Guid("3050F669-98B5-11CF-BB82-00AA00BDCE0B"),
InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown),
ComImport
]
interface IHTMLElementRender
{
void DrawToDC([In] IntPtr hDC);
void SetDocumentPrinter([In, MarshalAs(UnmanagedType.BStr)] string bstrPrinterName, [In] IntPtr hDC);
};
}