示例#1
0
 private void SetRecurringPropertiesDayWeekFortnight(UpdateWebcalCalendarRecurringEvent updateRecord)
 {
     if (_recurrenceWeekDayProvided)
     {
         updateRecord.RecurrenceWeekDay = RecurrenceWeekDay;
     }
 }
示例#2
0
        // This method will be called for each input received from the pipeline to this cmdlet; if no input is received, this method is not called
        protected override void ProcessRecord()
        {
            UpdateWebcalCalendarRecurringEvent updateRecord = GetRecurringEvent();
            var response = SentralApiClient.WebCal.UpdateWebcalCalendarRecurringEvent(updateRecord);

            WriteObject(response);
        }
示例#3
0
 private void SetRecurringPropertiesMonth(UpdateWebcalCalendarRecurringEvent updateRecord)
 {
     if (_recurrenceMonthDayProvided)
     {
         updateRecord.RecurrenceMonthDay = RecurrenceMonthDay;
     }
 }
        // This method will be called for each input received from the pipeline to this cmdlet; if no input is received, this method is not called
        protected override void ProcessRecord()
        {
            if (Calendar == null)
            {
                throw new ArgumentException("The Calendar property cannot be null");
            }

            UpdateWebcalCalendarRecurringEvent newRecord = GetRecurringEvent();

            var response = SentralApiClient.WebCal.CreateWebcalCalendarRecurringEvent(newRecord);

            WriteObject(response);
        }
示例#5
0
        private UpdateWebcalCalendarRecurringEvent GetRecurringEvent()
        {
            UpdateWebcalCalendarRecurringEvent updateRecord = GetInitUpdateModel();

            SetCommonProperties(updateRecord);

            switch (ParameterSetName)
            {
            case _idBasicParmSet:
            case _objBasicParmSet:
                break;

            case _idRecurringDailyParmSet:
            case _objRecurringDailyParmSet:
                SetRecurringPropertiesDaily(updateRecord);
                break;

            case _idRecurringDay1ParmSet:
            case _idRecurringDay2ParmSet:
            case _idRecurringDay3ParmSet:
            case _idRecurringDay4ParmSet:
            case _idRecurringDay5ParmSet:
            case _idRecurringWeekParamSet:
            case _idRecurringFortnightEvenParamSet:
            case _idRecurringFortnightOddParamSet:
            case _objRecurringDay1ParmSet:
            case _objRecurringDay2ParmSet:
            case _objRecurringDay3ParmSet:
            case _objRecurringDay4ParmSet:
            case _objRecurringDay5ParmSet:
            case _objRecurringWeekParamSet:
            case _objRecurringFortnightEvenParamSet:
            case _objRecurringFortnightOddParamSet:
                SetRecurringPropertiesDayWeekFortnight(updateRecord);
                break;

            case _idRecurringMonthParamSet:
            case _objRecurringMonthParamSet:
                SetRecurringPropertiesMonth(updateRecord);
                break;

            case _idRecurringYearParamSet:
            case _objRecurringYearParamSet:
                throw new NotImplementedException("Yearly recurrence is not yet implemented in the Sentral API");
            }
            return(updateRecord);
        }
示例#6
0
 private void SetCommonProperties(UpdateWebcalCalendarRecurringEvent updateRecord)
 {
     // Populate from student object if object was used.
     if (_notesProvided)
     {
         updateRecord.Notes = Notes;
     }
     if (_titleProvided)
     {
         updateRecord.Title = Title;
     }
     if (_linkProvided)
     {
         updateRecord.Link = Link;
     }
     if (_categoryProvided)
     {
         updateRecord.Category = Category;
     }
     if (_startDateProvided)
     {
         updateRecord.StartDate = StartDate;
     }
     if (_endDateProvided)
     {
         updateRecord.EndDate = EndDate;
     }
     if (_startTimeProvided)
     {
         updateRecord.StartTime = new SentralTime(StartTime);
     }
     if (_endTimeProvided)
     {
         updateRecord.EndTime = new SentralTime(EndTime);
     }
     if (ParameterSetName != _idBasicParmSet && ParameterSetName != _objBasicParmSet)
     {
         updateRecord.Recurrence = RecurrenceType;
     }
 }
示例#7
0
        public void CreateUpdateAndDeleteOneCalendarRecurringEventTest()
        {
            // Only run test on sandbox
            if (IsTestSite)
            {
                string eventTitle       = "Testing Calendar";
                string eventNotes       = "SDK Testing: " + DateTime.Now.ToString("yyyyMMdd-hhmmss");
                string eventTitleUpdate = "Testing Calendar (updated)";
                string category         = "test";
                string link             = "http://a-link-to-some-website.domain/some-folder";
                var    startDate        = new DateTime(2021, 01, 01);
                var    endDate          = new DateTime(2021, 01, 01);

                var newCalendarRecurringEvent = new UpdateWebcalCalendarRecurringEvent()
                {
                    Title             = eventTitle,
                    Notes             = eventNotes,
                    StartDate         = startDate,
                    EndDate           = endDate,
                    Category          = category,
                    StartTime         = new SentralTime(5, 30, 00),
                    EndTime           = new SentralTime(8, 30, 00),
                    Link              = link,
                    Recurrence        = WebCalRecurrenceType.day1,
                    RecurrenceWeekDay = 1,
                    Calendar          = new Relationship <SimpleWebCalCalendarLink>()
                    {
                        Data = new SimpleWebCalCalendarLink()
                        {
                            ID = 1
                        }
                    }
                };


                var response = SAPI.WebCal.CreateWebcalCalendarRecurringEvent(newCalendarRecurringEvent);
                Assert.IsTrue(
                    response != null &&
                    response.ID > 0 &&
                    response.Title == eventTitle &&
                    response.Notes == eventNotes &&
                    response.StartDate == startDate &&
                    response.EndDate == endDate &&
                    response.Link == link &&
                    response.Category == category

                    );

                var getCalendarTest = SAPI.WebCal.GetWebcalCalendarRecurringEvent(response.ID);
                Assert.IsTrue(
                    getCalendarTest != null &&
                    getCalendarTest.ID == response.ID &&
                    getCalendarTest.Title == eventTitle &&
                    getCalendarTest.Notes == eventNotes
                    );

                var updateModel = getCalendarTest.ToUpdatable();
                updateModel.Title = eventTitleUpdate;
                var updateCalendarTest = SAPI.WebCal.UpdateWebcalCalendarRecurringEvent(updateModel);
                Assert.IsTrue(
                    updateCalendarTest != null &&
                    updateCalendarTest.ID == response.ID &&
                    updateCalendarTest.Title == eventTitleUpdate
                    );

                SAPI.WebCal.DeleteWebcalCalendarRecurringEvent(response.ID);
                Assert.ThrowsException <RestClientException>(() => SAPI.WebCal.GetWebcalCalendarRecurringEvent(response.ID));
            }
        }
示例#8
0
 public WebcalCalendarRecurringEvent CreateWebcalCalendarRecurringEvent(UpdateWebcalCalendarRecurringEvent updateData)
 {
     return(CreateData <WebcalCalendarRecurringEvent>("/v1/webcal/webcal-calendar-recurring-event", updateData));
 }