示例#1
0
        public void Schedule_merge_renovation_valid()
        {
            RenovationService renovationService = SetupRenovationService();
            MergeRenovation   result            = renovationService.AddMergeRenovation(_createRenovaton.CreateValidTestObjectForSchedulingMergeRenovation());

            Assert.Equal(result.Description, _createRenovaton.CreateValidTestObjectForSchedulingMergeRenovation().Description);
        }
示例#2
0
        public void Schedule_merge_renovation_return_null()
        {
            RenovationService renovationService = SetupRenovationService();
            MergeRenovation   result            = renovationService.AddMergeRenovation(_createRenovaton.CreateInvalidTestObjectForSchedulingMergeRenovation());

            Assert.Null(result);
        }
示例#3
0
        private DateTime FindLastAppointmentFromBothRooms(MergeRenovation renovation)
        {
            DateTime appointmentInFirstRoom  = FindLastAppointmentForSignleRoom(renovation.RoomId);
            DateTime appointmentInSecondRoom = FindLastAppointmentForSecondRoom(renovation.SecondRoomId);

            return(appointmentInFirstRoom.CompareTo(appointmentInSecondRoom) > 0 ? appointmentInFirstRoom : appointmentInFirstRoom);
        }
示例#4
0
        public List <RenovationPeriod> GetMergeRenovationAlternativeAppointmets(MergeRenovation renovation)
        {
            renovation.RenovationPeriod.BeginDate = SetNewDateTimesForRenovation(renovation.RenovationPeriod.BeginDate);
            renovation.RenovationPeriod.EndDate   = SetNewDateTimesForRenovation(renovation.RenovationPeriod.EndDate);
            DateTime lastAppointment = FindLastAppointmentFromBothRooms(renovation);

            return(GetRenovationAlternativeAppointmets(renovation, lastAppointment));
        }
        public ActionResult AddMergeRenovation(MergeRenovationDTO mergeRenovationDTO)
        {
            MergeRenovation addedBaseRenovation = (MergeRenovation)_renovationService.AddMergeRenovation(MergeRenovationMapper.MergeRenovationDTOToMergeRenovation(mergeRenovationDTO));

            if (addedBaseRenovation == null)
            {
                return(NotFound("NotFound"));
            }
            return(Ok());
        }
示例#6
0
        public MergeRenovation AddMergeRenovation(MergeRenovation renovation)
        {
            renovation.RenovationPeriod.BeginDate = SetNewDateTimesForRenovation(renovation.RenovationPeriod.BeginDate);
            renovation.RenovationPeriod.EndDate   = SetNewDateTimesForRenovation(renovation.RenovationPeriod.EndDate);
            DateTime lastAppointment = FindLastAppointmentFromBothRooms(renovation);

            if (lastAppointment.CompareTo(renovation.RenovationPeriod.BeginDate) >= 0)
            {
                return(null);
            }
            _equipmentTransferRepository.AddEquipmentTransfer(new EquipmentTransfer(renovation.RoomId, renovation.RenovationPeriod.BeginDate));
            _equipmentTransferRepository.AddEquipmentTransfer(new EquipmentTransfer(renovation.SecondRoomId, renovation.RenovationPeriod.BeginDate));
            _renovationRepository.AddRenovation(renovation);
            return(renovation);
        }