// GET: InterviewManager
 public ActionResult Index()
 {
     var rep = new EWSIntegrationClient();
     
     var model = new AppointmentManager { Events = new List<EventObject>()};
     return View(model);
 }
        private async Task<AppointmentManager> CreateModel(List<string> users, string start, string end)
        {
            var request = new AvailabilityRequest
            {
                DurationMinutes = 60,
                Start = DateTime.Parse(start).ToString(),
                End = DateTime.Parse(end).ToString(),
                Users = users == null ? new List<string>() : users
            };

            var result = await _client.GetAvailability(request);

            var obj = result.AvailabilityResult;
            int i = 0;

            // Part of a hack. for this demo we only expect <=5 users.
            var colorIndex = 0;
            var list = new List<EventObject>();

            foreach (var avai in result.AvailabilityResult)
            {

                var color = _colors[(i == _colors.Count) ? colorIndex = 0 : colorIndex++];
                foreach (var block in avai.Availability)
                {
                    var eventObject = new EventObject
                    {
                        title = "Interviewer " + i + " Status: " + block.Status,
                        start = block.Start.ToString("o"),
                        end = block.End.ToString("o"),
                        allDay = false,
                        backgroundColor = color
                    };
                    list.Add(eventObject);
                }
                i++;
            }

            var model = new AppointmentManager { Events = list };
            return model;
        }