コード例 #1
0
        public static UserFacilitySchedulingModel ToModel(this UserFacilitySchedulingViewModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new UserFacilitySchedulingModel
            {
                DayOfWeekID              = entity.DayOfWeekID,
                Days                     = entity.Days,
                ScheduleTypeID           = entity.ScheduleTypeID,
                UserFacilityTimeSchedule = new List <UserFacilityTimeSchedulingModel>(),
                ModifiedOn               = entity.ModifiedOn
            };

            if (entity.UserFacilityTimeSchedule != null)
            {
                entity.UserFacilityTimeSchedule.ForEach(delegate(UserFacilityTimeSchedulingViewModel userFacilityTime)
                {
                    var transformedModel = userFacilityTime.ToModel();
                    model.UserFacilityTimeSchedule.Add(transformedModel);
                });
            }

            return(model);
        }
コード例 #2
0
        public void SaveUserFacilitySchedule_Success()
        {
            //Arrange
            var scheduleMonday = new UserFacilitySchedulingViewModel
            {
                FacilityID               = 1,
                DayOfWeekID              = 1,
                ScheduleTypeID           = 4,
                UserFacilityTimeSchedule = new List <UserFacilityTimeSchedulingViewModel> {
                    new  UserFacilityTimeSchedulingViewModel {
                        ResourceAvailabilityID = 0, AvailabilityStartTime = "0800", AvailabilityEndTime = "1200"
                    },
                    new  UserFacilityTimeSchedulingViewModel {
                        ResourceAvailabilityID = 0, AvailabilityStartTime = "1300", AvailabilityEndTime = "1200"
                    }
                }
            };

            var scheduleTuesday = new UserFacilitySchedulingViewModel
            {
                FacilityID               = 3,
                DayOfWeekID              = 2,
                ScheduleTypeID           = 4,
                UserFacilityTimeSchedule = new List <UserFacilityTimeSchedulingViewModel> {
                    new  UserFacilityTimeSchedulingViewModel {
                        ResourceAvailabilityID = 0, AvailabilityStartTime = "0800", AvailabilityEndTime = "1200"
                    },
                    new  UserFacilityTimeSchedulingViewModel {
                        ResourceAvailabilityID = 0, AvailabilityStartTime = "1300", AvailabilityEndTime = "1200"
                    }
                }
            };

            var userSchedulingModel = new UserSchedulingViewModel
            {
                FacilityID           = 3,
                ResourceID           = 1,
                UserFacilitySchedule = new List <UserFacilitySchedulingViewModel> {
                    scheduleMonday, scheduleTuesday
                }
            };

            // Act
            var response = controller.SaveUserFacilitySchedule(userSchedulingModel, isMyProfile);


            Assert.IsTrue(response != null, "Response can't be null");
            Assert.IsTrue(response.ResultCode == 0, "Result Code must be 0");
        }
コード例 #3
0
        public static UserFacilitySchedulingViewModel ToViewModel(this UserFacilitySchedulingModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new UserFacilitySchedulingViewModel
            {
                DayOfWeekID              = entity.DayOfWeekID,
                Days                     = entity.Days,
                ScheduleTypeID           = (entity.ScheduleTypeID != null) ? entity.ScheduleTypeID : 4,
                UserFacilityTimeSchedule = new List <UserFacilityTimeSchedulingViewModel>(),
                ModifiedOn               = entity.ModifiedOn
            };

            if (entity.UserFacilityTimeSchedule != null)
            {
                var rowNum = 0;
                entity.UserFacilityTimeSchedule.ForEach(delegate(UserFacilityTimeSchedulingModel userFacilityTime)
                {
                    var transformedModel       = userFacilityTime.ToViewModel();
                    transformedModel.RowNumber = rowNum;
                    transformedModel.IsActive  = true;
                    rowNum++;
                    model.UserFacilityTimeSchedule.Add(transformedModel);
                });
            }

            model.RowCount = model.UserFacilityTimeSchedule.Any() ? model.UserFacilityTimeSchedule.Count() : 1;
            var firstUserFacilityTime = model.UserFacilityTimeSchedule.FirstOrDefault();

            if (firstUserFacilityTime != null)
            {
                firstUserFacilityTime.IsFirst = true;
            }

            var lastUserFacilityTime = model.UserFacilityTimeSchedule.LastOrDefault();

            if (lastUserFacilityTime != null)
            {
                lastUserFacilityTime.IsLast = true;
            }

            return(model);
        }