예제 #1
0
        public static SubCalEvent ToSubCal(this Event googleEvent, EventID AuthenticationID, uint CurrentCount)
        {
            SubCalEvent retValue = new SubCalEvent();

            retValue.ThirdPartyEventID = googleEvent.Id;
            retValue.ThirdPartyType    = ThirdPartyControl.CalendarTool.google.ToString();
            retValue.ThirdPartyUserID  = googleEvent.Organizer?.Email;


            retValue.ID                       = AuthenticationID.getIDUpToRepeatDayCalendarEvent() + "_" + CurrentCount + "_1";
            retValue.CalendarID               = AuthenticationID.getIDUpToRepeatDayCalendarEvent() + "_" + CurrentCount + "_0";
            retValue.isThirdParty             = true;
            retValue.SubCalAddressDescription = googleEvent.Location;


            retValue.SubCalStartDate = (long)(new DateTimeOffset(googleEvent.Start.DateTime.Value) - TilerElementExtension.JSStartTime).TotalMilliseconds;
            retValue.SubCalEndDate   = (long)(new DateTimeOffset(googleEvent.End.DateTime.Value) - TilerElementExtension.JSStartTime).TotalMilliseconds;

            retValue.SubCalTotalDuration      = (googleEvent.End.DateTime.Value - googleEvent.Start.DateTime.Value);
            retValue.SubCalRigid              = true;
            retValue.SubCalAddressDescription = googleEvent.Location;// SubCalendarEventEntry.Location.Description;
            retValue.SubCalAddress            = googleEvent.Location;
            retValue.SubCalCalendarName       = googleEvent.Summary;
            retValue.isReadOnly = false;
            if (googleEvent.ExtendedProperties != null && googleEvent.ExtendedProperties.Private__ != null && googleEvent.ExtendedProperties.Private__.ContainsKey(GoogleTilerEventControl.tilerReadonlyKey))
            {
                retValue.isReadOnly = Convert.ToBoolean(googleEvent.ExtendedProperties.Private__[GoogleTilerEventControl.tilerReadonlyKey]);
            }
            if (retValue.ThirdPartyUserID == null || retValue.SubCalCalendarName == null)
            {
                retValue.SubCalCalendarName = "busy";
            }

            retValue.SubCalCalEventStart = retValue.SubCalStartDate;
            retValue.SubCalCalEventEnd   = retValue.SubCalEndDate;

            retValue.isComplete     = false;
            retValue.isEnabled      = true;
            retValue.Duration       = (long)retValue.SubCalTotalDuration.TotalMilliseconds;
            retValue.Priority       = 0;
            retValue.ColorSelection = 0;
            return(retValue);
        }