예제 #1
0
    public static void CheckCalendarEvents()
    {
        var list = service.CalendarList.List().Execute().Items;
        try
        {

            foreach (var cal in list)
            {
                var itemlistreq = service.Events.List(cal.Id);
                // itemlistreq.PageToken = token;
                itemlistreq.MaxResults = 100000;
                itemlistreq.ShowDeleted = true;
                itemlistreq.ShowHiddenInvitations = true;
                var itemlistex = itemlistreq.Execute();

                //itemlistex.Items[0].
                var token = itemlistex.NextPageToken;
                string[] Descs = null;
                for (int i = 0; i < itemlistex.Items.Count; i++)
                {
                    string Calendar = cal.Id;
                    string EventId = itemlistex.Items[i].Id;
                    string RecurringEventId = itemlistex.Items[i].RecurringEventId;
                    if (RecurringEventId == null) { RecurringEventId = ""; };
                    var Attendees = itemlistex.Items[i].Attendees;
                    string Attendes = "";
                    if (Attendees != null)
                    {

                        for (int j = 0; j < Attendees.Count; j++)
                        { Attendes = Attendes + "~" + Attendees[j]; };
                    }
                    string ColorId = itemlistex.Items[i].ColorId;
                    if (ColorId == null) { ColorId = ""; };
                    bool? AttendeesOmitted = itemlistex.Items[i].AttendeesOmitted;
                    if (AttendeesOmitted == null) { AttendeesOmitted = false; };
                    bool? AnyoneCanAddSelf = itemlistex.Items[i].AnyoneCanAddSelf;
                    if (AnyoneCanAddSelf == null) { AnyoneCanAddSelf = false; };
                    string Title = itemlistex.Items[i].Summary;
                    if (Title == null) { Title = ""; }
                    string Location = itemlistex.Items[i].Location;
                    if (Location == null) { Location = ""; }
                    string Description = itemlistex.Items[i].Description;
                    if (Description == null) { Description = ""; }
                    string Kind = itemlistex.Items[i].Kind;
                    if (Kind == null) { Kind = ""; }
                    DateTime StartDate = Convert.ToDateTime("01/01/1900");
                    if (itemlistex.Items[i].Start != null)
                    { StartDate = Convert.ToDateTime(itemlistex.Items[i].Start.DateTime); }
                    if (StartDate != null && StartDate.ToString().Contains("0001")) { StartDate = Convert.ToDateTime("01/01/1900"); }
                    DateTime EndDate = Convert.ToDateTime("01/01/1900");
                    if (itemlistex.Items[i].End != null)
                    { EndDate = Convert.ToDateTime(itemlistex.Items[i].End.DateTime); }
                    if (EndDate != null && EndDate.ToString().Contains("0001")) { EndDate = Convert.ToDateTime("01/01/1900"); }

                    DateTime MovedOn = Convert.ToDateTime("01/01/1900");
                    if (itemlistex.Items[i].Created != null)
                    { MovedOn = Convert.ToDateTime(itemlistex.Items[i].Created); }
                    if (MovedOn != null && MovedOn.ToString().Contains("0001")) { MovedOn = Convert.ToDateTime("01/01/1900"); }
                    string Status = itemlistex.Items[i].Status;
                    var Recurrence = itemlistex.Items[i].Recurrence;
                    string Recurrences = "";
                    if (Recurrence != null)
                    {

                        for (int j = 0; j < Recurrence.Count; j++)
                        { Recurrences = Recurrences + "~" + Recurrence[j]; };
                    }
                    string Organizer = "";
                    if (itemlistex.Items[i].Organizer != null)
                    {
                        Organizer = itemlistex.Items[i].Organizer.DisplayName;
                    }
                    if (Organizer == null) { Organizer = ""; }
                    string Creator = "";
                    if (itemlistex.Items[i].Creator != null)
                    {
                        Creator = itemlistex.Items[i].Creator.DisplayName;
                    }
                    if (Creator == null) { Creator = ""; }
                    bool? Locked = false;
                    try
                    {
                        Locked = itemlistex.Items[i].Locked;
                    }
                    catch { };
                    Locked = false;
                    //if (Locked == null) { Locked = false; };
                    int Sequence = 0;
                    if (itemlistex.Items[i].Sequence != null)
                    { Sequence = (int)itemlistex.Items[i].Sequence; }
                    string Transperancy = itemlistex.Items[i].Transparency;
                    if (Transperancy == null) { Transperancy = ""; }
                     DateTime Updated = Convert.ToDateTime("01/01/1900");
                     if (itemlistex.Items[i].Updated != null)
                    { Updated = Convert.ToDateTime(itemlistex.Items[i].Updated); }
                     if (Updated != null && Updated.ToString().Contains("0001")) { Updated = Convert.ToDateTime("01/01/1900"); }
                    string Visibility = itemlistex.Items[i].Visibility;
                    if (Visibility == null) { Visibility = ""; }
                    InsertOtherEvents(Calendar, EventId, RecurringEventId, ColorId, Attendes, AttendeesOmitted, AnyoneCanAddSelf, Locked, Title, Location, Description, Kind, StartDate, EndDate, MovedOn, Status, Recurrences, Organizer, Creator, Sequence, Transperancy, Updated, Visibility);

                }

            }
        }
        catch (Exception ex)
        {
            Email.Email eml = new Email.Email();
            string strLog = ex.StackTrace.ToString() + "~~~~~~~~~~~~Error~~~~~~~~~~~:" + ex.Message.ToString();
            eml.SendMail("Error syncing google calendar", "Error :- " + strLog, "*****@*****.**", "", false);

        };
    }
