using System;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.UI;
using System.IO.Compression;
using System.Text.RegularExpressions;
using System.Xml;
using System.Globalization;
//using Ionic.Zip;
using System.Net;
using System.Net.Http;
using System.Collections.Generic;
using System.Data.OleDb;
//using Microsoft.VisualBasic;
using System.Text; // This was needed to make ASCIIEncoding function
using System.Security.Cryptography; // This was needed to make everything related to MD5 function
using Outlook = Microsoft.Office.Interop.Outlook;
namespace Validate_File1
{
class Program
{
static void Main(string[] args)
{
string Email = "", s_Partner = "", File0, File1, File1b, File2, File3, F4, Call_Sign, Line0= "", Line1 = "", Line2 = "", Line3 = "", Line_Hold = "", ftx_Line1 = "", eqd_Line1 = "", cta_Line1 = "", Ver0 = "", line = "", Str0, Str1 = "";
int Pos0, Pos1, Pos2, Pos3, Pos4, Pos5, Pos6, Pos7, Pos8, Pos9, Pos10 = 0, Pos11 = 0, Pos12, Pos13, Pos14, Pos15, Pos_Hold0, Pos_Hold1, Sep_Count, Len0, UNT_pos, Tot_line, Total_Line1 = 0, eqd2_line_cnt = 0;
bool UNB_Exist, UNZ_Exist, UNT_Exist, NAD_Exist = false, Voy_Ref0, Voy_Ref1, gid_Line, ftx_Line, eqd_Line, eqd2_line = false, eqd3_line = false, cta_Line, cta_OK, codeco = false, Found0, BGM_line = false, TDT_line = false, LOC_line = false;
bool allowappend = true;
Outlook.MailItem mailItem = null;
File0 = "C:/cmp3g/CODECO_ERROR_a/" + args[0] + "/" + args[1];
//File1 = "C:/cmp3g/CODECO_ERROR_a/Error" + Format(Now, "mmss") + ".txt"
File1 = "C:/cmp3g/CODECO_ERROR_a/Error.txt";
File1b = "C:/cmp3g/CODECO_ERROR_a/Error2.txt";
File2 = "C:/cmp3g/CODECO_ERROR_a/Temp.txt";
File3 = "C:/cmp3g/CODECO_ERROR_a/List0.txt";
F4 = "C:/cmp3g/CODECO_ERROR_a/List7.txt";
List<string> l7 = new List<string>();
using (StreamReader sr2 = new StreamReader(@"C:/cmp3g/CODECO_ERROR_a/List7.txt", Encoding.Default))
////using (StreamReader sr2 = new StreamReader(@"e:/Upd_China_city.sql", Encoding.Default))
//{
while ((line = sr2.ReadLine()) != null)
{
// //if (line.Trim() == "")
// //{
// //}
// //else
// {
// //str.Add(line.Trim().Substring(6));
l7.Add(line);
// //str.Add((line+"").Substring(5));
// }
}
Outlook.Application outlookApp = new Outlook.Application();
if (File.Exists(@File2))
{
File.Delete(@File2);
}
File.Copy(@File0, @File2);
Sep_Count = 0; UNT_pos = 0; Tot_line = 0;
UNB_Exist = false; UNT_Exist = false; UNZ_Exist = false; Voy_Ref0 = false; Voy_Ref1 = false; gid_Line = false; ftx_Line = false; eqd_Line = false; cta_Line = false; cta_OK = false;
try
{
using (StreamReader sr = new StreamReader(@File1, Encoding.Default))
{
while ((Line0 = sr.ReadLine()) != null)
{
Total_Line1++;
Pos0 = Line0.IndexOf("for partner code '"); Pos1 = Line0.IndexOf("'", Pos0 + 18);
if (Pos0 > 0 && Pos1 > 0)
{
if (Pos1 - Pos0 - 17 > 1)
{
if (Pos1 - Pos0 - 19 > 0)
{
Str0 = Line0.Substring(Pos0 + 18, Pos1 - Pos0 - 19); Pos2 = Str0.Trim().Length;
}
else
{
Str0 = "";Pos2 = 1;
}
for (int j = 0; j < l7.Count(); j++)
{
if (l7[j].Trim().Length >= Str0.Trim().Length)
{
if (l7[j].Substring(0, Pos2) == Str0)
{
Pos3 = l7[j].IndexOf(",,"); Pos4 = l7[j].Trim().Length;
if (Pos3 > 0)
{
mailItem = (Outlook.MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
if (Pos4 - 3 - Pos3 > 0)
Email = l7[j].Substring(Pos3 + 2, Pos4 - 3 - Pos3);
if (mailItem.EntryID != null)
{
mailItem.Subject = "Coarri Codeco Issue ";
//mailItem.Send();
}
}
}
}
}
}
}
else
{
if (mailItem == null)
mailItem = (Outlook.MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
if (mailItem.EntryID != null)
{
mailItem.HTMLBody = mailItem.HTMLBody + Line0;
//mailItem.Send();
}
}
//using (StreamWriter sw = new StreamWriter(@File1, allowappend, Encoding.Unicode))
//{
// sw.WriteLine("xxx");
// sw.WriteLine(Line0);
// sw.WriteLine("");
//}
Pos1 = Line0.IndexOf("'", Pos0 + 1);
Pos_Hold0 = Line0.IndexOf("'");
Pos_Hold1 = Line0.IndexOf("'", Pos_Hold0 + 1);
Line_Hold = Line0;
}
}
}
catch (Exception e)
{
using (StreamWriter sw = new StreamWriter(@File1b, allowappend, Encoding.Unicode))
{
sw.WriteLine("Error happens due to file - '" + File0 + "' with detail: Error with Stacktrace --> " + e.Message + " " + e.StackTrace+Line0);
sw.WriteLine("");
}
}
finally
{
}
}
}
}