Пример #1
0
        public virtual ActionResult Locations(int?page           = null, string sort = null, bool?sortAsc = null,
                                              string stateFilter = "", string countyFilter = "", string siteFilter = "")
        {
            SiteBrowser browser = new SiteBrowser
            {
                PageIndex     = page ?? 0,
                PageSize      = 40,
                StateFilter   = stateFilter,
                CountyFilter  = countyFilter,
                SiteFilter    = siteFilter,
                SortAscending = !sortAsc.HasValue || sortAsc.Value,
                SortProperty  = "State".Equals(sort) ? SiteBrowser.Property.State
                    : "Site".Equals(sort) ? SiteBrowser.Property.Site
                    : "County".Equals(sort) ? SiteBrowser.Property.County
                    : "RHI5".Equals(sort) ? SiteBrowser.Property.RHI5
                    : "RHI10".Equals(sort) ? SiteBrowser.Property.RHI10
                    : "RGI5".Equals(sort) ? SiteBrowser.Property.RGI5
                    : "RGI10".Equals(sort) ? SiteBrowser.Property.RGI10
                    : "LastMeasurement".Equals(sort) ? SiteBrowser.Property.LastMeasurement
                    : (SiteBrowser.Property?)null
            };

            var model     = Repositories.Sites.ListAllSites(browser);
            var gridModel = new EntityGridModel <Site>(model)
            {
                RowsPerPage = 40
            };

            if (Request.IsAjaxRequest())
            {
                return(PartialView("LocationsGridPartial", gridModel));
            }

            return(View(gridModel));
        }
Пример #2
0
        public static ICriteria ApplySorting(this ICriteria criteria, SiteBrowser browser)
        {
            switch (browser.SortProperty)
            {
            case SiteBrowser.Property.Site:
                return(criteria.AddOrder(new Order(nameof(Site.Name), browser.SortAscending)));

            case SiteBrowser.Property.State:
                return(criteria.AddOrder(new Order($"state.{nameof(State.Name)}", browser.SortAscending)));

            case SiteBrowser.Property.County:
                return(criteria.AddOrder(new Order(nameof(Site.County), browser.SortAscending)));

            case SiteBrowser.Property.RHI5:
                return(criteria.AddOrder(new Order(nameof(Site.ComputedRHI5), browser.SortAscending)));

            case SiteBrowser.Property.RHI10:
                return(criteria.AddOrder(new Order(nameof(Site.ComputedRHI10), browser.SortAscending)));

            case SiteBrowser.Property.RGI5:
                return(criteria.AddOrder(new Order(nameof(Site.ComputedRGI5), browser.SortAscending)));

            case SiteBrowser.Property.RGI10:
                return(criteria.AddOrder(new Order(nameof(Site.ComputedRGI10), browser.SortAscending)));

            case SiteBrowser.Property.LastMeasurement:
                return(criteria.AddOrder(new Order(nameof(Site.ComputedLastMeasurementDate), browser.SortAscending)));

            default:
                return(criteria.AddOrder(new Order(nameof(Site.ComputedLastMeasurementDate), ascending: false)));
            }
        }
Пример #3
0
    //
    // Inheritance Methods
    //

    protected override void OnComponentRegistrationFinished()
    {
        base.OnComponentRegistrationFinished();

        networkLayerName = "Network"; //-

        roads = new RoadInfo[maxRoadCount];
        for (int i = 0; i < maxRoadCount; i++)
        {
            var road = new RoadInfo
            {
                mapLayer  = null,
                uiElement = Instantiate(roadTogglePrefab, roadsList, false),
            };

            road.uiElement.toggle.onValueChanged.AddListener((isOn) => OnRoadToggleChanged(road, isOn));
            road.uiElement.button.onClick.AddListener(() => RemoveRoad(road));
            ResetRoadUI(road.uiElement);

            roads[i] = road;
        }

        // Get Components
        dataLayers  = ComponentManager.Instance.Get <DataLayers>();
        siteBrowser = ComponentManager.Instance.Get <SiteBrowser>();

        // UI Listeners - Main Panel
        layerDropdown.onValueChanged.AddListener(OnSelectedLayerChanged);
        startSingleButton.onValueChanged.AddListener(OnToggleStartSingle);
        startMultiButton.onValueChanged.AddListener(OnToggleStartMulti);
        clearButton.onClick.AddListener(OnClearClicked);
        showRoadsToggle.onValueChanged.AddListener(OnToggleShowRoads);
        showIsochronToggle.onValueChanged.AddListener(OnToggleShowIsochrons);
        showStartPtToggle.onValueChanged.AddListener(OnToggleShowStartPts);
        editSpeedToggle.onValueChanged.AddListener(OnEditSpeedToggleChanged);
        newRoadButton.onClick.AddListener(OnNewRoadClick);
#if !UNITY_WEBGL
        networkDisruptionAnalysisToggle.onValueChanged.AddListener(OnNetworkDisruptionAnalysisToggleChanged);
#endif
        traveTimeSlider.onValueChanged.AddListener(OnTravelTimeSliderChanged);

        // UI Listeners - New Road Panel
        finishNewRoadButton.onClick.AddListener(OnFinishNewRoadClick);
        highwayButton.onValueChanged.AddListener((isOn) => OnRoadClassificationChange(highwayButton));
        primaryButton.onValueChanged.AddListener((isOn) => OnRoadClassificationChange(primaryButton));
        secondaryButton.onValueChanged.AddListener((isOn) => OnRoadClassificationChange(secondaryButton));
        otherButton.onValueChanged.AddListener((isOn) => OnRoadClassificationChange(otherButton));
        createRoadToggle.onValueChanged.AddListener(OnCreateRoadChanged);
        removeRoadToggle.onValueChanged.AddListener(OnRemoveRoadChanged);

#if !UNITY_WEBGL
        // Initialize notification title and message
        NDAAnalysisCompletedNotification.Init("Network Data Analysis", "Analysis Completed!");
        NDASetupCompletedNotification.Init("Network Data Analysis", "Setup Completed!");
#endif
    }
    //
    // Inheritance Methods
    //

    protected override void OnComponentRegistrationFinished()
    {
        base.OnComponentRegistrationFinished();

        // Get Components
        dataLayers   = ComponentManager.Instance.Get <DataLayers>();
        outputPanel  = ComponentManager.Instance.Get <OutputPanel>();
        siteBrowser  = ComponentManager.Instance.Get <SiteBrowser>();
        inputHandler = ComponentManager.Instance.Get <InputHandler>();
    }
