public static async Task<bool> AddEvent(DateTime start, string[] emails, string[] names, int length = 5)
    {
      try
      {
        var calendarEvent = new CalendarEvent
        {
          Start = start.ToString("O"),
          End = start.AddMinutes(length).ToString("O"),
          Subject = length + " Minute Meeting",
          Body = new CalendarBody
          {
            Content = length + " minute meeting for status report",
            ContentType = "HTML"
          }

        };

        if (emails.Length > 0)
          calendarEvent.Attendees = new CalendarAttendee[emails.Length];
        else
          calendarEvent.Attendees = new List<CalendarAttendee>().ToArray();


        for (int i = 0; i < emails.Length; i++)
        {
          if (string.IsNullOrWhiteSpace(emails[i]) || string.IsNullOrWhiteSpace(names[i]))
            continue;

          calendarEvent.Attendees[i]=new CalendarAttendee
            {
              EmailAddress = new CalendarEmailAddress
              {
                Address = emails[i],
                Name = names[i]
              },
              Type = AttendeeType.Required.ToString()
            };
        }
        var result = await AddCalendarEvent(calendarEvent);
      }
      catch (Exception ex)
      {
        var message = ex.ToString();
        return false;
      }

      return true;
    }
    public static async Task<CalendarEvent> AddCalendarEvent(CalendarEvent calendarEvent)
    {

      var serviceInfo = await AuthenticationHelper.GetServiceInfo("Calendar");

      var requestUrl = String.Format(CultureInfo.InvariantCulture,
          "{0}/me/events", serviceInfo.ApiEndpoint);

      string postData = SerializationHelper.Serialize(calendarEvent);

      postData = postData.Replace("null", string.Empty);

      Func<HttpRequestMessage> requestCreator = () =>
      {
        HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, requestUrl);
        request.Headers.Add("Accept", "application/json;odata.metadata=minimal");

        request.Content = new StringContent(postData, Encoding.UTF8, "application/json");

        return request;
      };


      var httpClient = new HttpClient();
      var response = await AuthenticationHelper.SendRequestAsync(serviceInfo.AccessToken,
        serviceInfo.ResourceId, httpClient, requestCreator);

      string responseString = await response.Content.ReadAsStringAsync();

      var c = SerializationHelper.Deserialize<CalendarEvent>(responseString);

      return c;
    }