Example #1
0
        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;
                }
            }
        }
Example #2
0
        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;
                }
            }
        }
Example #3
0
        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();
        }
Example #4
0
        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";
            }
        }
Example #5
0
        private static void ReadMail(EWSInstance instance)
        {
            var inbox = new Inbox(instance.Service, _username);

            foreach (var msg in inbox.Messages)
            {
                OutputMessage(msg);
            }
        }
Example #6
0
        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);
                }
            }
        }
Example #7
0
        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);
        }