Example #1
0
        public SynchronEvent ConvertOutlookToMyEvent(Microsoft.Office.Interop.Outlook.AppointmentItem outlookItem)
        {
            var result = new SynchronEvent()
                         .SetStart(outlookItem.Start)
                         .SetDuration(outlookItem.Duration)
                         .SetLocation(outlookItem.Location)
                         .SetSubject(outlookItem.Subject)
                         .SetCompanions(outlookItem.RequiredAttendees)
                         .SetId(outlookItem.GlobalAppointmentID)
                         .SetFinish(outlookItem.End)
                         .SetSource(_outlook)
                         .SetDescription(outlookItem.Body)
                         .SetPlacement(_outlook)
                         .SetAllDay(outlookItem.AllDayEvent);

            if (!string.IsNullOrEmpty(outlookItem.Mileage))
            {
                result.SetId(outlookItem.Mileage);
                if (outlookItem.Mileage.IndexOf(_outlook) > -1)
                {
                    result.SetSource(_outlook);
                }
                else
                {
                    result.SetSource(_google);
                    outlookItem.Categories = "Orange Category";
                    outlookItem.Save();
                }
            }
            else
            {
                Guid id = Guid.NewGuid();
                outlookItem.Mileage = _outlook + id.ToString();
                outlookItem.Save();
                result.SetSource(_outlook);
                result.SetId(outlookItem.Mileage);
            }
            return(result);
        }
Example #2
0
        public SynchronEvent ConvertGoogleEventToSynchronEvent(Event googleEvent)
        {
            var result = new SynchronEvent();

            if (googleEvent.Attendees != null)
            {
                foreach (var email in googleEvent.Attendees)
                {
                    result.AddCompanions(email.Email);
                }
            }
            if (googleEvent.Start.Date != null)
            {
                result.SetAllDay(true);
                string          date  = googleEvent.Start.Date;
                string[]        q     = date.Split('-');
                var             year  = int.Parse(q[0]);
                var             month = int.Parse(q[1]);
                var             day   = int.Parse(q[2]);
                System.DateTime buf   = new System.DateTime(year, month, day);
                result.SetStart(buf);
                result.SetFinish(buf.AddDays(1));
            }
            else
            {
                result.SetStart(googleEvent.Start.DateTime.Value)
                .SetFinish(googleEvent.End.DateTime.Value);
            }
            result
            .SetLocation(googleEvent.Location)
            .SetDescription(googleEvent.Description)
            .SetSubject(googleEvent.Summary)
            .SetSource(_google)
            .SetId(googleEvent.Id)
            .SetPlacement(_google);

            if (googleEvent.ExtendedProperties != null && googleEvent.ExtendedProperties.Shared != null &&
                googleEvent.ExtendedProperties.Shared.ContainsKey(_outlook))
            {
                result.SetId(googleEvent.ExtendedProperties.Shared[_outlook]);
                result.SetSource(_outlook);
            }
            else
            {
                result.SetSource(_google);
            }
            return(result);
        }