public ActionResult Assign(AssignRoomViewModel model)
        {
            if (ModelState.IsValid)
            {
                var sectionInDb = _context.Sections.Single(s => s.Id == model.SectionId);

                if (model.LectureRoomId > 0)
                {
                    sectionInDb.AssignedLectureRoomId = model.LectureRoomId;
                }
                else if (model.LabRoomId > 0)
                {
                    sectionInDb.AssignedLabRoomId = model.LabRoomId;
                }

                _context.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult AssignLectureRoom(int id)
        {
            var section = _context.Sections.Single(s => s.Id == id);
            var rooms   = _context
                          .Rooms
                          .Include(r => r.AssignedLectureSections)
                          .Include(r => r.Building)
                          .Where(r => r.IsLectureRoom &&
                                 r.Size >= section.StudentCount &&
                                 ((!r.IsSharedRoom && r.AssignedLectureSections.Count == 0) ||
                                  (r.IsSharedRoom)));

            var viewModel = new AssignRoomViewModel
            {
                SectionId = id,
                Section   = section,
                Rooms     = rooms
            };

            return(View(viewModel));
        }
示例#3
0
        public void OnNav(string destination)
        {
            switch (destination)
            {
            case "home":
                homeViewModel     = new HomeViewModel();
                BackButtonEnabled = false;
                HelpText          = homeViewModel.HelpText;
                HeaderLabelText   = "Home";

                CurrentViewModel = homeViewModel;
                break;

            // Register
            case "register_patient":
                registerPatient1ViewModel = new RegisterPatientView1Model();
                BackButtonEnabled         = false;
                HeaderLabelText           = "Register - User Info";
                HelpText = registerPatient1ViewModel.HelpText;

                CurrentViewModel = registerPatient1ViewModel;
                break;

            case "register_patient2":
                registerPatient2ViewModel = new RegisterPatientView2Model();
                BackNavRoute      = "register_patient";
                BackButtonEnabled = true;
                HeaderLabelText   = "Register - Med Info";
                HelpText          = registerPatient2ViewModel.HelpText;

                CurrentViewModel = registerPatient2ViewModel;
                break;

            case "register_patient3":
                registerPatient3ViewModel = new RegisterPatientView3Model();
                BackButtonEnabled         = false;
                HeaderLabelText           = "Register - Submit";
                HelpText = registerPatient3ViewModel.HelpText;

                CurrentViewModel = registerPatient3ViewModel;
                break;

            // Assign Room
            case "assign_room":
                assignRoomViewModel = new AssignRoomViewModel();
                BackButtonEnabled   = false;
                HeaderLabelText     = "Assign Apointement Room";
                HelpText            = assignRoomViewModel.HelpText;

                CurrentViewModel = assignRoomViewModel;
                break;

            // Punish Patient
            case "punish_patient":
                punishPatientViewModel = new PunishPatientViewModel();
                BackButtonEnabled      = false;
                HeaderLabelText        = "Punish patient";
                HelpText = punishPatientViewModel.HelpText;

                CurrentViewModel = punishPatientViewModel;
                break;

            // Scheduled Apointements
            case "scheduled_apointements":
                scheduledApointementsStartViewModel = new ScheduledApointementsStartViewModel();
                BackButtonEnabled = false;
                HeaderLabelText   = "Scheduled Apointements";
                HelpText          = scheduledApointementsStartViewModel.HelpText;

                CurrentViewModel = scheduledApointementsStartViewModel;
                break;

            case "scheduled_apointements_display":
                scheduledApointementsDisplayViewModel = new ScheduledApointementsDisplayViewModel();
                BackNavRoute      = "scheduled_apointements";
                BackButtonEnabled = true;
                HeaderLabelText   = "Scheduled Apointements - Display";
                HelpText          = scheduledApointementsDisplayViewModel.HelpText;

                CurrentViewModel = scheduledApointementsDisplayViewModel;
                break;

            case "scheduled_apointements_term_change":
                scheduledApointementTermChangeViewModel = new ScheduledApointementTermChangeViewModel();
                BackNavRoute      = "scheduled_apointements_display";
                BackButtonEnabled = true;
                HeaderLabelText   = "Scheduled Apointements - Term Change";
                HelpText          = scheduledApointementTermChangeViewModel.HelpText;

                CurrentViewModel = scheduledApointementTermChangeViewModel;
                break;

            case "scheduled_apointements_doctor_change":
                scheduledApointementDoctorChangeViewModel = new ScheduledApointementDoctorChangeViewModel();
                BackNavRoute      = "scheduled_apointements_display";
                BackButtonEnabled = true;
                HeaderLabelText   = "Scheduled Apointements - Doctor Change";
                HelpText          = scheduledApointementDoctorChangeViewModel.HelpText;

                CurrentViewModel = scheduledApointementDoctorChangeViewModel;
                break;

            // Schedule Apointements
            case "apointement_with_account":
                apointementWithAccStartViewModel = new ApointementWithAccStartViewModel();
                BackButtonEnabled = false;
                HeaderLabelText   = "Apointement - Existing Patient";
                HelpText          = apointementWithAccStartViewModel.HelpText;

                CurrentViewModel = apointementWithAccStartViewModel;
                break;

            case "apointement_without_account":
                apointementWithoutAccStartViewModel = new ApointementWithoutAccStartViewModel();
                BackButtonEnabled = false;
                HeaderLabelText   = "Apointement - New Patient";
                HelpText          = apointementWithoutAccStartViewModel.HelpText;

                CurrentViewModel = apointementWithoutAccStartViewModel;
                break;

            // Schedule Apointement Shared
            case "schedule_apointement_period_doctor":
                scheduleApointementPeriodDoctorViewModel = new ScheduleApointementPeriodDoctorViewModel();
                BackNavRoute      = "apointement_with_account";
                BackButtonEnabled = true;
                HeaderLabelText   = "Apointement - Doctor";
                HelpText          = scheduleApointementPeriodDoctorViewModel.HelpText;

                CurrentViewModel = scheduleApointementPeriodDoctorViewModel;
                break;

            case "schedule_apointement_term":
                scheduleApointementTermViewModel = new ScheduleApointementTermViewModel();
                BackNavRoute      = "schedule_apointement_period_doctor";
                BackButtonEnabled = true;
                HeaderLabelText   = "Apointement - Term";
                HelpText          = scheduleApointementTermViewModel.HelpText;

                CurrentViewModel = scheduleApointementTermViewModel;
                break;

            case "schedule_apointement_room":
                scheduleApointementRoomViewModel = new ScheduleApointementRoomViewModel();
                BackNavRoute      = "schedule_apointement_term";
                BackButtonEnabled = true;
                HeaderLabelText   = "Apointement - Room";
                HelpText          = scheduleApointementRoomViewModel.HelpText;

                CurrentViewModel = scheduleApointementRoomViewModel;
                break;

            case "schedule_apointement_submit":
                scheduleApointementSubmitedViewModel = new ScheduleApointementSubmitedViewModel();
                BackButtonEnabled = false;
                HeaderLabelText   = "Apointement - Submit";
                HelpText          = scheduleApointementSubmitedViewModel.HelpText;

                CurrentViewModel = scheduleApointementSubmitedViewModel;
                break;

            // Info
            case "info":
                infoViewModel     = new InfoViewModel();
                BackButtonEnabled = false;
                HeaderLabelText   = "Feedback Info";

                CurrentViewModel = infoViewModel;
                break;

            // Account Info
            case "account_info":
                accountInfoViewModel = new AccountInfoViewModel();
                BackButtonEnabled    = false;
                HelpText             = accountInfoViewModel.HelpText;
                HeaderLabelText      = "Account Info";

                CurrentViewModel = accountInfoViewModel;
                break;

            // Feedback
            case "feedback":
                feedbackViewModel = new FeedbackViewModel();
                BackButtonEnabled = false;
                HelpText          = feedbackViewModel.HelpText;
                HeaderLabelText   = "Feedback";

                CurrentViewModel = feedbackViewModel;
                break;

            case "sign_out":
                loginViewModel    = new LoginViewModel();
                HelpText          = loginViewModel.HelpText;
                BackButtonEnabled = false;
                LoginFlag         = false;
                HeaderLabelText   = "Login";

                CurrentViewModel = loginViewModel;
                break;

            case "exit":
                App.Current.Shutdown();
                break;

            default:

                break;
            }
        }