public static async Task Main(string[] args) { log("Running... " + DateTime.Now); log(""); int iteration = 1; while (true) { if (today != DateTime.Today.ToShortDateString().Replace("/", "-")) { today = DateTime.Today.ToShortDateString().Replace("/", "-"); } if (!File.Exists("../../../emails/errorLog_" + today + ".txt")) { File.WriteAllText("../../../emails/errorLog_" + today + ".txt", ""); if (iteration == 1) { log(Path.GetFullPath("../../../config/config.mycfg")); log(Path.GetFullPath("../../../emails/emails.txt")); } } log(iteration + " iteration..."); Configuration configuration = new Configuration("../../../config/config.mycfg"); EmailContainer emailContainer = new EmailContainer("../../../emails/emails.txt"); EmailConfiguration emailConfiguration = new EmailConfiguration("../../../emails/emailTitle.txt", "../../../emails/emailBody.txt"); EmailHandler emailHandler = new EmailHandler(configuration, emailConfiguration, emailContainer); try { using (IWebDriver driver = new ChromeDriver()) { driver.Navigate().GoToUrl("https://www.oculus.com/compare/?locale=pl_PL"); if (isQuestAvaliable(driver)) { if (emailContainer.mailsForQuest.Count >= 1) { log("Sending emails for Quest... "); log("Emails count: " + emailContainer.mailsForQuest.Count); emailHandler.sendEmailsForQuest(); log("Emails sended..."); } else { log("No emails for Quest awaiting..."); } } else { log("Quest is unavaliable on oculus site..."); } log(""); if (isRiftSAvaliable(driver)) { if (emailContainer.mailsForRiftS.Count >= 1) { log("Sending emails for RiftS... "); log("Emails count: " + emailContainer.mailsForRiftS.Count); emailHandler.sendEmailsForRiftS(); log("Emails sended..."); } else { log("No emails for RiftS awaiting..."); } } else { log("RiftS is unavaliable on oculus site..."); } log(""); log("Iteration " + iteration + " completed... " + DateTime.Now); iteration++; log("Waiting 60 seconds..."); log(""); log(""); log(""); } } catch (Exception e) { log(e.ToString()); log(DateTime.Now.ToString()); } Thread.Sleep(60000); } }
public EmailHandler(Configuration configuration, EmailConfiguration emailConfiguration, EmailContainer emailContainer) { this.configuration = configuration; this.emailConfiguration = emailConfiguration; this.emailContainer = emailContainer; }