public void DateIntervalController_NewInterval()
        {
            // Arrange
            string   lNewName        = "Crece desde el pie";
            DateTime lNewActiveFrom  = new DateTime(2016, 02, 01);
            DateTime lNewActiveUntil = new DateTime(2016, 02, 29);
            TimeSpan lNewStartTime   = new TimeSpan(08, 0, 0);
            TimeSpan lNewEndTime     = new TimeSpan(10, 0, 0);

            ManageScheduleHandler lController = new ManageScheduleHandler();
            ScheduleDTO           lResult;
            ScheduleDTO           lDto;


            // Act
            lDto = new ScheduleDTO()
            {
                Name        = lNewName,
                ActiveUntil = lNewActiveUntil,
                ActiveFrom  = lNewActiveFrom,
                Days        = new List <Days>()
                {
                    Days.Lunes,
                    Days.Miercoles,
                    Days.Viernes,
                },
                ActiveHours = new List <ScheduleEntryDTO>()
                {
                    new ScheduleEntryDTO()
                    {
                        EndTime   = lNewEndTime,
                        StartTime = lNewStartTime
                    }
                }
            };

            lDto.Id = lController.AddSchedule(lDto);

            // Assert
            lResult = lController.GetSchedule(lDto.Id);
            AssertAreEqualForAdding(lDto, lResult);
        }
        public void DateIntervalController_DaysModify()
        {
            // Arrange
            int lId = 1;

            ManageScheduleHandler lController = new ManageScheduleHandler();
            ScheduleDTO           lResult;
            ScheduleDTO           lDto = lController.GetSchedule(lId);

            IList <Days> lDayList = new List <Days>()
            {
                Days.Lunes, Days.Martes, Days.Jueves
            };

            // Act
            lDto.Days = lDayList;
            lController.ModifySchedule(lDto);

            // Assert
            lResult = lController.GetSchedule(lId);
            this.AssertAreEqualForUpdating(lDto, lResult);
        }
        public void DateIntervalController_TimeIntervalDelete()
        {
            // Arrange
            int lId     = 1;
            int lTimeId = 1;

            ManageScheduleHandler lController = new ManageScheduleHandler();
            ScheduleDTO           lDto;
            ScheduleDTO           lResult;
            ScheduleEntryDTO      lTimeInterval;
            ScheduleEntryDTO      lRemoved;

            // Act
            lDto          = lController.GetSchedule(lId);
            lTimeInterval = lDto.ActiveHours.Where(ti => ti.EndTime.Hours == lTimeId).SingleOrDefault();
            lDto.ActiveHours.Remove(lTimeInterval);
            lController.ModifySchedule(lDto);

            // Assert
            lResult  = lController.GetSchedule(lId);
            lRemoved = lResult.ActiveHours.Where(ti => ti.EndTime.Hours == lTimeId).SingleOrDefault();
            Assert.IsNull(lRemoved);
        }