Hi,
Using the above article i succeeded in creating a Windows Service,now i am facing a problem in executing the setup file in the server.
I copied the setup file to the server location and tried to execute it.I am getting a message like
'Error:1001 Source service already exists on local machine'. By seeing this i looked up in services as well as Add/Remove programms too but i couldn't see the service name...
What could be the reason.
The below is code implemented in the service
#region Page Header
#endregion
#region References
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers;
using System.ComponentModel;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Configuration;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.Net.Mail;
using System.IO;
using System.Net.Mime;
#endregion
#region Namespace
namespace MailNotificationService
{
#region Class Declaration
partial class MailNotificationServices : ServiceBase
{
#region Variable Declaration
private Timer _timer = null;
private IContainer objcomponents = null;
private SqlConnection connection = null;
private SqlCommand command = null;
private string strConnectionString = null;
private string strCommandText = string.Empty;
private SqlDataAdapter adapter = null;
private DataSet dsDataset = new DataSet();
private string strUsercode;
private string strUserMailID;
private string strUserName;
private string strSubmitterMsgHeader;
private string strDefectMessageHeading;
private string strSubmitterFinalMsg;
private string strOwnerMsgHeader;
private string strOwnerFinalMsg;
private string strAssignedToMsgHeader;
private string strAssignedToFinalMsg;
private string strFromMailID;
private int intProjectId;
private int intProjectIdDefects;
private string strProjectName;
private string strProjectCode;
private string strOtherMailIDs;
private string strMailToSubmitter;
private string strMailToOwner;
private string strMailToAssignee;
private string strDuration;
private int intEntitytypeID;
private string strCurrentDayOfTheWeek = Convert.ToString(DateTime.Now.DayOfWeek.ToString());
private string strCurrentDateOfTheMonth = Convert.ToString(DateTime.Now.Day.ToString());
DataSet objDatasetSysPara;
Boolean boolSendMailSubmitter = false;
Boolean boolSendMailOwner = false;
Boolean boolSendMailAssignee = false;
int intSubmitterCount = 0;
int intOwnerCount = 0;
int intAssigneeCount = 0;
private bool boolSendMail;
#endregion
#region Constructor
public MailNotificationServices()
{
InitializeComponent();
if (!System.Diagnostics.EventLog.SourceExists("EmailSource"))
{
System.Diagnostics.EventLog.CreateEventSource("EmailSource", "MailNotificationServices");
}
MailLog.Source = "EmailSource";
MailLog.Log = "EmailLog";
this._timer = new Timer();
((ISupportInitialize)_timer).BeginInit();
this._timer.Interval = 60000;
this._timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
this.ServiceName = "MailNotificationServices";
((ISupportInitialize)_timer).EndInit();
}
void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
MailLog.WriteEntry("Service Running");
string currenttime = DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString();
if (currenttime.ToUpper().Equals("11:15"))
{
MailLog.WriteEntry("Started Fetching Data");
connection = new SqlConnection();
command = new SqlCommand();
MailLog.WriteEntry("Started to create connection");
GetMailData();
}
}
catch (Exception ec) { }
}
private SqlConnection GetConnection()
{
strConnectionString = "Data Source=cosmonet2k3;Initial Catalog=TopqmGMR;Integrated Security=True;";
if (connection != null && connection.State == ConnectionState.Open)
{
return connection;
}
else
{
connection = new SqlConnection(strConnectionString);
connection.Open();
return connection;
}
}
private void GetMailData()
{
if (command != null)
{
try
{
strCommandText = "spFetchNotificationInfo";
command.CommandType = CommandType.StoredProcedure;
command.CommandText = strCommandText;
command.Connection = GetConnection();
MailLog.WriteEntry("Connection object created");
adapter = new SqlDataAdapter(command);
adapter.Fill(dsDataset);
if (dsDataset != null && dsDataset.Tables.Count > 0 && dsDataset.Tables.Count > 2)
{
for (int intIndex = 0; intIndex <= dsDataset.Tables[1].Rows.Count - 1; intIndex++)
{
intEntitytypeID = Convert.ToInt32(dsDataset.Tables[1].Rows[intIndex].ItemArray[1].ToString());
strDuration = dsDataset.Tables[1].Rows[intIndex].ItemArray[7].ToString();
intProjectId = Convert.ToInt32(dsDataset.Tables[1].Rows[0].ItemArray[0].ToString());
strFromMailID = dsDataset.Tables[1].Rows[intIndex].ItemArray[2].ToString();
strOtherMailIDs = dsDataset.Tables[1].Rows[intIndex].ItemArray[3].ToString();
strProjectCode = dsDataset.Tables[1].Rows[intIndex].ItemArray[8].ToString();
strProjectName = dsDataset.Tables[1].Rows[intIndex].ItemArray[9].ToString();
strMailToSubmitter = dsDataset.Tables[1].Rows[intIndex].ItemArray[4].ToString();
strMailToOwner = dsDataset.Tables[1].Rows[intIndex].ItemArray[5].ToString();
strMailToAssignee = dsDataset.Tables[1].Rows[intIndex].ItemArray[6].ToString();
int intTableCount;
if (strMailToSubmitter.Trim() == "Y" || strMailToOwner.Trim() == "Y" || strMailToAssignee.Trim() == "Y" || strOtherMailIDs.Trim() != "")
{
intTableCount = intIndex + 2;
if (strDuration.Length > 10)
{
string strDurationMonthDate;
strDurationMonthDate = strDuration.Substring(10);
if (strDurationMonthDate.Trim() == strCurrentDateOfTheMonth.Trim())
{ SendDefectMail(intTableCount); MailLog.WriteEntry("Monthly Mails sent successfully"); }
}
else if (strDuration.Length > 5)
{
if (strDuration.Trim() != "never")
{
string strDurationDayWeek;
strDurationDayWeek = strDuration.Substring(5);
switch (strDurationDayWeek.Trim())
{
case "1":
strDurationDayWeek = "Sunday";
break;
case "2":
strDurationDayWeek = "Monday";
break;
case "3":
strDurationDayWeek = "Tuesday";
break;
case "4":
strDurationDayWeek = "Wednesday";
break;
case "5":
strDurationDayWeek = "Thursday";
break;
case "6":
strDurationDayWeek = "Friday";
break;
case "7":
strDurationDayWeek = "Saturday";
break;
default:
break;
}
if (strDurationDayWeek.Trim() == strCurrentDayOfTheWeek.Trim())
{ SendDefectMail(intTableCount); MailLog.WriteEntry("Weekly Mails sent successfully"); }
}
}
else if (strDuration.Trim() == "day")
{
SendDefectMail(intTableCount); MailLog.WriteEntry("Daily Mails sent successfully");
}
}
}
}
else
{
MailLog.WriteEntry("No Records Found");
this.OnStop();
}
}
catch (Exception ec)
{
MailLog.WriteEntry(ec.Message);
}
}
}
#endregion
#region Service Start Method
protected override void OnStart(string[] args)
{
this._timer.Enabled = true;
MailLog.WriteEntry("Service Started");
}
#endregion
#region Service Stop
protected override void OnStop()
{
this._timer.Enabled = false;
MailLog.WriteEntry("Service Stopped");
}
#endregion
#region Defined Methods
public void SendDefectMail(int intTableIndex)
{
objDatasetSysPara = FetchMailParameter();
if (dsDataset.Tables[intTableIndex].Rows.Count > 0)
{
intProjectIdDefects = Convert.ToInt32(dsDataset.Tables[intTableIndex].Rows[0].ItemArray[0].ToString());
if (intProjectId == intProjectIdDefects)
{
strUsercode = "";
strUserMailID = "";
strUserName = "";
for (int intlIndex = 0; intlIndex <= dsDataset.Tables[0].Rows.Count - 1; intlIndex++)
{
strUsercode = dsDataset.Tables[0].Rows[intlIndex].ItemArray[0].ToString();
strUserMailID = dsDataset.Tables[0].Rows[intlIndex].ItemArray[1].ToString();
strUserName = dsDataset.Tables[0].Rows[intlIndex].ItemArray[2].ToString();
if (strUserMailID.Trim() != "")
{
boolSendMailSubmitter = false;
boolSendMailOwner = false;
boolSendMailAssignee = false;
boolSendMail = false;
strSubmitterFinalMsg = "";
intSubmitterCount = 0;
strOwnerFinalMsg = "";
intOwnerCount = 0;
strAssignedToFinalMsg = "";
intAssigneeCount = 0;
strAssignedToMsgHeader = "";
strOwnerMsgHeader = "";
strSubmitterMsgHeader = "";
for (int intRowIndexUser = 0; intRowIndexUser <= dsDataset.Tables[intTableIndex].Rows.Count - 1; intRowIndexUser++)
{
if (strUsercode.Trim() == dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[9].ToString().Trim())
{
intSubmitterCount++;
strSubmitterFinalMsg = strSubmitterFinalMsg + Convert.ToString(intSubmitterCount) +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[1].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[2].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[4].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[8].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[6].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[7].ToString() +
"|";
}
if (strUsercode.Trim() == dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[10].ToString().Trim())
{
intOwnerCount++;
strOwnerFinalMsg = strOwnerFinalMsg + Convert.ToString(intOwnerCount) +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[1].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[2].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[4].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[8].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[6].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[7].ToString() +
"|";
}
if (strUsercode.Trim() == dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[11].ToString().Trim())
{
intAssigneeCount++;
strAssignedToFinalMsg = strAssignedToFinalMsg + Convert.ToString(intAssigneeCount) +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[1].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[2].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[4].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[8].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[6].ToString() +
", " + dsDataset.Tables[intTableIndex].Rows[intRowIndexUser].ItemArray[7].ToString() +
"|";
}
if (intSubmitterCount > 0)
{
boolSendMailSubmitter = true;
if (intEntitytypeID == 22)
{
strSubmitterMsgHeader = "Number of Review defects Submitted by " + strUserName.Trim() + ": " + Convert.ToString(intSubmitterCount);
}
else if (intEntitytypeID == 24)
{
strSubmitterMsgHeader = "Number of Test defects Submitted by " + strUserName.Trim() + ": " + Convert.ToString(intSubmitterCount);
}
}
if (intOwnerCount > 0)
{
boolSendMailOwner = true;
if (intEntitytypeID == 22)
{
strOwnerMsgHeader = "Number of Review Defects Owned by " + strUserName.Trim() + ": " + Convert.ToString(intOwnerCount);
}
else if (intEntitytypeID == 24)
{
strOwnerMsgHeader = "Number of Tests Defects Owned by " + strUserName.Trim() + ": " + Convert.ToString(intOwnerCount);
}
}
if (intAssigneeCount > 0)
{
boolSendMailAssignee = true;
if (intEntitytypeID == 22)
{
strAssignedToMsgHeader = "Number of Review Defects Assigned to " + strUserName.Trim() + ": " + Convert.ToString(intAssigneeCount);
}
else if (intEntitytypeID == 24)
{
strAssignedToMsgHeader = "Number of Tests Defects Assigned to " + strUserName.Trim() + ": " + Convert.ToString(intAssigneeCount);
}
}
}
}
if ((boolSendMailSubmitter == true) || (boolSendMailOwner == true) || (boolSendMailAssignee == true))
{
boolSendMail = true;
}
if (boolSendMail == true)
{
if (intEntitytypeID == 22)
{
strDefectMessageHeading = "SlNo, ReviewName, DefectNo., DefectTitle, Status , Priority , Severity ";
PDFDocumentForAttachment();
}
else if (intEntitytypeID == 24)
{
strDefectMessageHeading = "SlNo, TestsName, TestDefectNo., TestDefectTitle, Status , Priority , Severity ";
PDFDocumentForAttachment();
}
}
}
}
}
}
private DataSet FetchMailParameter()
{
command = new SqlCommand();
command.CommandText = "spFetchMailParameters";
command.CommandType = CommandType.StoredProcedure;
command.Connection = GetConnection();
adapter = new SqlDataAdapter(command);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds;
}
public void PDFDocumentForAttachment()
{
string strSUBMMsgBodyPart;
string strOWNMsgBodyPart;
string strASSGMsgBodyPart;
string strReportTitle;
string strBodyMain;
string strBodyEnd;
string strEntity;
string strToMailID;
strReportTitle = "";
strEntity = "";
strBodyEnd = "";
MailMessage mm = new MailMessage();
strToMailID = "Y";
if (strMailToSubmitter.Trim() == "N" && strMailToOwner.Trim() == "N" && strMailToAssignee.Trim() == "N")
{
if (strOtherMailIDs.Trim() != "")
{
strToMailID = "N";
string[] strArrCCAddresses = strOtherMailIDs.Trim().Split(new Char[] { ';' });
for (int intCount = 0; intCount < strArrCCAddresses.Length; intCount++)
{
if (strArrCCAddresses[intCount].Trim() != "")
mm.To.Add((new MailAddress(strArrCCAddresses[intCount].Trim())));
}
}
}
else
{
mm.To.Add(strUserMailID.Trim());
}
if (intEntitytypeID == 22)
{
strReportTitle = "RADAR - Defects Report";
strEntity = "Review";
mm.Subject = "RADAR - Defects - " + strUserName.Trim();
}
else if (intEntitytypeID == 24)
{
strReportTitle = "RADAR - TestDefects Report";
strEntity = "Tests";
mm.Subject = "RADAR - TestDefects - " + strUserName.Trim();
}
strBodyMain = " " +
strEntity.Trim().ToUpper() + " DEFECT SUMMARY" + "<br><br> Project: " + strProjectCode.Trim()
+ " - " + strProjectName.Trim() + "<br> User: " + strUsercode.Trim() + " - " + strUserName.Trim();
if (strOtherMailIDs.Trim() != "" && strToMailID.Trim() == "Y")
{
string[] strArrCCAddresses = strOtherMailIDs.Trim().Split(new Char[] { ';' });
for (int intCount = 0; intCount < strArrCCAddresses.Length; intCount++)
{
if (strArrCCAddresses[intCount].Trim() != "")
mm.CC.Add(new MailAddress(strArrCCAddresses[intCount].Trim()));
}
}
mm.From = new MailAddress(strFromMailID.Trim());
mm.IsBodyHtml = true;
Document pdfReport = new Document(PageSize.A4, 25, 25, 40, 25);
MemoryStream msReport = new MemoryStream();
strSUBMMsgBodyPart = "";
strOWNMsgBodyPart = "";
strASSGMsgBodyPart = "";
try
{
PdfWriter writer = PdfWriter.GetInstance(pdfReport, msReport);
writer.CloseStream = false;
FontFactory.RegisterVerdana();
iTextSharp.text.Image imgLogo = iTextSharp.text.Image.GetInstance(AppDomain.CurrentDomain.BaseDirectory + "Images//Others//cosmologo.gif");
imgLogo.ScalePercent(50);
Chunk cLogo = new Chunk(imgLogo, 0, 0);
Paragraph phHeaderLogo = new Paragraph(cLogo);
PdfPTable ptHeaderDate = new PdfPTable(1);
ptHeaderDate.SetWidths(new float[] { 100 });
ptHeaderDate.WidthPercentage = 100;
ptHeaderDate.DefaultCell.BorderWidth = 0;
ptHeaderDate.HorizontalAlignment = Element.ALIGN_RIGHT;
ptHeaderDate.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
ptHeaderDate.DefaultCell.VerticalAlignment = Element.ALIGN_BOTTOM;
ptHeaderDate.AddCell(new Phrase("Date|Time: " + DateTime.Now.ToLongDateString() + "|" + DateTime.Now.ToLongTimeString(), FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8, Font.UNDERLINE)));
PdfPTable ptHeader = new PdfPTable(2);
ptHeader.SetWidths(new float[] { 50, 50 });
ptHeader.WidthPercentage = 100;
ptHeader.DefaultCell.BorderWidth = 0;
ptHeader.AddCell(phHeaderLogo);
ptHeader.AddCell(ptHeaderDate);
Paragraph phHeader = new Paragraph();
phHeader.Add(ptHeader);
HeaderFooter header = new HeaderFooter(phHeader, false);
header.Border = 0;
header.BorderWidthBottom = .1f;
pdfReport.Header = header;
HeaderFooter footer = new HeaderFooter(new Phrase("Page ", FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8)), true);
footer.Border = 0;
footer.BorderWidthTop = .1f;
footer.Alignment = Element.ALIGN_CENTER;
pdfReport.Footer = footer;
pdfReport.AddTitle("DEFECTS");
pdfReport.AddSubject("Report Created by RADAR");
pdfReport.AddCreationDate();
pdfReport.AddProducer();
pdfReport.Open();
Paragraph phReportTitle = new Paragraph(strReportTitle, FontFactory.GetFont("Verdana", 8.5f, Font.BOLD, new Color(0, 0, 96)));
phReportTitle.Alignment = Element.ALIGN_CENTER;
pdfReport.Add(phReportTitle);
Paragraph phProjectandUserName = new Paragraph("Project: " + strProjectCode.Trim() + " - " + strProjectName.Trim(), FontFactory.GetFont("Verdana", 8.5f, Font.BOLD, new Color(0, 0, 96)));
phProjectandUserName.Alignment = Element.ALIGN_LEFT;
pdfReport.Add(phProjectandUserName);
Paragraph phUserName = new Paragraph("User: " + strUsercode.Trim() + " - " + strUserName.Trim(), FontFactory.GetFont("Verdana", 8.5f, Font.BOLD, new Color(0, 0, 96)));
phUserName.Alignment = Element.ALIGN_LEFT;
pdfReport.Add(phUserName);
PdfPTable ptSubmitterHeaderData = new PdfPTable(1);
ptSubmitterHeaderData.SpacingBefore = 8;
ptSubmitterHeaderData.DefaultCell.Padding = 1;
float[] ptheaderwidths = new float[1];
ptheaderwidths[0] = 20;
ptSubmitterHeaderData.SetWidths(ptheaderwidths);
ptSubmitterHeaderData.WidthPercentage = 100;
ptSubmitterHeaderData.DefaultCell.HorizontalAlignment = Element.ALIGN_JUSTIFIED;
ptSubmitterHeaderData.DefaultCell.VerticalAlignment = Element.ALIGN_MIDDLE;
PdfPTable ptSubmitterData = new PdfPTable(7);
ptSubmitterData.SpacingBefore = 8;
ptSubmitterData.DefaultCell.Padding = 1;
float[] headerwidths = new float[7];
for (int intColIndex = 0; intColIndex < 7; intColIndex++)
{
headerwidths[intColIndex] = 20;
}
ptSubmitterData.SetWidths(headerwidths);
ptSubmitterData.WidthPercentage = 100;
ptSubmitterData.DefaultCell.HorizontalAlignment = Element.ALIGN_JUSTIFIED;
ptSubmitterData.DefaultCell.VerticalAlignment = Element.ALIGN_MIDDLE;
PdfPTable ptOwnerHeaderData = new PdfPTable(1);
ptOwnerHeaderData.SpacingBefore = 8;
ptOwnerHeaderData.DefaultCell.Padding = 1;
float[] ptOwnheaderwidths = new float[1];
ptOwnheaderwidths[0] = 20;
ptOwnerHeaderData.SetWidths(ptOwnheaderwidths);
ptOwnerHeaderData.WidthPercentage = 100;
ptOwnerHeaderData.DefaultCell.HorizontalAlignment = Element.ALIGN_JUSTIFIED;
ptOwnerHeaderData.DefaultCell.VerticalAlignment = Element.ALIGN_MIDDLE;
PdfPTable ptOwnerData = new PdfPTable(7);
ptOwnerData.SpacingBefore = 8;
ptOwnerData.DefaultCell.Padding = 1;
float[] Ownheaderwidths = new float[7];
for (int intColIndex = 0; intColIndex < 7; intColIndex++)
{
Ownheaderwidths[intColIndex] = 20;
}
ptOwnerData.SetWidths(Ownheaderwidths);
ptOwnerData.WidthPercentage = 100;
ptOwnerData.DefaultCell.HorizontalAlignment = Element.ALIGN_JUSTIFIED;
ptOwnerData.DefaultCell.VerticalAlignment = Element.ALIGN_MIDDLE;
PdfPTable ptAssignedToHeaderData = new PdfPTable(1);
ptAssignedToHeaderData.SpacingBefore = 8;
ptAssignedToHeaderData.DefaultCell.Padding = 1;
float[] ptAssignedToheaderwidths = new float[1];
ptAssignedToheaderwidths[0] = 20;
ptAssignedToHeaderData.SetWidths(ptAssignedToheaderwidths);
ptAssignedToHeaderData.WidthPercentage = 100;
ptAssignedToHeaderData.DefaultCell.HorizontalAlignment = Element.ALIGN_JUSTIFIED;
ptAssignedToHeaderData.DefaultCell.VerticalAlignment = Element.ALIGN_MIDDLE;
PdfPTable ptAssignedToData = new PdfPTable(7);
ptAssignedToData.SpacingBefore = 8;
ptAssignedToData.DefaultCell.Padding = 1;
float[] AssignedToheaderwidths = new float[7];
for (int intColIndex = 0; intColIndex < 7; intColIndex++)
{
AssignedToheaderwidths[intColIndex] = 20;
}
ptAssignedToData.SetWidths(AssignedToheaderwidths);
ptAssignedToData.WidthPercentage = 100;
ptAssignedToData.DefaultCell.HorizontalAlignment = Element.ALIGN_JUSTIFIED;
ptAssignedToData.DefaultCell.VerticalAlignment = Element.ALIGN_MIDDLE;
if ((strSubmitterMsgHeader.Trim() != "" && strMailToSubmitter.Trim() == "Y") ||
(strSubmitterMsgHeader.Trim() != "" && strOtherMailIDs.Trim() != "" &&
strMailToAssignee.Trim() == "N" && strMailToOwner.Trim() == "N" && strMailToSubmitter.Trim() == "N"))
{
PdfPCell HeaderSubmCell = new PdfPCell();
HeaderSubmCell.BorderWidth = 0.001f;
HeaderSubmCell.BackgroundColor = new Color(156, 207, 255);
HeaderSubmCell.BorderColor = new Color(100, 100, 100);
HeaderSubmCell.Phrase = new Phrase(strSubmitterMsgHeader, FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8, Font.BOLD));
HeaderSubmCell.HorizontalAlignment = Element.ALIGN_CENTER;
ptSubmitterHeaderData.AddCell(HeaderSubmCell);
strSUBMMsgBodyPart = "<br><br>" + strSubmitterMsgHeader + "";
string[] arrMsg = strDefectMessageHeading.Split(',');
for (int intColIndex = 0; intColIndex < 7; intColIndex++)
{
PdfPCell DataSubmCellColumn = new PdfPCell();
DataSubmCellColumn.BorderWidth = 0.001f;
DataSubmCellColumn.BackgroundColor = new Color(255, 255, 156);
DataSubmCellColumn.BorderColor = new Color(100, 100, 100);
DataSubmCellColumn.Phrase = new Phrase(arrMsg[intColIndex].ToString(), FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8, Font.BOLD));
ptSubmitterData.AddCell(DataSubmCellColumn);
}
int intRowCount;
string[] arrRowCount = strSubmitterMsgHeader.Split(':');
intRowCount = Convert.ToInt32(arrRowCount[1].ToString());
string[] arrFinalMsg = strSubmitterFinalMsg.Split('|');
for (int intRCount = 0; intRCount < intRowCount; intRCount++)
{
string[] arrFinalMsg1 = arrFinalMsg[intRCount].Split(',');
for (int intColIndex = 0; intColIndex < 7; intColIndex++)
{
PdfPCell cell = new PdfPCell();
cell.BorderWidth = 0.001f;
cell.BorderColor = new Color(100, 100, 100);
cell.BackgroundColor = new Color(250, 250, 250);
cell.Phrase = new Phrase(arrFinalMsg1[intColIndex].ToString(), FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8));
ptSubmitterData.AddCell(cell);
}
}
pdfReport.Add(ptSubmitterHeaderData);
pdfReport.Add(ptSubmitterData);
}
if (strOwnerMsgHeader.Trim() != "" && strMailToOwner.Trim() == "Y" ||
(strOwnerMsgHeader.Trim() != "" && strOtherMailIDs.Trim() != "" &&
strMailToAssignee.Trim() == "N" && strMailToOwner.Trim() == "N" && strMailToSubmitter.Trim() == "N"))
{
PdfPCell HeaderOwnCell = new PdfPCell();
HeaderOwnCell.BorderWidth = 0.001f;
HeaderOwnCell.BackgroundColor = new Color(156, 207, 255);
HeaderOwnCell.BorderColor = new Color(100, 100, 100);
HeaderOwnCell.Phrase = new Phrase(strOwnerMsgHeader, FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8, Font.BOLD));
HeaderOwnCell.HorizontalAlignment = Element.ALIGN_CENTER;
ptOwnerHeaderData.AddCell(HeaderOwnCell);
strOWNMsgBodyPart = "<br><br>" + strOwnerMsgHeader + "";
string[] arrMsg = strDefectMessageHeading.Split(',');
for (int intColIndex = 0; intColIndex < 7; intColIndex++)
{
PdfPCell DataOwnCellColumn = new PdfPCell();
DataOwnCellColumn.BorderWidth = 0.001f;
DataOwnCellColumn.BackgroundColor = new Color(255, 255, 156);
DataOwnCellColumn.BorderColor = new Color(100, 100, 100);
DataOwnCellColumn.Phrase = new Phrase(arrMsg[intColIndex].ToString(), FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8, Font.BOLD));
ptOwnerData.AddCell(DataOwnCellColumn);
}
int intRowCount;
string[] arrRowCount = strOwnerMsgHeader.Split(':');
intRowCount = Convert.ToInt32(arrRowCount[1].ToString());
string[] arrFinalMsg = strOwnerFinalMsg.Split('|');
for (int intRCount = 0; intRCount < intRowCount; intRCount++)
{
string[] arrFinalMsg1 = arrFinalMsg[intRCount].Split(',');
for (int intColIndex = 0; intColIndex < 7; intColIndex++)
{
PdfPCell cell = new PdfPCell();
cell.BorderWidth = 0.001f;
cell.BorderColor = new Color(100, 100, 100);
cell.BackgroundColor = new Color(250, 250, 250);
cell.Phrase = new Phrase(arrFinalMsg1[intColIndex].ToString(), FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8));
ptOwnerData.AddCell(cell);
}
}
pdfReport.Add(ptOwnerHeaderData);
pdfReport.Add(ptOwnerData);
}
if (strAssignedToMsgHeader.Trim() != "" && strMailToAssignee.Trim() == "Y" ||
(strAssignedToMsgHeader.Trim() != "" && strOtherMailIDs.Trim() != "" &&
strMailToAssignee.Trim() == "N" && strMailToOwner.Trim() == "N" && strMailToSubmitter.Trim() == "N"))
{
PdfPCell HeaderAssgCell = new PdfPCell();
HeaderAssgCell.BorderWidth = 0.001f;
HeaderAssgCell.BackgroundColor = new Color(156, 207, 255);
HeaderAssgCell.BorderColor = new Color(100, 100, 100);
HeaderAssgCell.Phrase = new Phrase(strAssignedToMsgHeader, FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8, Font.BOLD));
HeaderAssgCell.HorizontalAlignment = Element.ALIGN_CENTER;
ptAssignedToHeaderData.AddCell(HeaderAssgCell);
strASSGMsgBodyPart = "<br><br>" + strAssignedToMsgHeader + "";
string[] arrMsg = strDefectMessageHeading.Split(',');
for (int intColIndex = 0; intColIndex < 7; intColIndex++)
{
PdfPCell DataAssgCellColumn = new PdfPCell();
DataAssgCellColumn.BorderWidth = 0.001f;
DataAssgCellColumn.BackgroundColor = new Color(255, 255, 156);
DataAssgCellColumn.BorderColor = new Color(100, 100, 100);
DataAssgCellColumn.Phrase = new Phrase(arrMsg[intColIndex].ToString(), FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8, Font.BOLD));
ptAssignedToData.AddCell(DataAssgCellColumn);
}
int intRowCount;
string[] arrRowCount = strAssignedToMsgHeader.Split(':');
intRowCount = Convert.ToInt32(arrRowCount[1].ToString());
string[] arrFinalMsg = strAssignedToFinalMsg.Split('|');
for (int intRCount = 0; intRCount < intRowCount; intRCount++)
{
string[] arrFinalMsg1 = arrFinalMsg[intRCount].Split(',');
for (int intColIndex = 0; intColIndex < 7; intColIndex++)
{
PdfPCell cell = new PdfPCell();
cell.BorderWidth = 0.001f;
cell.BorderColor = new Color(100, 100, 100);
cell.BackgroundColor = new Color(250, 250, 250);
cell.Phrase = new Phrase(arrFinalMsg1[intColIndex].ToString(), FontFactory.GetFont("Verdana", BaseFont.WINANSI, 8));
ptAssignedToData.AddCell(cell);
}
}
pdfReport.Add(ptAssignedToHeaderData);
pdfReport.Add(ptAssignedToData);
}
}
catch (DocumentException ex)
{
Console.Error.WriteLine(ex.StackTrace);
Console.Error.WriteLine(ex.Message);
}
pdfReport.Close();
msReport.Seek(0, SeekOrigin.Begin);
ContentType ct = new ContentType(MediaTypeNames.Application.Pdf);
System.Net.Mail.Attachment data = new System.Net.Mail.Attachment(msReport, ct);
ContentDisposition disposition = data.ContentDisposition;
disposition.FileName = "Defect.Pdf";
strBodyEnd = "<br><br>Please find the details of Defects in the Attachment<br><br><font size='2'>Regards,";
strBodyEnd = strBodyEnd + "<br>RADAR ADMIN</font>";
strBodyEnd = strBodyEnd + "<br> " + "<font size='1'>This is an auto generated mail. Do not reply to this mail</font>";
mm.Body = strBodyMain + strSUBMMsgBodyPart + strOWNMsgBodyPart + strASSGMsgBodyPart + strBodyEnd;
mm.Attachments.Add(data);
SmtpClient smtp = new SmtpClient();
try
{
smtp.Host = objDatasetSysPara.Tables[0].Rows[0].ItemArray[0].ToString();
smtp.Port = Convert.ToInt32(objDatasetSysPara.Tables[0].Rows[1].ItemArray[0].ToString());
string strSMTPUserName = string.Empty;
string strSMTPPassword = string.Empty;
string strSSL = string.Empty;
if (objDatasetSysPara.Tables[0].Rows.Count > 4)
{
strSMTPUserName = objDatasetSysPara.Tables[0].Rows[5].ItemArray[0].ToString().Trim();
strSMTPPassword = objDatasetSysPara.Tables[0].Rows[6].ItemArray[0].ToString().Trim();
strSSL = objDatasetSysPara.Tables[0].Rows[7].ItemArray[0].ToString().Trim();
}
if (strSSL.ToUpper().Equals("TRUE"))
{
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential(strSMTPUserName, strSMTPPassword);
}
smtp.Send(mm);
}
catch (Exception ex)
{
throw ex;
}
finally
{
pdfReport.Close();
pdfReport = null;
ct = null;
data = null;
disposition = null;
mm = null;
smtp = null;
}
}
#endregion
}
#endregion
}
#endregion
Please let me know the reason asap
Thank You
Chaitanya.E
|