private static void CreateMenu(EWSInstance instance) { var createMenuItems = new List <string>() { "\t- New Mail Message (1)", "- New Calendar Event (2)", "- Main Menu (0)" }; var menuString = string.Join("\n\t", createMenuItems); while (true) { GenerateMenu(_createItemMenuBanner, menuString); var input = Console.ReadLine(); switch (input) { case "1": WriteEmail(instance); return; case "2": CreateCalendarEvent(); return; case "0": return; default: Console.WriteLine("ERROR: Invalid Operation"); continue; } } }
private static void ViewMenu(EWSInstance instance) { var viewMenuItems = new List <string>() { "\t- Inbox (1)", "- Calendar (2)", "- Main Menu (0)" }; var menuString = string.Join("\n\t", viewMenuItems); while (true) { GenerateMenu(_viewItemMenuBanner, menuString); var input = Console.ReadLine(); switch (input) { case "1": ReadMail(instance); return; case "2": ReadCalendarEvents(instance); return; case "0": return; default: Console.WriteLine("ERROR: Invalid Operation"); continue; } } }
private void AuthenticateAndLoadEnvironments() { //Temporary button changes LoginButton.Text = "Please wait.."; LoginButton.Enabled = false; //Login Process Cursor.Current = Cursors.WaitCursor; api = new EWSInstance(UsernameTextbox.Text, PasswordTextbox.Text); Cursor.Current = Cursors.Default; //Fixing temporary changes LoginButton.Enabled = true; LoginButton.Text = "Logout"; //Display login information UsernameTextbox.ReadOnly = true; PasswordTextbox.ReadOnly = true; //Error label management ErrorLabel.Text = string.Empty; LoadMailEnvironment(); LoadCalendarEnvironment(); }
private void LoginButton_Click(object sender, EventArgs e) { try { if (LoginButton.Text == "Login") { AuthenticateAndLoadEnvironments(); } else if (LoginButton.Text == "Logout") { //Nullify the API instance; api = null; //Login control management UsernameTextbox.ReadOnly = false; PasswordTextbox.ReadOnly = false; UsernameTextbox.Text = string.Empty; PasswordTextbox.Text = string.Empty; LoginButton.Text = "Login"; DisposeMailEnvironment(); } } catch { ErrorLabel.Text = "Login Failed"; } }
private static void ReadMail(EWSInstance instance) { var inbox = new Inbox(instance.Service, _username); foreach (var msg in inbox.Messages) { OutputMessage(msg); } }
private static void ReadCalendarEvents(EWSInstance instance) { DateTime startDate = new DateTime(); DateTime endDate = new DateTime(); while (true) { if (GetDateRange(ref startDate, ref endDate)) { break; } } var calendar = new Calendar(instance.Service, startDate, endDate); Console.WriteLine(_appointmentsBanner); var appointmentCollection = calendar.Events.Where(x => x.Type == CalendarEventType.Appointment); if (appointmentCollection.Count() == 0) { Console.WriteLine($"{_horizontalRule}"); Console.WriteLine("\n\tNo Appointments Scheduled\n"); Console.WriteLine($"{_horizontalRule}\n"); } else { foreach (var item in calendar.Events.Where(x => x.Type == CalendarEventType.Appointment)) { OutputAppointment(item); } } Console.WriteLine(_meetingBanner); var meetingCollection = calendar.Events.Where(x => x.Type == CalendarEventType.Meeting); if (meetingCollection.Count() == 0) { Console.WriteLine($"{_horizontalRule}"); Console.WriteLine("\n\tNo Meetings Scheduled\n"); Console.WriteLine($"{_horizontalRule}\n"); } else { foreach (var item in meetingCollection) { OutputMeeting(item); } } }
private static void WriteEmail(EWSInstance instance) { Console.Clear(); Console.WriteLine(_newEmailBanner); Console.Write("Recipient: "); var recipients = Console.ReadLine(); Console.Write("Subject: "); var subject = Console.ReadLine(); Console.Write("Body: "); var body = Console.ReadLine(); var newMail = new NewEmail(recipients, string.Empty, string.Empty, subject, body); var response = newMail.SendNewMail(instance.Service) ? "\nEmail sent successfully.\n" : "\nEmail send failed. Please try again.\n"; Console.WriteLine(response); }