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)); }
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)); }