public static string ScheduleiCalendarGenerationA7(this IScheduleService s, bool isExtendedReccurenceSupported, int increaseHour = 0)
        {
            ICalendar iCalendar = new ICalendar();
            VEvent    vEvent    = new VEvent();

            if (isExtendedReccurenceSupported)
            {
                System.DateTime startDate = new System.DateTime(System.DateTime.Now.Year, System.DateTime.Now.Month, System.DateTime.Now.Day, 9, 0, 0).AddHours(increaseHour);
                System.DateTime endDate   = new System.DateTime(System.DateTime.Now.Year, System.DateTime.Now.Month, System.DateTime.Now.Day, 18, 0, 0).AddHours(increaseHour).AddDays(7);
                vEvent.SetDates(startDate, endDate);
                vEvent.Rrule   = "FREQ=DAILY";
                vEvent.Summary = "Access from 9 AM to 6 PM";
            }
            else
            {
                System.DateTime startDate = new System.DateTime(1970, System.DateTime.Now.Month, System.DateTime.Now.Day, 9, 0, 0).AddHours(increaseHour);
                System.DateTime endDate   = new System.DateTime(1970, System.DateTime.Now.Month, System.DateTime.Now.Day, 18, 0, 0).AddHours(increaseHour).AddDays(7);
                vEvent.SetDates(startDate, endDate);
                vEvent.Rrule   = "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR";
                vEvent.Summary = "Access on weekdays from 9 AM to 6 PM for employees";
            }
            vEvent.Uid = UIDiCalendarGenerationA6(s).ToString();
            iCalendar.AddVEvent(vEvent);

            return(iCalendar.ICalendarValue);
        }
        public static string HelperSpecialDayGroupiCalendarGenerationA16(this IScheduleService s, bool specialDayState)
        {
            ICalendar iCalendar = new ICalendar();
            VEvent    vEvent    = new VEvent();

            if (specialDayState)
            {
                vEvent.Summary = "Test special days";
                System.DateTime startDate = new System.DateTime(System.DateTime.Now.Year, System.DateTime.Now.Month, System.DateTime.Now.Day, 0, 0, 0);
                System.DateTime endDate   = new System.DateTime(System.DateTime.Now.AddDays(1).Year, System.DateTime.Now.AddDays(1).Month, System.DateTime.Now.AddDays(1).Day, 0, 0, 0);
                vEvent.SetDates(startDate, endDate);
                vEvent.Uid = UIDiCalendarGenerationA6(s).ToString();
            }
            else
            {
                vEvent.Summary = "Test special days";
                System.DateTime startDate = new System.DateTime(System.DateTime.Now.AddDays(-2).Year, System.DateTime.Now.AddDays(-2).Month, System.DateTime.Now.AddDays(-2).Day, 0, 0, 0);
                System.DateTime endDate   = new System.DateTime(System.DateTime.Now.AddDays(-1).Year, System.DateTime.Now.AddDays(-1).Month, System.DateTime.Now.AddDays(-1).Day, 0, 0, 0);
                vEvent.SetDates(startDate, endDate);
                vEvent.Uid = UIDiCalendarGenerationA6(s).ToString();
            }
            iCalendar.AddVEvent(vEvent);
            return(iCalendar.ICalendarValue);
        }
        public static string CreateSpecialDayGroupA8(this IScheduleService s, out SpecialDayGroup specialDayGroup)
        {
            ICalendar iCalendar = new ICalendar();
            VEvent    vEvent    = new VEvent();

            vEvent.Summary = "Test special days";
            System.DateTime startDate = new System.DateTime(System.DateTime.Now.Year, System.DateTime.Now.Month, System.DateTime.Now.Day, 0, 0, 0);
            System.DateTime endDate   = new System.DateTime(System.DateTime.Now.AddDays(1).Year, System.DateTime.Now.AddDays(1).Month, System.DateTime.Now.AddDays(1).Day, 0, 0, 0);
            vEvent.SetDates(startDate, endDate);
            vEvent.Uid = UIDiCalendarGenerationA6(s).ToString();

            iCalendar.AddVEvent(vEvent);

            return(CreateSpecialDayGroupA8(s, out specialDayGroup, iCalendar.ICalendarValue));;
        }
        public static string HelperScheduleiCalTimePeriodsGenerationA17(this IScheduleService s, uint numberPeriodsPerDay, bool isExtendedRecurrenceSupported)
        {
            ICalendar iCalendar   = new ICalendar();
            int       startMinute = 1;

            System.DateTime startDate = System.DateTime.Now;

            if (isExtendedRecurrenceSupported)
            {
                startDate = new System.DateTime(System.DateTime.Now.Year, System.DateTime.Now.Month, System.DateTime.Now.Day, 0, startMinute, 0);
            }
            else
            {
                startDate = new System.DateTime(1970, System.DateTime.Now.Month, System.DateTime.Now.Day, 0, startMinute, 0);
            }
            System.DateTime endDate = startDate.AddMinutes(1);
            for (var k = 1; k <= numberPeriodsPerDay; k++)
            {
                if (isExtendedRecurrenceSupported)
                {
                    VEvent vEvent = new VEvent();
                    vEvent.Summary = "required number of time periods per day";
                    vEvent.SetDates(startDate, endDate);
                    vEvent.Rrule = "FREQ=DAILY";
                    vEvent.Uid   = UIDiCalendarGenerationA6(s).ToString();

                    iCalendar.AddVEvent(vEvent);
                }
                else
                {
                    VEvent vEvent = new VEvent();
                    vEvent.Summary = "required number of time periods per day";
                    startMinute    = endDate.Minute + 1;

                    vEvent.SetDates(startDate, endDate);
                    vEvent.Rrule = "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR";
                    vEvent.Uid   = UIDiCalendarGenerationA6(s).ToString();

                    iCalendar.AddVEvent(vEvent);
                }
                startDate = endDate.AddMinutes(1);
                endDate   = startDate.AddMinutes(1);
            }
            return(iCalendar.ICalendarValue);
        }