예제 #2
0
    public static void CheckCalendarMovements()
    {
        SetCalendar();
        CheckCalendarEvents();

        string a;
        var list = service.CalendarList.List().Execute().Items;
        try
        {

            foreach (var cal in list)
            {
                // if (cal.Id != "*****@*****.**") { continue; }
                InsertCalendars(cal.Id);
                var itemlistreq = service.Events.List(cal.Id);
                // itemlistreq.PageToken = token;
                itemlistreq.MaxResults = 100000;
                itemlistreq.ShowDeleted = true;
                itemlistreq.ShowHiddenInvitations = true;
                var itemlistex = itemlistreq.Execute();

                //itemlistex.Items[0].
                var token = itemlistex.NextPageToken;
                for (int i = 0; i < itemlistex.Items.Count; i++)
                {
                    if (itemlistex.Items[i].Description != null)
                    {

                        if (Convert.ToDateTime(itemlistex.Items[i].Created).Date == DateTime.Now.Date || Convert.ToDateTime(itemlistex.Items[i].Created).Date == DateTime.Now.Date.AddDays(-1) || Convert.ToDateTime(itemlistex.Items[i].Created).Date == DateTime.Now.Date.AddDays(-2))
                        {
                            if (itemlistex.Items[i].Description.Contains("Order Item (Please donot delete or update OrderItemId) :") == true)
                            {
                                string Desc = itemlistex.Items[i].Description;
                                string[] Descs = Desc.Split(new string[] { "Order Item (Please donot delete or update OrderItemId) :" }, StringSplitOptions.None);
                                string OrderItemId = Descs[1];
                                string Title = itemlistex.Items[i].Summary;
                                string Calendar = cal.Id;
                                DateTime StartDate = Convert.ToDateTime(itemlistex.Items[i].Start.DateTime);
                                DateTime EndDate = Convert.ToDateTime(itemlistex.Items[i].End.DateTime);
                                DateTime MovedOn = Convert.ToDateTime(itemlistex.Items[i].Created);
                                string Status = itemlistex.Items[i].Status;
                                InsertCalendarEvents(Calendar, OrderItemId, Title, StartDate, EndDate, MovedOn, Status);

                            }

                        }
                    }
                }

                //Here, itemlistreq.PageToken == null;
            }
        }
        catch (Exception ex)
        {
            Email.Email eml = new Email.Email();
            string strLog = ex.StackTrace.ToString() + "~~~~~~~~~~~~Error~~~~~~~~~~~:" + ex.Message.ToString();
            eml.SendMail("Error syncing google calendar", "Error :- " + strLog, "*****@*****.**", "", false);

        };
    }