Пример #5
0
    //
    // Unity Methods
    //

    protected override void Awake()
    {
        base.Awake();

        centerTopContainerT = GameObject.Find("CenterTopContainer").transform;

        // Initialize typologies
        typologyGroup = Instantiate(typologyGroupPrefab, centerTopContainerT, false);
        typologyGroup.gameObject.SetActive(false);
        Loader.Create(LoadTypologies(), true);

        siteBrowser = ComponentManager.Instance.Get <SiteBrowser>();
    }
Пример #6
0
    //
    // Unity Methods
    //

    private void Start()
    {
        // Window events
        closeButton.onClick.AddListener(OnCloseClick);
        saveButton.onClick.AddListener(OnSaveClick);

        // Component references
        var componentManager = ComponentManager.Instance;

        reachabilityTool = componentManager.Get <ReachabilityTool>();
        siteBrowser      = componentManager.Get <SiteBrowser>();

        InitUI();
    }
Пример #7
0
 public static ICriteria ApplyFilters(this ICriteria criteria, SiteBrowser browser)
 {
     if (!string.IsNullOrEmpty(browser.SiteFilter))
     {
         criteria.Add(Restrictions.Like("Name", browser.SiteFilter, MatchMode.Anywhere));
     }
     if (!string.IsNullOrEmpty(browser.StateFilter))
     {
         criteria.Add(Restrictions.Like("state.Name", browser.StateFilter, MatchMode.Anywhere));
     }
     if (!string.IsNullOrEmpty(browser.CountyFilter))
     {
         criteria.Add(Restrictions.Like(nameof(Site.County), browser.CountyFilter, MatchMode.Anywhere));
     }
     return(criteria);
 }
Пример #8
0
    public void InitComponentsAndListeners()
    {
        // Initialize component references
        mapController       = inspectorTool.Map;
        gridLayerController = mapController.GetLayerController <GridLayerController>();
        inspectorOutput     = inspectorTool.InspectOutput;
        dataLayers          = ComponentManager.Instance.Get <DataLayers>();
        mapViewArea         = ComponentManager.Instance.Get <MapViewArea>();
        siteBrowser         = ComponentManager.Instance.Get <SiteBrowser>();

        // Add listeners
        mapController.OnMapUpdate            += OnMapUpdate;
        mapViewArea.OnMapViewAreaChange      += OnMapViewAreaChange;
        siteBrowser.OnBeforeActiveSiteChange += OnBeforeActiveSiteChange;
        createAreaInspectionToggle.onValueChanged.AddListener(OnCreateInspectionChanged);
        removeAreaInspectionToggle.onValueChanged.AddListener(OnRemoveInspectionChanged);
    }
Пример #9
0
    public void InitComponentsAndListeners()
    {
        // Get Components from inspectorTool
        map = inspectorTool.Map;
        gridLayerController = map.GetLayerController <GridLayerController>();
        patch           = inspectorTool.Patch;
        inspectorOutput = inspectorTool.InspectOutput;
        dataLayers      = ComponentManager.Instance.Get <DataLayers>();
        inputHandler    = ComponentManager.Instance.Get <InputHandler>();
        mapViewArea     = ComponentManager.Instance.Get <MapViewArea>();
        siteBrowser     = ComponentManager.Instance.Get <SiteBrowser>();

        // Add listeners
        map.OnMapUpdate += OnMapUpdate;
        mapViewArea.OnMapViewAreaChange      += OnMapViewAreaChange;
        siteBrowser.OnBeforeActiveSiteChange += OnBeforeActiveSiteChange;
        createLineInspectionToggle.onValueChanged.AddListener(OnCreateInspectionChanged);
        removeLineInspectionToggle.onValueChanged.AddListener(OnRemoveInspectionChanged);
    }
Пример #10
0
 public EntityPage <Site> ListAllSites(SiteBrowser browser)
 => CriteriaExtensions.ListAllEntitiesByBrowser <Site>(
     browserAliaser: criteria => criteria.CreateAlias("State", "state"),
     browserFilterer: browser.HasFilters ? criteria => criteria.ApplyFilters(browser) : (Action <ICriteria>)null,
     browserSorter: criteria => criteria.ApplySorting(browser),
     browserPager: criteria => criteria.ApplyPaging(browser));