コード例 #1
0
        public IActionResult Index()
        {
            var model = new UnitsIndexView();

            model.Department       = _departmentsService.GetDepartmentById(DepartmentId);
            model.CanUserAddUnit   = _limitsService.CanDepartentAddNewUnit(DepartmentId);
            model.Groups           = _departmentGroupsService.GetAllGroupsForDepartment(DepartmentId);
            model.Units            = _unitsService.GetUnitsForDepartment(DepartmentId);
            model.States           = _unitsService.GetAllLatestStatusForUnitsByDepartmentId(DepartmentId);
            model.UnitStatuses     = _customStateService.GetAllActiveUnitStatesForDepartment(DepartmentId);
            model.UnitCustomStates = new Dictionary <int, CustomState>();

            foreach (var unit in model.Units)
            {
                var type = _unitsService.GetUnitTypeByName(DepartmentId, unit.Type);
                if (type != null && type.CustomStatesId.HasValue)
                {
                    var customStates = _customStateService.GetCustomSateById(type.CustomStatesId.Value);

                    if (customStates != null)
                    {
                        model.UnitCustomStates.Add(unit.UnitId, customStates);
                    }
                }
            }

            return(View(model));
        }
コード例 #2
0
        public IActionResult Delete(int id)
        {
            var state = _customStateService.GetCustomSateById(id);

            if (state.DepartmentId != DepartmentId)
            {
                Unauthorized();
            }

            _customStateService.Delete(state);

            return(RedirectToAction("Index"));
        }
コード例 #3
0
ファイル: UnitsController.cs プロジェクト: guyt101z/Core
        public IActionResult GetUnitOptionsDropdown(int unitId)
        {
            string buttonHtml = string.Empty;


            var unit = _unitsService.GetUnitById(unitId);
            var type = _unitsService.GetUnitTypeByName(DepartmentId, unit.Type);

            if (type != null && type.CustomStatesId.HasValue)
            {
                var customStates = _customStateService.GetCustomSateById(type.CustomStatesId.Value);
                var activeCalls  = _callsService.GetActiveCallsByDepartment(DepartmentId);
                var stations     = _departmentGroupsService.GetAllStationGroupsForDepartment(DepartmentId);

                StringBuilder sb = new StringBuilder();
                sb.Append($"<ul class='dropdown-menu multi-level unitStateList_{unitId}'>");

                foreach (var state in customStates.GetActiveDetails().OrderBy(x => x.Order))
                {
                    if (state.DetailType == (int)CustomStateDetailTypes.None)
                    {
                        sb.Append("<li><a style='color:" + state.ButtonColor + ";' href='/User/Units/SetUnitState?unitId=" + unitId + "&stateType=" + state.CustomStateDetailId + "'>" + state.ButtonText + "</a></li>");
                    }
                    else if (state.DetailType == (int)CustomStateDetailTypes.Calls)
                    {
                        sb.Append($"<li class='dropdown-submenu'><a style='color:{state.ButtonColor};' tabindex='-1' href='#'>{state.ButtonText}</a>");
                        sb.Append($"<ul class='dropdown-menu unitStateList_{unitId}'>");
                        sb.Append($"<li><a href='/User/Units/SetUnitState?unitId={unitId}&stateType={state.CustomStateDetailId}'>{state.ButtonText}</a></li>");
                        sb.Append("<li class='divider'></li>");
                        sb.Append("<li class='dropdown-header'>Calls</li>");

                        foreach (var call in activeCalls)
                        {
                            sb.Append($"<li><a href='/User/Units/SetUnitStateWithDest?unitId={unitId}&stateType={state.CustomStateDetailId}&type=2&destination={call.CallId}'>{call.GetIdentifier()}:{call.Name}</a></li>");
                        }

                        sb.Append("</ul>");
                    }
                    else if (state.DetailType == (int)CustomStateDetailTypes.Stations)
                    {
                        sb.Append($"<li class='dropdown-submenu'><a style='color:{state.ButtonColor};' tabindex='-1' href='#'>{state.ButtonText}</a>");
                        sb.Append($"<ul class='dropdown-menu unitStateList_{unitId}'>");
                        sb.Append($"<li><a href='/User/Units/SetUnitState?unitId={unitId}&stateType={state.CustomStateDetailId}'>{state.ButtonText}</a></li>");
                        sb.Append("<li class='divider'></li>");
                        sb.Append("<li class='dropdown-header'>Stations</li>");

                        foreach (var station in stations)
                        {
                            sb.Append("<li><a href='/User/Units/SetUnitStateWithDest?unitId=" + unitId + "&stateType=" + state.CustomStateDetailId + "&type=2&destination=" + station.DepartmentGroupId + "'>" + station.Name + "</a></li>");
                        }

                        sb.Append("</ul>");
                    }
                    else if (state.DetailType == (int)CustomStateDetailTypes.CallsAndStations)
                    {
                        sb.Append($"<li class='dropdown-submenu'><a style='color:{state.ButtonColor};' tabindex='-1' href='#'>{state.ButtonText}</a>");
                        sb.Append($"<ul class='dropdown-menu unitStateList_{unitId}'>");
                        sb.Append($"<li><a href='/User/Units/SetUnitState?unitId={unitId}&stateType={state.CustomStateDetailId}'>{state.ButtonText}</a></li>");
                        sb.Append("<li class='divider'></li>");
                        sb.Append("<li class='dropdown-header'>Calls</li>");

                        foreach (var call in activeCalls)
                        {
                            sb.Append($"<li><a href='/User/Units/SetUnitStateWithDest?unitId={unitId}&stateType={state.CustomStateDetailId}&type=2&destination={call.CallId}'>{call.GetIdentifier()}:{call.Name}</a></li>");
                        }

                        sb.Append("<li class='dropdown-header'>Stations</li>");

                        foreach (var station in stations)
                        {
                            sb.Append($"<li><a href='/User/Units/SetUnitStateWithDest?unitId={unitId}&stateType={state.CustomStateDetailId}&type=2&destination={station.DepartmentGroupId}'>{station.Name}</a></li>");
                        }

                        sb.Append("</ul>");
                    }
                }
                sb.Append("</ul>");

                buttonHtml = sb.ToString();
            }

            if (String.IsNullOrWhiteSpace(buttonHtml))
            {
                StringBuilder sb = new StringBuilder();
                sb.Append($"<ul class='dropdown-menu unitStateList_{unitId}'>");
                sb.Append($"<li><a href='/User/Units/SetUnitState?unitId={unitId}&stateType=0'>Available</a></li>");
                sb.Append($"<li><a href='/User/Units/SetUnitState?unitId={unitId}&stateType=3'>Committed</a></li>");
                sb.Append($"<li><a href='/User/Units/SetUnitState?unitId={unitId}&stateType=1'>Delayed</a></li>");
                sb.Append($"<li><a href='/User/Units/SetUnitState?unitId={unitId}&stateType=4'>Out Of Service</a></li>");
                sb.Append($"<li><a href='/User/Units/SetUnitState?unitId={unitId}&stateType=2'>Unavailable</a></li>");
                sb.Append("</ul>");

                buttonHtml = sb.ToString();
            }

            return(Content(buttonHtml));
        }