コード例 #1
0
        public async Task <IActionResult> Dashboard(bool firstRun = false)
        {
            var model = new DashboardModel();

            var staffingLevel = await _userStateService.GetLastUserStateByUserIdAsync(UserId);

            model.UserState = staffingLevel.State;
            model.StateNote = staffingLevel.Note;

            var staffingLevels = await _customStateService.GetActiveStaffingLevelsForDepartmentAsync(DepartmentId);

            if (staffingLevels == null)
            {
                model.UserStateTypes   = model.UserStateEnum.ToSelectList();
                ViewBag.UserStateTypes = model.UserStateEnum.ToSelectList();
            }
            else
            {
                model.CustomStaffingActive = true;
                var selected = staffingLevels.Details.FirstOrDefault(x => x.CustomStateDetailId == staffingLevel.State);
                model.UserStateTypes   = new SelectList(staffingLevels.GetActiveDetails(), "CustomStateDetailId", "ButtonText", selected);
                ViewBag.UserStateTypes = new SelectList(staffingLevels.GetActiveDetails(), "CustomStateDetailId", "ButtonText", selected);
            }

            model.Department = await _departmentsService.GetDepartmentByIdAsync(DepartmentId, false);

            model.FirstRun = firstRun;
            model.Number   = await _departmentSettingsService.GetTextToCallNumberForDepartmentAsync(DepartmentId);

            model.States = await _customStateService.GetActivePersonnelStateForDepartmentAsync(DepartmentId);

            return(View(model));
        }
コード例 #2
0
        public async Task <IActionResult> GetPersonnelStatusesForDepartment(bool includeAny)
        {
            List <PersonnelStatusJson> personnelStauses = new List <PersonnelStatusJson>();
            var customStauses = await _customStateService.GetActivePersonnelStateForDepartmentAsync(DepartmentId);

            if (includeAny)
            {
                personnelStauses.Add(new PersonnelStatusJson()
                {
                    Id = -1, Name = "Any"
                });
            }

            if (customStauses != null)
            {
                foreach (var detail in customStauses.GetActiveDetails())
                {
                    var status = new PersonnelStatusJson();
                    status.Id   = detail.CustomStateDetailId;
                    status.Name = detail.ButtonText;

                    personnelStauses.Add(status);
                }
            }
            else
            {
                personnelStauses.Add(new PersonnelStatusJson()
                {
                    Id = 0, Name = "Standing By"
                });
                personnelStauses.Add(new PersonnelStatusJson()
                {
                    Id = 1, Name = "Not Responding"
                });
                personnelStauses.Add(new PersonnelStatusJson()
                {
                    Id = 2, Name = "Responding"
                });
                personnelStauses.Add(new PersonnelStatusJson()
                {
                    Id = 3, Name = "On Scene"
                });
                personnelStauses.Add(new PersonnelStatusJson()
                {
                    Id = 4, Name = "Available Station"
                });
                personnelStauses.Add(new PersonnelStatusJson()
                {
                    Id = 5, Name = "Responding Station"
                });
                personnelStauses.Add(new PersonnelStatusJson()
                {
                    Id = 6, Name = "Responding Scene"
                });
            }

            return(Json(personnelStauses));
        }