コード例 #1
0
        public async Task Should_Save_HolidayDates_Corrently()
        {
            // arrange

            var loaderOffices = await _officeDataLoader.LoadValueAtMostAsync(10);

            var office = loaderOffices.FirstOrDefault <OfficeViewObject>();

            // act
            var holidays     = office.HolidayDates;
            var holidaysList = holidays.ToList <HolidayViewObject>();
            var prevList     = holidaysList.Count();
            HolidayViewObject holidayViewObject = Craft_Holiday_Date(office.Codigo);

            holidaysList.Add(holidayViewObject);
            office.HolidayDates = holidaysList;
            var result = await _officeDataSaver.SaveAsync(office);

            Assert.IsTrue(result);
            var entity = await _officeDataLoader.LoadValueAsync(office.Codigo);

            var value = entity.HolidayDates.FirstOrDefault <HolidayViewObject>(x => (
                                                                                   (x.FESTIVO == holidayViewObject.FESTIVO) &&
                                                                                   (x.OFICINA == holidayViewObject.OFICINA) && (x.PARTE_DIA == holidayViewObject.PARTE_DIA) &&
                                                                                   (x.HORA_DESDE == holidayViewObject.HORA_DESDE) &&
                                                                                   (x.HORA_HASTA == holidayViewObject.HORA_HASTA)));
            var nextList = entity.HolidayDates.Count();

            Assert.Greater(nextList, prevList);
            Assert.NotNull(value);
        }
コード例 #2
0
        private void OnSelectedDaysCommand(object obj)
        {
            var dictionary   = obj as IDictionary <HolidayCalendar.Status, object>;
            var holidays     = dictionary[HolidayCalendar.Status.CurrentHolidays];
            var changedValue = dictionary[HolidayCalendar.Status.ChangedValue] as Tuple <DateTime, bool>;
            var holidayDto   = new HolidayViewObject();

            CreateHolidayItem(ref holidayDto, changedValue.Item1, changedValue.Item2, !changedValue.Item2);
            _lastSelectedDay = holidayDto;
            if (_holidaysDates.Contains(holidayDto, new HolidayDateComparer()))
            {
                var holidayList = _holidaysDates.ToList();
                holidayList.Remove(holidayDto);
                if (!holidayDto.IsDeleted)
                {
                    holidayList.Add(holidayDto);
                }
                _holidaysDates = holidayList;
            }
            else
            {
                _holidaysDates = _holidaysDates.Union(new List <HolidayViewObject>()
                {
                    holidayDto
                });
            }
        }
コード例 #3
0
 private void CreateHolidayItem(ref HolidayViewObject viewObject, DateTime time, bool isNew, bool isDeleted)
 {
     viewObject.PARTE_DIA  = _currentPartOfDay;
     viewObject.FESTIVO    = time;
     viewObject.OFICINA    = DataObject.Codigo;
     viewObject.HORA_DESDE = _holidayTimeSpanFrom;
     viewObject.HORA_HASTA = _holidayTimeSpanTo;
     viewObject.IsDirty    = true;
     viewObject.IsDeleted  = isDeleted;
     viewObject.IsNew      = isNew;
     viewObject.IsChanged  = true;
 }
コード例 #4
0
        /// <summary>
        ///  HolidayViewObject. This craft an holiday data transfer object.
        /// </summary>
        /// <returns></returns>
        private HolidayViewObject Craft_Holiday_Date(string oficina)
        {
            HolidayViewObject holidayViewObject = new HolidayViewObject();

            holidayViewObject.FESTIVO    = new DateTime(2018, 12, 24);
            holidayViewObject.HORA_DESDE = new TimeSpan(14, 0, 0);
            holidayViewObject.HORA_HASTA = new TimeSpan(20, 0, 0);
            holidayViewObject.PARTE_DIA  = 1;
            holidayViewObject.OFICINA    = oficina;
            holidayViewObject.IsDirty    = true;
            holidayViewObject.IsNew      = true;
            holidayViewObject.IsValid    = true;
            return(holidayViewObject);
        }