示例#1
0
 public PipelineBuilder(
     SendEmail sendEmail,
     SaveChanges saveChanges,
     RegisterUser registerUser,
     ScheduleTaskToBuyReturnTicket scheduleTaskToBuyReturnTicket,
     NotifySlack notifySlack,
     GenerateTickets generateTickets,
     GenerateEmail generateEmail,
     CardinityPayment creditCardPayment,
     PayPalPayment payPalPayment)
 {
     //keeping short for brevity
     _sendEmail    = sendEmail;
     _saveChanges  = saveChanges;
     _registerUser = registerUser;
     _scheduleTaskToBuyReturnTicket = scheduleTaskToBuyReturnTicket;
     _notifySlack       = notifySlack;
     _generateTickets   = generateTickets;
     _generateEmail     = generateEmail;
     _creditCardPayment = creditCardPayment;
     _payPalPayment     = payPalPayment;
 }
        public void getQueueList(ListBox listbox)
        {
            int queueid = 0;

            try
            {
                string strSql = "";
                if (isLive)
                {
                    strSql = @" SELECT iid, MsgType, subMsgType, MID, HID, FlightSeq, ResendYN, EDIAddressBook, CustomerId, MsgBody_SITAfreeMSG, MsgAddress_SITAfreeMSG FROM EDI_Msg_Queue WHERE Status = 'W' ORDER BY iid";
                    //strSql = @" SELECT iid, MsgType, subMsgType, MID, HID, FlightSeq, ResendYN, EDIAddressBook, CustomerId FROM EDI_Msg_Queue WHERE iid = 4326345";
                    //strSql = @" select * from EDI_Msg_Queue where iid in (9733306)";

                    //strSql = @" select * from EDI_Msg_Queue where iid in (14397617)";
                }
                else
                {
                    //strSql = @"select * from EDI_Msg_Queue where Status = 'W' and createddate >= DATEADD(D, 0, DATEDIFF(D, 0, GETDATE())) and Msgtype <> 'Email' order by iid desc";

                    //                    strSql = @"select iid, MsgType, subMsgType, MID, HID, FlightSeq, ResendYN, EDIAddressBook, CustomerId, MsgBody_SITAfreeMSG, MsgAddress_SITAfreeMSG
                    //                                from EDI_Msg_Queue where Status = 'W' and createddate >= DATEADD(D, 0, DATEDIFF(D, 0, GETDATE())) order by iid desc";
                    //strSql = @" select iid, MsgType, subMsgType, MID, HID, FlightSeq, ResendYN, EDIAddressBook, CustomerId, MsgBody_SITAfreeMSG, MsgAddress_SITAfreeMSG
                    //            from EDI_Msg_Queue where iid in (6578241)

                    //            ";
                    strSql = @" select * from EDI_Msg_Queue where iid in (14397540)";
                    //4342600

                    //strSql = @"select * from EDI_Msg_Queue where Status = 'W' and createddate >= DATEADD(D, 0, DATEDIFF(D, 0, GETDATE())) and Msgtype = 'Email' and submsgtype = 'TTN' order by iid desc";

                    //                    strSql = @" select iid, MsgType, subMsgType, MID, HID, FlightSeq, ResendYN, EDIAddressBook, CustomerId, MsgBody_SITAfreeMSG, MsgAddress_SITAfreeMSG
                    //                                from EDI_Msg_Queue where MsgType = 'FBR' and createddate >= '2016-05-02 14:50'";
                }

                DataTable dt        = baseDB.GetSqlDataTable(strSql);
                string    msgReturn = "";
                string    result    = "";

                foreach (DataRow dr in dt.Rows)
                {
                    queueid = Convert.ToInt32(dr["iid"].ToString());
                    string msgType = dr["MsgType"].ToString().Trim();
                    string subType = dr["subMsgType"].ToString().Trim();
                    int    mid     = 0;
                    try { mid = Convert.ToInt32(dr["MID"].ToString().Trim()); }
                    catch { }
                    int hid = 0;
                    try { hid = Convert.ToInt32(dr["HID"].ToString().Trim()); }
                    catch { }
                    int flightSeq = 0;
                    try { flightSeq = Convert.ToInt32(dr["FlightSeq"].ToString().Trim()); }
                    catch { }
                    string resendYN       = dr["ResendYN"].ToString().Trim();
                    int    EDIAddressBook = 0;
                    try { EDIAddressBook = Convert.ToInt32(dr["EDIAddressBook"].ToString().Trim()); }
                    catch { }
                    string CustomerId      = dr["CustomerId"].ToString().Trim();
                    string MsgBody_SITA    = dr["MsgBody_SITAfreeMSG"].ToString();
                    string MsgAddress_SITA = dr["MsgAddress_SITAfreeMSG"].ToString();



                    //if (msgType != "" && msgType != "Email")      // 2016-01-20 In case of Free Text, MsgType can be empty.
                    if (msgType.ToUpper() != "EMAIL")
                    {
                        GenerateBase baseMessage = null;

                        //added. 2015-12-14
                        if (MsgBody_SITA != null && MsgBody_SITA != string.Empty)
                        {
                            //for send free SITA MSG
                            baseMessage = new sendSITAmsg();
                        }
                        else
                        {
                            #region Init.
                            if (msgType.ToUpper() == "FSU")
                            {
                                switch (subType.ToUpper())
                                {
                                case "DLV":
                                    baseMessage = new GenerateDLV();
                                    break;

                                case "RCF":
                                case "ARR":
                                    baseMessage = new GenerateRCF();
                                    break;

                                case "NFD":
                                case "AWD":
                                    baseMessage = new GenerateAWD();
                                    break;

                                case "MAN":
                                case "DEP":
                                    baseMessage = new GenerateMAN();
                                    break;

                                //RDS Added 2015-08-12
                                case "RCS":
                                case "RDS":
                                    baseMessage = new GenerateRCS();
                                    break;

                                //RDT Added 2015-08-12
                                case "RCT":
                                case "RDT":
                                    baseMessage = new GenerateRCT();
                                    break;

                                // FOH added. 2016-11-08
                                case "FOH":
                                    baseMessage = new GenerateFOH();
                                    break;

                                case "TFD":
                                    baseMessage = new GenerateTFD();
                                    break;
                                }
                            }
                            //NFM added by NA
                            if (msgType.ToUpper() == "NFM")
                            {
                                baseMessage = new GenerateNFM();
                            }

                            if (msgType.ToUpper() == "FFM")
                            {
                                baseMessage = new GenerateFFM();
                            }

                            if (msgType.ToUpper() == "IRP")
                            {
                                baseMessage = new GenerateIRP();
                            }

                            if (msgType.ToUpper() == "FWB")
                            {
                                baseMessage = new GenerateFWB();
                            }

                            if (msgType.ToUpper() == "FHL")
                            {
                                baseMessage = new GenerateFHL();
                            }

                            if (msgType.ToUpper() == "FBR")
                            {
                                baseMessage = new GenerateFBR();
                            }

                            if (msgType.ToUpper() == "UWS")
                            {
                                baseMessage = new GeneratwUWS();
                            }
                        }
                        #endregion


                        if (baseMessage != null)
                        {
                            //Clear Static Variables
                            baseMessage.msgDestAddrEmail = "";

                            //added. 2015-12-14
                            if (MsgBody_SITA != null && MsgBody_SITA != string.Empty)
                            {
                                //for send free SITA MSG
                                msgReturn = MsgBody_SITA;

                                //for email list
                                if (MsgAddress_SITA != null && MsgAddress_SITA != string.Empty)
                                {
                                    string[] tmpGetEmail = MsgAddress_SITA.Split(' ');
                                    if (tmpGetEmail.Count() > 0)
                                    {
                                        for (int i = 0; i < tmpGetEmail.Count(); i++)
                                        {
                                            if (tmpGetEmail[i].IndexOf("@") > -1)
                                            {
                                                baseMessage.msgDestAddrEmail += tmpGetEmail[i];
                                                baseMessage.msgDestAddrEmail += ";";
                                            }
                                        }
                                        baseMessage.msgDestAddrEmail = baseMessage.msgDestAddrEmail.TrimEnd(';');
                                    }
                                }
                            }
                            else
                            {
                                if (msgType.ToUpper() == "FHL")
                                {
                                    msgReturn = baseMessage.doBuildUp(msgType, subType, hid, flightSeq, queueid);
                                }
                                else
                                {
                                    msgReturn = baseMessage.doBuildUp(msgType, subType, mid, flightSeq, queueid);
                                }
                            }

                            if (msgReturn != "")
                            {
                                /* 2014-04-14
                                 * msgReturn = msgReturn.ToUpper();
                                 */
                                msgReturn = msgReturn.ToUpper().Replace(",", "");

                                string[] arrMsg = msgReturn.Split('|');

                                foreach (string msg in arrMsg)
                                {
                                    if (ValidationUtil.isThereSitaReciever(msg))
                                    {
                                        string test = "good";
                                    }

                                    if (isLive)
                                    {
                                        if (ValidationUtil.isThereSitaReciever(msg))
                                        {
                                            result = myMQ.WriteLocalQMsg(msg, MQ_ManagerExp.GR1MQNMRInfo, MQ_ManagerExp.QUEUEID1, MQ_ManagerExp.GR1MQCONInfo, MQ_ManagerExp.GR1MQMInfo);
                                        }
                                        else
                                        {
                                            result = "Message sent to successfully";
                                        }
                                    }
                                    else
                                    {
                                        result = "Message sent to the queue successfully";
                                    }


                                    if (result.IndexOf("successful") > 0)
                                    {
                                        if (isLive)
                                        {
                                            baseMessage.UpdateQueue(queueid, "S", "");

                                            //added. 2015-12-14
                                            if (MsgBody_SITA != null && MsgBody_SITA != string.Empty)
                                            {
                                                baseMessage.InsertLogforFreeSITAmsg(queueid, msg);
                                            }
                                            else
                                            {
                                                baseMessage.InsertLog(queueid, msg, msgType, subType);
                                            }
                                        }
                                        else
                                        {
                                            //baseMessage.UpdateQueue(queueid, "S", "");
                                            //added. 2015-12-14
                                            if (MsgBody_SITA != null && MsgBody_SITA != string.Empty)
                                            {
                                                baseMessage.InsertLogforFreeSITAmsg(queueid, msg);
                                            }
                                            else
                                            {
                                                baseMessage.InsertLog(queueid, msg, msgType, subType);
                                            }
                                        }

                                        //added. 2015-12-14
                                        if (MsgBody_SITA != null && MsgBody_SITA != string.Empty)
                                        {
                                        }
                                        else
                                        {
                                            //Create Copy to Cargo-Spot Queue
                                            if (msgType == "UWS" || msgType == "NFM" || msgType == "FFM" || msgType == "FWB" || (msgType == "FSU" && subType == "DEP") || (msgType == "FSU" && subType == "MAN"))
                                            {
                                                if (isLive)
                                                {
                                                    if (ValidationUtil.isThereSitaReciever(msg))
                                                    {
                                                        result = myMQ.WriteLocalQMsg(msg, MQ_ManagerExp.GR2MQNMRInfo, MQ_ManagerExp.QUEUEID2, MQ_ManagerExp.GR2MQCONInfo, MQ_ManagerExp.GR2MQMInfo);
                                                    }
                                                }
                                                else
                                                {
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        baseMessage = new GenerateDLV();
                                        baseMessage.UpdateQueue(queueid, "E", result);
                                        buildLog(queueid, result, "CASMqm.WriteLocalQMsg");
                                    }


                                    // added on 2017-11-20. requested by Mike 2017-11-20 03:04pm
                                    if (isLive)
                                    {
                                        if (msgType == "FWB" || msgType == "FHL" || msgType == "FHL")
                                        {
                                            if (baseMessage.msgDestAddrEmail != "")
                                            {
                                                baseMessage.msgDestAddrEmail += ";[email protected]";
                                            }
                                            else
                                            {
                                                baseMessage.msgDestAddrEmail = "*****@*****.**";
                                            }
                                        }
                                    }
                                    if (baseMessage.msgDestAddrEmail != "")
                                    {
                                        string emailBody = "";

                                        emailBody = setMSGformat(msgReturn, msgType ?? "");

                                        //emailBody = emailBody.Replace("\r\n", "<br>");
                                        //emailBody = msgReturn.Replace("\r\n", "<br>");

                                        string emailSubj = "";
                                        if (msgType != null && msgType.ToUpper() == "IRP")
                                        {
                                            emailSubj  = "IRP Message: ";
                                            emailSubj += baseMessage.IRPSubject ?? "";
                                        }
                                        else if (subType != null && subType.Trim() != string.Empty)
                                        {
                                            emailSubj = msgType.ToUpper() + " - " + subType.ToUpper() + " message";
                                        }
                                        else
                                        {
                                            emailSubj = msgType.ToUpper() + " message";
                                        }
                                        if (isLive)
                                        {
                                            GenerateEmail email       = new GenerateEmail();
                                            int           emailStatus = 1;
                                            try
                                            {
                                                bool mailSent = baseMail.mailSend(baseMessage.msgDestAddrEmail, emailBody, emailSubj);
                                                if (!mailSent)
                                                {
                                                    email.UpdateQueue(queueid, "S", "Error sending email!");
                                                    emailStatus = 255;
                                                    email.UpdateEmailQueue(mid, emailStatus);
                                                }
                                            }
                                            catch (Exception e)
                                            {
                                                email.UpdateQueue(queueid, "S", "Error sending email!");
                                                emailStatus = 255;
                                                email.UpdateEmailQueue(mid, emailStatus);
                                                buildLog(queueid, e.Message, e.StackTrace);
                                            }
                                        }
                                        else
                                        {
                                            bool mailSent = baseMail.mailSend(baseMessage.msgDestAddrEmail, emailBody, emailSubj);
                                        }
                                    }
                                }
                            }
                            //Clear Static Variables
                            baseMessage.msgDestAddrEmail = "";
                        }
                    }

                    //Email Sending
                    #region Sending Email
                    if (msgType.ToUpper() == "EMAIL")
                    {
                        GenerateEmail email = new GenerateEmail();
                        int           emailResult;
                        int           emailStatus = 1;
                        try
                        {
                            emailResult = email.sendEamil(mid, subType);
                            if (emailResult == 0)
                            {
                                if (resendYN.ToUpper() == "Y")
                                {
                                    emailStatus = 3;
                                }
                                email.UpdateQueue(queueid, "S", "");
                                email.UpdateEmailQueue(mid, emailStatus);

                                if (listbox.Items.Count >= 100)
                                {
                                    listbox.Items.Clear();
                                }
                                listbox.Items.Add(string.Format("Email QueueId:{0} is successfully sent!", mid));
                            }
                            else
                            {
                                email.UpdateQueue(queueid, "E", "Error sending email!");
                                emailStatus = 255;
                                email.UpdateEmailQueue(mid, emailStatus);
                            }
                        }
                        catch (Exception e)
                        {
                            email.UpdateQueue(queueid, "E", e.Message);
                            emailStatus = 255;
                            email.UpdateEmailQueue(mid, emailStatus);
                            buildLog(queueid, e.Message, e.StackTrace);
                        }
                    }
                    #endregion
                }
            }
            catch (Exception e)
            {
                GenerateBase baseMessage = new GenerateDLV();
                baseMessage.UpdateQueue(queueid, "E", e.Message);
                buildLog(queueid, e.Message, e.StackTrace);
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            //var randome = JsonConvert.DeserializeObject<List<string>>(File.ReadAllText(@"C:\test\my.json"));
            //File.WriteAllLines("gmailAcc.txt", randome);

            RandomProxy();


            //  WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(70));
            int i = 0;

            Console.WriteLine("Show ?");
            if (Console.ReadLine() == "y")
            {
                show = true;
            }
            if (show)
            {
                Console.WriteLine("Good ?");
                if (Console.ReadLine() == "y")
                {
                    google = true;
                }
            }

            while (true)
            {
                if (i > 5)
                {
                    RandomProxy();
                    i = 0;
                }

                ChromeOptions option = new ChromeOptions();
                option.AddArgument($"--proxy-server={currentProxy}");  //
                option.AddArgument("no-sandbox");
                var user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.50 Safari/537.36";

                option.AddArgument($"--user-agent={user_agent}"); // disabling infobars
                Console.Title = currentProxy;
                var driverService = ChromeDriverService.CreateDefaultService();
                driverService.HideCommandPromptWindow = true;

                if (!show)
                {
                    option.AddArguments("headless");
                }


                ChromeDriver driver = new ChromeDriver(driverService, option);


                // driver.Manage().Timeouts().PageLoad = new TimeSpan(0, 0, 0);
                driver.Manage().Timeouts().ImplicitWait = new TimeSpan(0, 0, 30);

                var   emailProvider = new GenerateEmail();
                Steps ac            = new Steps(driver, emailProvider);

                int actions = 0;
                if (ac.MakeLogin())
                {
                    while (ac.Settings() != true && actions < 7)
                    {
                        if (google && actions == 1)
                        {
                            MakeGoogle g = new MakeGoogle();
                            g.Driver = driver;
                            g.MakePin(currentProxy);
                        }

                        try
                        {
                            ac.CheckPage();
                        }
                        catch { }
                        finally
                        {
                            actions++;
                        }
                        Console.WriteLine(actions + "action number ");
                    }
                    driver.Quit();
                    i++;
                }
                else
                {
                    RandomProxy();
                    driver.Quit();
                }
            }
        }