public static async Task <IEnumerable <Contacts> > ReadFromFile(string file) { var listOfContacts = new List <Contacts>(); using (var contactsReader = new ContactsReader(file)) { while (!contactsReader.isEndOfStream()) { var foundContact = await contactsReader.ReadContacts(); if (foundContact != null) { listOfContacts.Add(foundContact); } } } return(listOfContacts); }
public async Task Should_use_a_streamreader_to_read_file() { string contactName = "robert simmons"; string contactPostalAddress = "Holborn, London"; string newContact = string.Format(CultureInfo.InvariantCulture, "{0}\t{1}", contactName, contactPostalAddress); using (var memoryStream = new MemoryStream()) using (var streamWriter = new StreamWriter(memoryStream)) using (var streamReader = new StreamReader(memoryStream)) using (var contactsReader = new ContactsReader(streamReader, new char[] { '\t' })) { await streamWriter.WriteLineAsync(newContact); await streamWriter.FlushAsync(); memoryStream.Position = 0; // Fix issue with NullReferenceException var contact = await contactsReader.ReadContacts(); Assert.AreEqual(contactName, contact.Name); Assert.AreEqual(contactPostalAddress, contact.PostalAddress); } }
public static void RunRules() { System.Globalization.CultureInfo customCulture = new System.Globalization.CultureInfo("en-US", true); System.Threading.Thread.CurrentThread.CurrentCulture = customCulture; System.Threading.Thread.CurrentThread.CurrentUICulture = customCulture; var contacts = _cr.ReadContacts("../Gdansk Hackathon - Jira Country contacts.csv"); var jiraItemsToSend = _jiraInteractor.GetItems().Where(i => i.status == JiraStatusEnum.To_do); var date = DateTime.Now; string quarter; if (date.Month <= 3) { quarter = $"First Quarter {date.Year}"; } else if (date.Month <= 6) { quarter = $"Second Quarter {date.Year}"; } else if (date.Month <= 9) { quarter = $"Third Quarter {date.Year}"; } else { quarter = $"Fourth Quarter {date.Year}"; } var subject = $"KPMG LINK Business Traveler - {quarter} - "; List <IEmail> emails = new List <IEmail>(); var rm = new ResourceManager(typeof(Templates)); ResourceSet rs = rm.GetResourceSet(CultureInfo.CurrentUICulture, true, true); DateTime currentdate = new DateTime(); currentdate = DateTime.Now; DateTime deadline = new DateTime(); deadline = currentdate.AddDays(7); foreach (var jiraItem in jiraItemsToSend) { var contact = contacts.FirstOrDefault(c => c.Country == jiraItem.Country); if (contact == null) { continue; } var email = new EmailModel { Country = jiraItem.Country, EmailTo = contact.Email, //EmailTo = "", EmailSubject = subject + contact.Country, EmailBody = string.Format(rs.GetString("EmailBody"), string.Format("{0}. of {1}, {2}.", currentdate.Day, currentdate.ToString("MMMM"), currentdate.Year) , string.Format("{0}. of {1}, {2}.", deadline.Day, deadline.ToString("MMMM"), deadline.Year)), EmailFrom = rs.GetString("EmailFrom"), ReplyTo = rs.GetString("CC"), CC = rs.GetString("CC"), SMTPServer = rs.GetString("SMTPServer") }; emails.Add(email); } _email.SendMails(emails); var updater = new JiraUpdater(jiraItemsToSend.ToList()); //updater.SendUpdatedItems(); }