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); }