예제 #1
0
        public static UserSchedulingModel ToModel(this UserSchedulingViewModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new UserSchedulingModel
            {
                FacilityID           = entity.FacilityID,
                ResourceID           = entity.ResourceID,
                UserFacilitySchedule = new List <UserFacilitySchedulingModel>(),
                ModifiedOn           = entity.ModifiedOn
            };

            if (entity.UserFacilitySchedule != null)
            {
                entity.UserFacilitySchedule.ForEach(delegate(UserFacilitySchedulingViewModel schedule)
                {
                    var transformedModel = schedule.ToModel();
                    model.UserFacilitySchedule.Add(transformedModel);
                });
            }

            return(model);
        }
        public Response <UserSchedulingViewModel> SaveUserFacilitySchedule(UserSchedulingViewModel userFacilitySchedule, bool isMyProfile)
        {
            var route  = isMyProfile ? "SaveMyProfileFacilitySchedule" : "SaveUserFacilitySchedule";
            var apiUrl = BaseRoute + route;

            var response = _communicationManager.Post <UserSchedulingModel, Response <UserSchedulingModel> >(userFacilitySchedule.ToModel(), apiUrl);

            return(response.ToViewModel());
        }
예제 #3
0
        public static UserSchedulingViewModel ToViewModel(this UserSchedulingModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new UserSchedulingViewModel
            {
                FacilityID           = entity.FacilityID,
                ResourceID           = entity.ResourceID,
                UserFacilitySchedule = new List <UserFacilitySchedulingViewModel>(),
                FacilitySchedule     = new List <UserFacilitySchedulingViewModel>(),
                ModifiedOn           = entity.ModifiedOn
            };

            if (entity.UserFacilitySchedule != null)
            {
                entity.UserFacilitySchedule.ForEach(delegate(UserFacilitySchedulingModel schedule)
                {
                    var transformedModel = schedule.ToViewModel();
                    model.UserFacilitySchedule.Add(transformedModel);
                    model.RowCount += transformedModel.RowCount;
                });
            }

            if (entity.FacilitySchedule != null)
            {
                entity.FacilitySchedule.ForEach(delegate(UserFacilitySchedulingModel schedule)
                {
                    var transformedModel = schedule.ToViewModel();
                    model.FacilitySchedule.Add(transformedModel);
                });
            }

            var firstUserFacility = model.UserFacilitySchedule.FirstOrDefault();

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

            var lastUserFacility = model.UserFacilitySchedule.LastOrDefault();

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

            return(model);
        }
        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");
        }
 public Response <UserSchedulingViewModel> SaveUserFacilitySchedule(UserSchedulingViewModel userFacilitySchedule, bool isMyProfile)
 {
     return(_schedulingRepository.SaveUserFacilitySchedule(userFacilitySchedule, isMyProfile));
 }