
ProTech-Online.com
This is a C# code example of a Outlook 2010 Add-in Form Region.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Office = Microsoft.Office.Core;
using Outlook = Microsoft.Office.Interop.Outlook;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
using System.Drawing.Drawing2D;
//using System.Collections.Generic;
using System.Diagnostics;
namespace ChadSytelineOutlookAddIn
{
partial class cSyteline
{
#region Form
Region Factory
private static SqlConnection testsite_con = new SqlConnection(ChadSytelineOutlookAddIn.Properties.Settings.Default.testsiteConnectionString);
private static SqlConnection testsite3_con = new SqlConnection(ChadSytelineOutlookAddIn.Properties.Settings.Default.testsite3ConnectionString);
private static SqlConnection testsite2_con = new SqlConnection(ChadSytelineOutlookAddIn.Properties.Settings.Default.testsite2ConnectionString);
private static SqlCommand testsite_cmd = new SqlCommand("Chad._chad_outlook_addin_find_contacts",
testsite_con);
private static SqlCommand testsite3_cmd = new SqlCommand("Chad._chad_outlook_addin_find_contacts",
testsite3_con);
private static SqlCommand testsite2_cmd = new SqlCommand("Chad._chad_outlook_addin_find_contacts",
testsite2_con);
private static SqlCommand testsite_cmd2 = new SqlCommand("Chad._chad_outlook_addin_find_byname_contacts",
testsite_con);
private static SqlCommand testsite3_cmd2 = new SqlCommand("Chad._chad_outlook_addin_find_byname_contacts",
testsite3_con);
private static SqlCommand testsite2_cmd2 = new SqlCommand("Chad._chad_outlook_addin_find_byname_contacts",
testsite2_con);
private static SqlCommand testsite_cmd3 = new SqlCommand("Chad._chad_outlook_addin_import_email",
testsite_con);
private static SqlCommand testsite3_cmd3 = new SqlCommand("Chad._chad_outlook_addin_import_email",
testsite3_con);
private static SqlCommand testsite2_cmd3 = new SqlCommand("Chad._chad_outlook_addin_import_email",
testsite2_con);
private static SqlCommand testsite_cmd4 = new SqlCommand("Chad._chad_outlook_addin_import_email_doctrak",
testsite_con);
private static SqlCommand testsite3_cmd4 = new SqlCommand("Chad._chad_outlook_addin_import_email_doctrak",
testsite3_con);
private static SqlCommand testsite2_cmd4 = new SqlCommand("Chad._chad_outlook_addin_import_email_doctrak",
testsite2_con);
private string SenderEmailAddress;
private static Boolean EmailFromAddress;
[Microsoft.Office.Tools.Outlook.FormRegionMessageClass(Microsoft.Office.Tools.Outlook.FormRegionMessageClassAttribute.Note)]
[Microsoft.Office.Tools.Outlook.FormRegionName("ChadSytelineOutlookAddIn.cSyteline")]
public partial class cSytelineFactory
{
// Occurs before the form region is initialized.
// To prevent the form region from appearing, set e.Cancel
to true.
// Use e.OutlookItem to get a reference to the current
Outlook item.
private void cSytelineFactory_FormRegionInitializing(object sender, Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs e)
{
Outlook.MailItem CurrentMailItem =
(Outlook.MailItem)e.OutlookItem;
if (CurrentMailItem != null &&
!CurrentMailItem.Parent.FolderPath.Contains("Outbox")
&& !CurrentMailItem.Parent.FolderPath.Contains("Drafts"))
{
if (CurrentMailItem.Parent.FolderPath.Contains("Inbox"))
EmailFromAddress = true;
else
EmailFromAddress = false;
if (testsite_cmd.Parameters.Count == 0)
{
testsite_cmd.CommandType
= CommandType.StoredProcedure;
testsite_cmd.Parameters.Add("@EmailAddress", SqlDbType.NVarChar, 60);
testsite_cmd.Parameters.Add("@SC_Only", SqlDbType.Int);
testsite3_cmd.CommandType = CommandType.StoredProcedure;
testsite3_cmd.Parameters.Add("@EmailAddress", SqlDbType.NVarChar, 60);
testsite3_cmd.Parameters.Add("@SC_Only", SqlDbType.Int);
testsite2_cmd.CommandType
= CommandType.StoredProcedure;
testsite2_cmd.Parameters.Add("@EmailAddress", SqlDbType.NVarChar, 60);
testsite2_cmd.Parameters.Add("@SC_Only", SqlDbType.Int);
testsite_cmd2.CommandType
= CommandType.StoredProcedure;
testsite_cmd2.Parameters.Add("@SearchText", SqlDbType.NVarChar,
60);
testsite_cmd2.Parameters.Add("@SC_Only", SqlDbType.Int);
testsite3_cmd2.CommandType = CommandType.StoredProcedure;
testsite3_cmd2.Parameters.Add("@SearchText", SqlDbType.NVarChar,
60);
testsite3_cmd2.Parameters.Add("@SC_Only", SqlDbType.Int);
testsite2_cmd2.CommandType
= CommandType.StoredProcedure;
testsite2_cmd2.Parameters.Add("@SearchText", SqlDbType.NVarChar,
60);
testsite2_cmd2.Parameters.Add("@SC_Only", SqlDbType.Int);
testsite_cmd3.CommandType
= CommandType.StoredProcedure;
testsite_cmd3.Parameters.Add("@email_module", SqlDbType.NVarChar, 60);
testsite_cmd3.Parameters.Add("@SL_CUSTNUM", SqlDbType.NVarChar, 7);
testsite_cmd3.Parameters.Add("@SL_SEQNUM", SqlDbType.Int);
testsite_cmd3.Parameters.Add("@SL_CONTACT_DATE", SqlDbType.DateTime);
testsite_cmd3.Parameters.Add("@SL_TOPIC", SqlDbType.NVarChar, 15);
testsite_cmd3.Parameters.Add("@SL_TYPE", SqlDbType.NChar, 1);
testsite_cmd3.Parameters.Add("@SL_EMAIL_STATUS", SqlDbType.NChar, 1);
testsite_cmd3.Parameters.Add("@SL_INCOMING", SqlDbType.TinyInt);
testsite_cmd3.Parameters.Add("@Body", SqlDbType.NVarChar);
testsite_cmd3.Parameters.Add("@SL_ENTERED_BY", SqlDbType.NVarChar, 60);
testsite_cmd3.Parameters.Add("@Subject", SqlDbType.NVarChar, 40);
testsite_cmd3.Parameters.Add("@NewInteraction_id", SqlDbType.NVarChar, 40);
testsite_cmd3.Parameters["@NewInteraction_id"].Direction = ParameterDirection.Output;
testsite_cmd3.Parameters.Add("@NewInteractionRowPointer", SqlDbType.NVarChar, 40);
testsite_cmd3.Parameters["@NewInteractionRowPointer"].Direction = ParameterDirection.Output;
testsite3_cmd3.CommandType = CommandType.StoredProcedure;
testsite3_cmd3.Parameters.Add("@email_module", SqlDbType.NVarChar, 60);
testsite3_cmd3.Parameters.Add("@SL_CUSTNUM", SqlDbType.NVarChar,
7);
testsite3_cmd3.Parameters.Add("@SL_SEQNUM", SqlDbType.Int);
testsite3_cmd3.Parameters.Add("@SL_CONTACT_DATE", SqlDbType.DateTime);
testsite3_cmd3.Parameters.Add("@SL_TOPIC", SqlDbType.NVarChar,
15);
testsite3_cmd3.Parameters.Add("@SL_TYPE", SqlDbType.NChar,
1);
testsite3_cmd3.Parameters.Add("@SL_EMAIL_STATUS", SqlDbType.NChar, 1);
testsite3_cmd3.Parameters.Add("@SL_INCOMING", SqlDbType.TinyInt);
testsite3_cmd3.Parameters.Add("@Body", SqlDbType.NVarChar);
testsite3_cmd3.Parameters.Add("@SL_ENTERED_BY", SqlDbType.NVarChar, 60);
testsite3_cmd3.Parameters.Add("@Subject", SqlDbType.NVarChar,
40);
testsite3_cmd3.Parameters.Add("@NewInteraction_id", SqlDbType.NVarChar, 40);
testsite3_cmd3.Parameters["@NewInteraction_id"].Direction = ParameterDirection.Output;
testsite3_cmd3.Parameters.Add("@NewInteractionRowPointer", SqlDbType.NVarChar, 40);
testsite3_cmd3.Parameters["@NewInteractionRowPointer"].Direction = ParameterDirection.Output;
testsite2_cmd3.CommandType
= CommandType.StoredProcedure;
testsite2_cmd3.Parameters.Add("@email_module", SqlDbType.NVarChar, 60);
testsite2_cmd3.Parameters.Add("@SL_CUSTNUM", SqlDbType.NVarChar, 7);
testsite2_cmd3.Parameters.Add("@SL_SEQNUM", SqlDbType.Int);
testsite2_cmd3.Parameters.Add("@SL_CONTACT_DATE", SqlDbType.DateTime);
testsite2_cmd3.Parameters.Add("@SL_TOPIC", SqlDbType.NVarChar, 15);
testsite2_cmd3.Parameters.Add("@SL_TYPE", SqlDbType.NChar, 1);
testsite2_cmd3.Parameters.Add("@SL_EMAIL_STATUS", SqlDbType.NChar, 1);
testsite2_cmd3.Parameters.Add("@SL_INCOMING", SqlDbType.TinyInt);
testsite2_cmd3.Parameters.Add("@Body", SqlDbType.NVarChar);
testsite2_cmd3.Parameters.Add("@SL_ENTERED_BY", SqlDbType.NVarChar, 60);
testsite2_cmd3.Parameters.Add("@Subject", SqlDbType.NVarChar, 40);
testsite2_cmd3.Parameters.Add("@NewInteraction_id", SqlDbType.NVarChar, 40);
testsite2_cmd3.Parameters["@NewInteraction_id"].Direction = ParameterDirection.Output;
testsite2_cmd3.Parameters.Add("@NewInteractionRowPointer", SqlDbType.NVarChar, 40);
testsite2_cmd3.Parameters["@NewInteractionRowPointer"].Direction = ParameterDirection.Output;
testsite_cmd4.CommandType
= CommandType.StoredProcedure;
testsite_cmd4.Parameters.Add("@MOD", SqlDbType.NVarChar, 20);
testsite_cmd4.Parameters.Add("@TYPE", SqlDbType.NChar, 1);
testsite_cmd4.Parameters.Add("@FILENAME", SqlDbType.NVarChar, 200);
testsite_cmd4.Parameters.Add("@DESCRIPTION", SqlDbType.NVarChar, 40);
testsite_cmd4.Parameters.Add("@VALUE1", SqlDbType.NVarChar, 40);
testsite_cmd4.Parameters.Add("@VALUE2", SqlDbType.NVarChar, 40);
testsite3_cmd4.CommandType = CommandType.StoredProcedure;
testsite3_cmd4.Parameters.Add("@MOD", SqlDbType.NVarChar,
20);
testsite3_cmd4.Parameters.Add("@TYPE", SqlDbType.NChar,
1);
testsite3_cmd4.Parameters.Add("@FILENAME", SqlDbType.NVarChar,
200);
testsite3_cmd4.Parameters.Add("@DESCRIPTION", SqlDbType.NVarChar,
40);
testsite3_cmd4.Parameters.Add("@VALUE1", SqlDbType.NVarChar,
40);
testsite3_cmd4.Parameters.Add("@VALUE2", SqlDbType.NVarChar,
40);
testsite2_cmd4.CommandType
= CommandType.StoredProcedure;
testsite2_cmd4.Parameters.Add("@MOD", SqlDbType.NVarChar, 20);
testsite2_cmd4.Parameters.Add("@TYPE", SqlDbType.NChar, 1);
testsite2_cmd4.Parameters.Add("@FILENAME", SqlDbType.NVarChar, 200);
testsite2_cmd4.Parameters.Add("@DESCRIPTION", SqlDbType.NVarChar, 40);
testsite2_cmd4.Parameters.Add("@VALUE1", SqlDbType.NVarChar, 40);
testsite2_cmd4.Parameters.Add("@VALUE2", SqlDbType.NVarChar, 40);
}
return;
}
else
e.Cancel = true;
}
}
#endregion
// Occurs before the form region is displayed.
// Use this.OutlookItem to get a reference to the current
Outlook item.
// Use this.OutlookFormRegion to get a reference to the
form region.
private void cSyteline_FormRegionShowing(object sender,
System.EventArgs e)
{
if (EmailFromAddress)
rbFromAddress.Checked = true;
else
rbToAddress.Checked = true;
switch (Globals.ThisAddIn.SytelineSystem)
{
case "testsite":
rbFromTostestsite.Checked = true;
rbFindtestsite.Checked = true;
break;
case "testsite2":
rbFromTostestsite2.Checked = true;
rbFindtestsite2.Checked = true;
break;
case "testsite3":
rbFromTostestsite3.Checked = true;
rbFindtestsite3.Checked = true;
break;
}
}
// Occurs when the form region is closed.
// Use this.OutlookItem to get a reference to the current
Outlook item.
// Use this.OutlookFormRegion to get a reference to the
form region.
private void cSyteline_FormRegionClosed(object sender,
System.EventArgs e)
{
}
private void FromTosFindtestsite()
{
try
{
if (Syteline_ds.Tables["Search_Results"].Rows.Count > 0)
Syteline_ds.Tables["Search_Results"].Clear();
// Get the AppSettings section.
string PR_SMTP_ADDRESS = @"http://schemas.microsoft.com/mapi/proptag/0x39FE001E";
Outlook.MailItem CurrentMailItem =
(Outlook.MailItem)this.OutlookItem;
if (EmailFromAddress)
{
if (CurrentMailItem.SenderEmailType == "EX")
{
Outlook.AddressEntry tmp_sender =
CurrentMailItem.Sender;
if (tmp_sender != null)
{
//Now we have an AddressEntry representing the Sender
if (tmp_sender.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeUserAddressEntry
||
tmp_sender.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeRemoteUserAddressEntry)
{
//Use the ExchangeUser object PrimarySMTtestsite3ddress
Outlook.ExchangeUser exchUser =
tmp_sender.GetExchangeUser();
if (exchUser != null)
{
SenderEmailAddress = exchUser.PrimarySmtpAddress;
}
}
else
{
SenderEmailAddress
= tmp_sender.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS);
}
}
}
else if (CurrentMailItem.SenderEmailAddress != null)
{
SenderEmailAddress =
CurrentMailItem.SenderEmailAddress;
}
testsite_cmd.Parameters["@EmailAddress"].Value
= SenderEmailAddress;
testsite_cmd.Parameters["@SC_Only"].Value
= cbFromTosSalesContacts.Checked ? 1 : 0;
testsite_con.Open();
SqlDataReader reader =
testsite_cmd.ExecuteReader();
while (reader.Read())
{
Syteline_ds.Tables["Search_Results"].Rows.Add(false
,
reader[0].ToString()
,
reader[1].ToString()
,
reader[2].ToString()
,
reader[3].ToString()
, reader[4].ToString()
,
reader[5].ToString()
,
reader[6].ToString()
,
reader[7].ToString()
,
reader[8].ToString()
,
reader[9].ToString()
,
reader[10].ToString()
,
reader[11].ToString()
,
reader[12].ToString()
,"testsite");
}
reader.Close();
testsite_con.Close();
}
else
{
Outlook.Recipients recips =
CurrentMailItem.Recipients;
foreach (Outlook.Recipient recip in recips)
{
Outlook.PropertyAccessor testsite3 = recip.PropertyAccessor;
string smtpAddress = testsite3.GetProperty(PR_SMTP_ADDRESS).ToString();
testsite_cmd.Parameters["@EmailAddress"].Value = smtpAddress;
testsite_cmd.Parameters["@SC_Only"].Value =
cbFromTosSalesContacts.Checked ? 1 : 0;
testsite_con.Open();
SqlDataReader reader = testsite_cmd.ExecuteReader();
while (reader.Read())
{
Syteline_ds.Tables["Search_Results"].Rows.Add(false
,
reader[0].ToString()
,
reader[1].ToString()
,
reader[2].ToString()
,
reader[3].ToString()
,
reader[4].ToString()
, reader[5].ToString()
,
reader[6].ToString()
,
reader[7].ToString()
,
reader[8].ToString()
,
reader[9].ToString()
,
reader[10].ToString()
,
reader[11].ToString()
,
reader[12].ToString()
, "testsite");
}
reader.Close();
testsite_con.Close();
}
}
Syteline_ds.AcceptChanges();
dgvFromTosResults.AutoResizeColumns();
dgvFromTosResults.Refresh();
}
catch (Exception ex)
{
testsite_con.Close();
MessageBox.Show("Error Occured: " + ex.Message, "Chad Syteline Outlook AddIn");
}
}
private void FromTosFindtestsite3()
{
try
{
if (Syteline_ds.Tables["Search_Results"].Rows.Count > 0)
Syteline_ds.Tables["Search_Results"].Clear();
// Get the AppSettings section.
string PR_SMTP_ADDRESS = @"http://schemas.microsoft.com/mapi/proptag/0x39FE001E";
Outlook.MailItem CurrentMailItem =
(Outlook.MailItem)this.OutlookItem;
if (EmailFromAddress)
{
if (CurrentMailItem.SenderEmailType == "EX")
{
Outlook.AddressEntry tmp_sender =
CurrentMailItem.Sender;
if (tmp_sender != null)
{
//Now
we have an AddressEntry representing the Sender
if (tmp_sender.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeUserAddressEntry
||
tmp_sender.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeRemoteUserAddressEntry)
{
//Use the ExchangeUser object PrimarySMTtestsite3ddress
Outlook.ExchangeUser exchUser =
tmp_sender.GetExchangeUser();
if (exchUser != null)
{
SenderEmailAddress = exchUser.PrimarySmtpAddress;
}
}
else
{
SenderEmailAddress =
tmp_sender.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS);
}
}
}
else if (CurrentMailItem.SenderEmailAddress != null)
{
SenderEmailAddress =
CurrentMailItem.SenderEmailAddress;
}
testsite3_cmd.Parameters["@EmailAddress"].Value
= SenderEmailAddress;
testsite3_cmd.Parameters["@SC_Only"].Value
= cbFromTosSalesContacts.Checked ? 1 : 0;
testsite3_con.Open();
SqlDataReader reader =
testsite3_cmd.ExecuteReader();
while (reader.Read())
{
Syteline_ds.Tables["Search_Results"].Rows.Add(false
,
reader[0].ToString()
,
reader[1].ToString()
,
reader[2].ToString()
,
reader[3].ToString()
,
reader[4].ToString()
,
reader[5].ToString()
,
reader[6].ToString()
,
reader[7].ToString()
,
reader[8].ToString()
,
reader[9].ToString()
,
reader[10].ToString()
,
reader[11].ToString()
,
reader[12].ToString()
, "testsite3");
}
reader.Close();
testsite3_con.Close();
}
else
{
Outlook.Recipients recips =
CurrentMailItem.Recipients;
foreach (Outlook.Recipient recip in recips)
{
Outlook.PropertyAccessor testsite3 = recip.PropertyAccessor;
string smtpAddress = testsite3.GetProperty(PR_SMTP_ADDRESS).ToString();
testsite3_cmd.Parameters["@EmailAddress"].Value = smtpAddress;
testsite3_cmd.Parameters["@SC_Only"].Value =
cbFromTosSalesContacts.Checked ? 1 : 0;
testsite3_con.Open();
SqlDataReader reader = testsite3_cmd.ExecuteReader();
while (reader.Read())
{
Syteline_ds.Tables["Search_Results"].Rows.Add(false
,
reader[0].ToString()
,
reader[1].ToString()
,
reader[2].ToString()
,
reader[3].ToString()
,
reader[4].ToString()
,
reader[5].ToString()
, reader[6].ToString()
,
reader[7].ToString()
,
reader[8].ToString()
,
reader[9].ToString()
,
reader[10].ToString()
, reader[11].ToString()
,
reader[12].ToString()
, "testsite3");
}
reader.Close();
testsite3_con.Close();
}
}
Syteline_ds.AcceptChanges();
dgvFromTosResults.AutoResizeColumns();
dgvFromTosResults.Refresh();
}
catch (Exception ex)
{
testsite3_con.Close();
MessageBox.Show("Error Occured: " + ex.Message, "Chad Syteline Outlook AddIn");
}
}
private void FromTosFindtestsite2()
{
try
{
if (Syteline_ds.Tables["Search_Results"].Rows.Count > 0)
Syteline_ds.Tables["Search_Results"].Clear();
// Get the AppSettings section.
string PR_SMTP_ADDRESS = @"http://schemas.microsoft.com/mapi/proptag/0x39FE001E";
Outlook.MailItem CurrentMailItem =
(Outlook.MailItem)this.OutlookItem;
if (EmailFromAddress)
{
if (CurrentMailItem.SenderEmailType == "EX")
{
Outlook.AddressEntry tmp_sender =
CurrentMailItem.Sender;
if (tmp_sender != null)
{
//Now we have an AddressEntry representing the Sender
if (tmp_sender.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeUserAddressEntry
||
tmp_sender.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeRemoteUserAddressEntry)
{
//Use the ExchangeUser object PrimarySMTtestsite3ddress
Outlook.ExchangeUser exchUser =
tmp_sender.GetExchangeUser();
if (exchUser != null)
{
SenderEmailAddress
= exchUser.PrimarySmtpAddress;
}
}
else
{
SenderEmailAddress = tmp_sender.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS);
}
}
}
else if (CurrentMailItem.SenderEmailAddress != null)
{
SenderEmailAddress =
CurrentMailItem.SenderEmailAddress;
}
testsite2_cmd.Parameters["@EmailAddress"].Value
= SenderEmailAddress;
testsite2_cmd.Parameters["@SC_Only"].Value
= cbFromTosSalesContacts.Checked ? 1 : 0;
testsite2_con.Open();
SqlDataReader reader =
testsite2_cmd.ExecuteReader();
while (reader.Read())
{
Syteline_ds.Tables["Search_Results"].Rows.Add(false
, reader[0].ToString()
,
reader[1].ToString()
,
reader[2].ToString()
,
reader[3].ToString()
,
reader[4].ToString()
,
reader[5].ToString()
,
reader[6].ToString()
,
reader[7].ToString()
,
reader[8].ToString()
,
reader[9].ToString()
,
reader[10].ToString()
,
reader[11].ToString()
,
reader[12].ToString()
, "testsite2");
}
reader.Close();
testsite2_con.Close();
}
else
{
Outlook.Recipients recips =
CurrentMailItem.Recipients;
foreach (Outlook.Recipient recip in recips)
{
Outlook.PropertyAccessor testsite3 = recip.PropertyAccessor;
string smtpAddress = testsite3.GetProperty(PR_SMTP_ADDRESS).ToString();
testsite2_cmd.Parameters["@EmailAddress"].Value = smtpAddress;
testsite2_cmd.Parameters["@SC_Only"].Value =
cbFromTosSalesContacts.Checked ? 1 : 0;
testsite2_con.Open();
SqlDataReader reader = testsite2_cmd.ExecuteReader();
while (reader.Read())
{
Syteline_ds.Tables["Search_Results"].Rows.Add(false
,
reader[0].ToString()
,
reader[1].ToString()
,
reader[2].ToString()
,
reader[3].ToString()
,
reader[4].ToString()
,
reader[5].ToString()
, reader[6].ToString()
,
reader[7].ToString()
,
reader[8].ToString()
,
reader[9].ToString()
,
reader[10].ToString()
,
reader[11].ToString()
,
reader[12].ToString()
, "testsite2");
}
reader.Close();
testsite2_con.Close();
}
}
Syteline_ds.AcceptChanges();
dgvFromTosResults.AutoResizeColumns();
dgvFromTosResults.Refresh();
}
catch (Exception ex)
{
testsite2_con.Close();
MessageBox.Show("Error Occured: " + ex.Message, "Chad Syteline Outlook AddIn");
}
}
private void rbFromAddress_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = sender as RadioButton;
if (rb == null)
{
return;
}
if (rb.Checked)
{
EmailFromAddress = true;
}
}
private void rbToAddress_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = sender as RadioButton;
if (rb == null)
{
return;
}
if (rb.Checked)
{
EmailFromAddress = false;
}
}
private void btnFromTosFind_Click(object sender, EventArgs e)
{
if (rbFromTostestsite.Checked)
FromTosFindtestsite();
else if (rbFromTostestsite3.Checked)
FromTosFindtestsite3();
else if (rbFromTostestsite2.Checked)
FromTosFindtestsite2();
}
private void dgvFromTosResults_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex > -1)
if (dgvFromTosResults.Rows[e.RowIndex].Cells[e.ColumnIndex].OwningColumn.Name == "selectDataGridViewCheckBoxColumn1")
if ((bool)dgvFromTosResults.Rows[e.RowIndex].Cells[e.ColumnIndex].Value)
dgvFromTosResults.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = false;
else
dgvFromTosResults.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = true;
}
private void rbFromTostestsite_CheckedChanged(object sender, EventArgs e)
{
Globals.ThisAddIn.SytelineSystem = "testsite";
}
private void rbFromTostestsite3_CheckedChanged(object sender, EventArgs e)
{
Globals.ThisAddIn.SytelineSystem = "testsite3";
}
private void rbFromTostestsite2_CheckedChanged(object sender, EventArgs e)
{
Globals.ThisAddIn.SytelineSystem = "testsite2";
}
private void tbnFindFind_Click(object sender, EventArgs e)
{
if (tbSearchText.Text != "")
{
if (rbFindtestsite.Checked)
Findtestsite();
else if (rbFindtestsite3.Checked)
Findtestsite3();
else if (rbFindtestsite2.Checked)
Findtestsite2();
}
}
private void Findtestsite()
{
try
{
if (SearchText_ds.Tables["SearchTextResults"].Rows.Count > 0)
SearchText_ds.Tables["SearchTextResults"].Clear();
testsite_cmd2.Parameters["@SearchText"].Value
= tbSearchText.Text;
testsite_cmd2.Parameters["@SC_Only"].Value
= cbFindSalesContacts.Checked ? 1 : 0;
testsite_con.Open();
SqlDataReader reader =
testsite_cmd2.ExecuteReader();
while (reader.Read())
{
SearchText_ds.Tables["SearchTextResults"].Rows.Add(false
, reader[0].ToString()
, reader[1].ToString()
, reader[2].ToString()
, reader[3].ToString()
, reader[4].ToString()
, reader[5].ToString()
, reader[6].ToString()
, reader[7].ToString()
, reader[8].ToString()
, reader[9].ToString()
, reader[10].ToString()
, reader[11].ToString()
, reader[12].ToString()
, "testsite");
}
reader.Close();
testsite_con.Close();
SearchText_ds.AcceptChanges();
dgvFindResults.AutoResizeColumns();
dgvFindResults.Refresh();
}
catch (Exception ex)
{
testsite_con.Close();
MessageBox.Show("Error Occured: " + ex.Message, "Chad Syteline Outlook AddIn");
}
}
private void Findtestsite3()
{
try
{
if (SearchText_ds.Tables["SearchTextResults"].Rows.Count > 0)
SearchText_ds.Tables["SearchTextResults"].Clear();
testsite3_cmd2.Parameters["@SearchText"].Value
= tbSearchText.Text;
testsite3_cmd2.Parameters["@SC_Only"].Value
= cbFindSalesContacts.Checked ? 1 : 0;
testsite3_con.Open();
SqlDataReader reader =
testsite3_cmd2.ExecuteReader();
while (reader.Read())
{
SearchText_ds.Tables["SearchTextResults"].Rows.Add(false
, reader[0].ToString()
, reader[1].ToString()
, reader[2].ToString()
, reader[3].ToString()
, reader[4].ToString()
, reader[5].ToString()
, reader[6].ToString()
, reader[7].ToString()
, reader[8].ToString()
, reader[9].ToString()
, reader[10].ToString()
, reader[11].ToString()
, reader[12].ToString()
, "testsite3");
}
reader.Close();
testsite3_con.Close();
SearchText_ds.AcceptChanges();
dgvFindResults.AutoResizeColumns();
dgvFindResults.Refresh();
}
catch (Exception ex)
{
testsite3_con.Close();
MessageBox.Show("Error Occured: " + ex.Message, "Chad Syteline Outlook AddIn");
}
}
private void Findtestsite2()
{
try
{
if (SearchText_ds.Tables["SearchTextResults"].Rows.Count > 0)
SearchText_ds.Tables["SearchTextResults"].Clear();
testsite2_cmd2.Parameters["@SearchText"].Value
= tbSearchText.Text;
testsite2_cmd2.Parameters["@SC_Only"].Value
= cbFindSalesContacts.Checked ? 1 : 0;
testsite2_con.Open();
SqlDataReader reader =
testsite2_cmd2.ExecuteReader();
while (reader.Read())
{
SearchText_ds.Tables["SearchTextResults"].Rows.Add(false
, reader[0].ToString()
, reader[1].ToString()
, reader[2].ToString()
, reader[3].ToString()
, reader[4].ToString()
, reader[5].ToString()
, reader[6].ToString()
, reader[7].ToString()
, reader[8].ToString()
, reader[9].ToString()
, reader[10].ToString()
, reader[11].ToString()
, reader[12].ToString()
, "testsite2");
}
reader.Close();
testsite2_con.Close();
SearchText_ds.AcceptChanges();
dgvFindResults.AutoResizeColumns();
dgvFindResults.Refresh();
}
catch (Exception ex)
{
testsite2_con.Close();
MessageBox.Show("Error Occured: " + ex.Message, "Chad Syteline Outlook AddIn");
}
}
private void dgvFindResults_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex > -1)
if (dgvFindResults.Rows[e.RowIndex].Cells[e.ColumnIndex].OwningColumn.Name == "selectDataGridViewCheckBoxColumn")
if ((bool)dgvFindResults.Rows[e.RowIndex].Cells[e.ColumnIndex].Value)
dgvFindResults.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = false;
else
dgvFindResults.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = true;
}
private void btnFromTosAdd_Click(object sender, EventArgs e)
{
if (Syteline_ds.Tables["Search_Results"].Rows.Count
> 0)
{
foreach (DataRow i in Syteline_ds.Tables["Search_Results"].Rows)
{
if ((bool)i.ItemArray[0])
{
Exports_ds.Tables["Exports"].ImportRow(i);
}
}
Exports_ds.AcceptChanges();
dgvExports.AutoResizeColumns();
dgvExports.Refresh();
}
}
private void btnFindAdd_Click(object sender, EventArgs e)
{
if (SearchText_ds.Tables["SearchTextResults"].Rows.Count
> 0)
{
foreach (DataRow i in SearchText_ds.Tables["SearchTextResults"].Rows)
{
if ((bool)i.ItemArray[0])
{
Exports_ds.Tables["Exports"].ImportRow(i);
}
}
Exports_ds.AcceptChanges();
dgvExports.AutoResizeColumns();
dgvExports.Refresh();
}
}
private void btnExportClear_Click(object sender, EventArgs e)
{
Exports_ds.Tables["Exports"].Clear();
Exports_ds.AcceptChanges();
dgvExports.AutoResizeColumns();
dgvExports.Refresh();
}
private void btnExport_Click(object sender, EventArgs e)
{
string EmailSubject = "";
string EmailContent = "Sender:
";
DateTime ContactDate;
int EmailIncoming = 0;
string EmailFilename = "";
Outlook.MailItem CurrentMailItem =
(Outlook.MailItem)this.OutlookItem;
Outlook.Recipients recips =
CurrentMailItem.Recipients;
EmailContent += CurrentMailItem.Sender.Name + "\n\n";
EmailContent += "To: " +
CurrentMailItem.To + "\n";
EmailContent += "CC: " +
CurrentMailItem.CC + "\n";
EmailContent += "BCC: " +
CurrentMailItem.BCC + "\n\n";
EmailContent += "Subject: " + CurrentMailItem.Subject + "\n\n";
if(CurrentMailItem.Subject.Length > 40)
EmailSubject = CurrentMailItem.Subject.Substring(0, 39);
else
EmailSubject = CurrentMailItem.Subject;
EmailContent += CurrentMailItem.Body + "\n\n";
if (CurrentMailItem.Parent.FolderPath.Contains("Inbox"))
{
ContactDate = CurrentMailItem.ReceivedTime;
EmailIncoming = 1;
}
else
ContactDate = CurrentMailItem.SentOn;
if (Exports_ds.Tables["Exports"].Rows.Count
> 0)
{
foreach (DataRow i in Exports_ds.Tables["Exports"].Rows)
{
switch(i.ItemArray[14].ToString())
{
case "testsite":
testsite_cmd3.Parameters["@email_module"].Value =
i.ItemArray[1].ToString();
testsite_cmd3.Parameters["@SL_CUSTNUM"].Value
= i.ItemArray[4].ToString();
testsite_cmd3.Parameters["@SL_SEQNUM"].Value
= i.ItemArray[5];
testsite_cmd3.Parameters["@SL_CONTACT_DATE"].Value
= ContactDate;
testsite_cmd3.Parameters["@SL_TOPIC"].Value
= "Outlook Import";
testsite_cmd3.Parameters["@SL_TYPE"].Value
= "E";
testsite_cmd3.Parameters["@SL_EMAIL_STATUS"].Value
= "X";
testsite_cmd3.Parameters["@SL_INCOMING"].Value
= EmailIncoming;
testsite_cmd3.Parameters["@Body"].Value
= EmailContent;
testsite_cmd3.Parameters["@SL_ENTERED_BY"].Value
= Globals.ThisAddIn.SytelineUsername;
testsite_cmd3.Parameters["@Subject"].Value
= EmailSubject;
testsite_con.Open();
testsite_cmd3.ExecuteNonQuery();
testsite_con.Close();
EmailFilename = Globals.ThisAddIn.SytelineSavePath + @"\testsite\Email_" +
testsite_cmd3.Parameters["@NewInteractionRowPointer"].Value
+ ".msg";
switch (i.ItemArray[1].ToString())
{
case "Cust
ShipTo":
testsite_CreateDocTrak("CustomerInteraction", EmailFilename, "Int-" + testsite_cmd3.Parameters["@NewInteraction_id"].Value.ToString() + "-Email",
i.ItemArray[4].ToString(), i.ItemArray[5].ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Cust ShipTo
SC":
testsite_CreateDocTrak("CustomerInteraction",
EmailFilename, "Int-" + testsite_cmd3.Parameters["@NewInteraction_id"].Value.ToString() + "-Email",
i.ItemArray[4].ToString(), i.ItemArray[5].ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Service
Contacts":
testsite_CreateDocTrak("CustomerInteraction",
EmailFilename, "Int-" +
testsite_cmd3.Parameters["@NewInteraction_id"].Value.ToString()
+ "-Email",
i.ItemArray[4].ToString(), i.ItemArray[5].ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Prospects
SC":
testsite_CreateDocTrak("Prospect
Interaction", EmailFilename, "Email-" + EmailSubject, i.ItemArray[4].ToString(),
testsite_cmd3.Parameters["@NewInteractionRowPointer"].Value.ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Sales
Contacts":
testsite_CreateDocTrak("Sls Cont
Interaction", EmailFilename, "Email-" + EmailSubject, i.ItemArray[4].ToString(),
testsite_cmd3.Parameters["@NewInteractionRowPointer"].Value.ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
}
break;
case "testsite3":
testsite3_cmd3.Parameters["@email_module"].Value =
i.ItemArray[1].ToString();
testsite3_cmd3.Parameters["@SL_CUSTNUM"].Value =
i.ItemArray[4].ToString();
testsite3_cmd3.Parameters["@SL_SEQNUM"].Value = i.ItemArray[5];
testsite3_cmd3.Parameters["@SL_CONTACT_DATE"].Value = ContactDate;
testsite3_cmd3.Parameters["@SL_TOPIC"].Value = "Outlook Import";
testsite3_cmd3.Parameters["@SL_TYPE"].Value = "E";
testsite3_cmd3.Parameters["@SL_EMAIL_STATUS"].Value = "X";
testsite3_cmd3.Parameters["@SL_INCOMING"].Value = EmailIncoming;
testsite3_cmd3.Parameters["@Body"].Value = EmailContent;
testsite3_cmd3.Parameters["@SL_ENTERED_BY"].Value = Globals.ThisAddIn.SytelineUsername;
testsite3_cmd3.Parameters["@Subject"].Value = EmailSubject;
testsite3_con.Open();
testsite3_cmd3.ExecuteNonQuery();
testsite3_con.Close();
EmailFilename = Globals.ThisAddIn.SytelineSavePath + @"\testsite3\Email_" + testsite3_cmd3.Parameters["@NewInteractionRowPointer"].Value + ".msg";
switch (i.ItemArray[1].ToString())
{
case "Cust
ShipTo":
testsite3_CreateDocTrak("CustomerInteraction",
EmailFilename, "Int-" +
testsite3_cmd3.Parameters["@NewInteraction_id"].Value.ToString()
+ "-Email",
i.ItemArray[4].ToString(), i.ItemArray[5].ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Cust ShipTo
SC":
testsite3_CreateDocTrak("CustomerInteraction",
EmailFilename, "Int-" +
testsite3_cmd3.Parameters["@NewInteraction_id"].Value.ToString()
+ "-Email",
i.ItemArray[4].ToString(), i.ItemArray[5].ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Service
Contacts":
testsite3_CreateDocTrak("CustomerInteraction",
EmailFilename, "Int-" +
testsite3_cmd3.Parameters["@NewInteraction_id"].Value.ToString()
+ "-Email",
i.ItemArray[4].ToString(), i.ItemArray[5].ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Prospects
SC":
testsite3_CreateDocTrak("Prospect
Interaction", EmailFilename, "Email-" + EmailSubject, i.ItemArray[4].ToString(),
testsite3_cmd3.Parameters["@NewInteractionRowPointer"].Value.ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Sales
Contacts":
testsite3_CreateDocTrak("Sls Cont
Interaction", EmailFilename, "Email-" + EmailSubject, i.ItemArray[4].ToString(),
testsite3_cmd3.Parameters["@NewInteractionRowPointer"].Value.ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
}
break;
case "testsite2":
testsite2_cmd3.Parameters["@email_module"].Value
= i.ItemArray[1].ToString();
testsite2_cmd3.Parameters["@SL_CUSTNUM"].Value
= i.ItemArray[4].ToString();
testsite2_cmd3.Parameters["@SL_SEQNUM"].Value = i.ItemArray[5];
testsite2_cmd3.Parameters["@SL_CONTACT_DATE"].Value
= ContactDate;
testsite2_cmd3.Parameters["@SL_TOPIC"].Value
= "Outlook Import";
testsite2_cmd3.Parameters["@SL_TYPE"].Value = "E";
testsite2_cmd3.Parameters["@SL_EMAIL_STATUS"].Value
= "X";
testsite2_cmd3.Parameters["@SL_INCOMING"].Value
= EmailIncoming;
testsite2_cmd3.Parameters["@Body"].Value
= EmailContent;
testsite2_cmd3.Parameters["@SL_ENTERED_BY"].Value
= Globals.ThisAddIn.SytelineUsername;
testsite2_cmd3.Parameters["@Subject"].Value
= EmailSubject;
testsite2_con.Open();
testsite2_cmd3.ExecuteNonQuery();
testsite2_con.Close();
EmailFilename = Globals.ThisAddIn.SytelineSavePath + @"\testsite2\Email_" +
testsite2_cmd3.Parameters["@NewInteractionRowPointer"].Value
+ ".msg";
switch (i.ItemArray[1].ToString())
{
case "Cust
ShipTo":
testsite2_CreateDocTrak("CustomerInteraction",
EmailFilename, "Int-" +
testsite2_cmd3.Parameters["@NewInteraction_id"].Value.ToString()
+ "-Email",
i.ItemArray[4].ToString(), i.ItemArray[5].ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Cust ShipTo
SC":
testsite2_CreateDocTrak("CustomerInteraction", EmailFilename, "Int-" + testsite2_cmd3.Parameters["@NewInteraction_id"].Value.ToString() + "-Email",
i.ItemArray[4].ToString(), i.ItemArray[5].ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Service
Contacts":
testsite2_CreateDocTrak("CustomerInteraction",
EmailFilename, "Int-" +
testsite2_cmd3.Parameters["@NewInteraction_id"].Value.ToString()
+ "-Email",
i.ItemArray[4].ToString(), i.ItemArray[5].ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Prospects
SC":
testsite2_CreateDocTrak("Prospect
Interaction", EmailFilename, "Email-" + EmailSubject, i.ItemArray[4].ToString(),
testsite2_cmd3.Parameters["@NewInteractionRowPointer"].Value.ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
case "Sales Contacts":
testsite2_CreateDocTrak("Sls Cont
Interaction", EmailFilename, "Email-" + EmailSubject, i.ItemArray[4].ToString(),
testsite2_cmd3.Parameters["@NewInteractionRowPointer"].Value.ToString());
CurrentMailItem.SaveAs(EmailFilename);
break;
}
break;
}
}
}
}
private void testsite_CreateDocTrak(string module, string filename, string description, string value1, string value2)
{
testsite_cmd4.Parameters["@MOD"].Value
= module;
testsite_cmd4.Parameters["@TYPE"].Value
= "R";
testsite_cmd4.Parameters["@FILENAME"].Value
= filename;
testsite_cmd4.Parameters["@DESCRIPTION"].Value
= description;
testsite_cmd4.Parameters["@VALUE1"].Value
= value1;
testsite_cmd4.Parameters["@VALUE2"].Value
= value2;
testsite_con.Open();
testsite_cmd4.ExecuteNonQuery();
testsite_con.Close();
}
private void testsite3_CreateDocTrak(string module, string filename, string description, string value1, string value2)
{
testsite3_cmd4.Parameters["@MOD"].Value
= module;
testsite3_cmd4.Parameters["@TYPE"].Value
= "R";
testsite3_cmd4.Parameters["@FILENAME"].Value
= filename;
testsite3_cmd4.Parameters["@DESCRIPTION"].Value
= description;
testsite3_cmd4.Parameters["@VALUE1"].Value = value1;
testsite3_cmd4.Parameters["@VALUE2"].Value
= value2;
testsite3_con.Open();
testsite3_cmd4.ExecuteNonQuery();
testsite3_con.Close();
}
private void testsite2_CreateDocTrak(string module, string filename, string description, string value1, string value2)
{
testsite2_cmd4.Parameters["@MOD"].Value
= module;
testsite2_cmd4.Parameters["@TYPE"].Value
= "R";
testsite2_cmd4.Parameters["@FILENAME"].Value
= filename;
testsite2_cmd4.Parameters["@DESCRIPTION"].Value
= description;
testsite2_cmd4.Parameters["@VALUE1"].Value
= value1;
testsite2_cmd4.Parameters["@VALUE2"].Value
= value2;
testsite2_con.Open();
testsite2_cmd4.ExecuteNonQuery();
testsite2_con.Close();
}
}
}
Copyright © 2013 ProTechs-Online.com; All rights reserved.