Пример #1
0
        public async Task <PartialViewResult> PinnedQuickTiles()
        {
            var hvm = new HomePageViewModel
            {
                ErrorDisplay = ErrorDisplay,
                AppUserState = AppUserState
            };
            var conn = new InforConnection(reportServerAddress: $"{SettingsManager.GetSettingValueAsString("rpurl")}",
                                           tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(PartialView("_QuickTiles", hvm));
            }
            hvm.PinnedTiles = new AppTile();
            if (Classes.Helpers.CookieExists("HomePageViewModel", Response))
            {
                hvm = JsonConvert.DeserializeObject <HomePageViewModel>(
                    Classes.Helpers.GetCookieValue("HomePageViewModel", Response));
                System.IO.File.WriteAllText(
                    Path.Combine(LocalStorageContainer, $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}"),
                    JsonConvert.SerializeObject(hvm.PinnedTiles));
                Classes.Helpers.RemoveCookie("HomePageViewModel", Response);
            }
            else
            {
                if (System.IO.File.Exists(Path.Combine(LocalStorageContainer,
                                                       $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")))
                {
                    hvm = JsonConvert.DeserializeObject <HomePageViewModel>(System.IO.File.ReadAllText(
                                                                                Path.Combine(LocalStorageContainer,
                                                                                             $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")));
                }
            }

            var result = await conn.GetSearchesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds,
                                                   AppUserState.ReportingUserName);

            if (result.Faults.Any())
            {
                ErrorDisplay.ShowError(result.Faults[0].Message);
                return(PartialView("_QuickTiles", hvm));
            }

            var allsearches  = (InforSearches)result.ReturnObject;
            var distinctApps = allsearches.GroupBy(search => search.App).Select(group => group.First());

            hvm.PinnedTiles.UserTiles.RemoveAll(n => distinctApps.All(ap => ap.App != n.Search.App));
            //var removeindexes = (from pin in hvm.PinnedTiles.UserTiles where distinctApps.All(a => a.App != pin.Search.App) select hvm.PinnedTiles.UserTiles.IndexOf(pin)).ToList();
            //foreach (var i in removeindexes)
            //{
            //    hvm.PinnedTiles.UserTiles.RemoveAt(i);
            //}
            return(PartialView("_QuickTiles", hvm));
        }
Пример #2
0
        public async Task <PartialViewResult> PinnedTiles()
        {
            var hvm = new HomePageViewModel
            {
                ErrorDisplay = ErrorDisplay,
                AppUserState = AppUserState
            };
            var conn = new InforConnection(reportServerAddress: $"{SettingsManager.GetSettingValueAsString("rpurl")}",
                                           tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(PartialView("_PinnedTiles", hvm));
            }
            hvm.PinnedTiles = new AppTile();
            if (System.IO.File.Exists(Path.Combine(LocalStorageContainer,
                                                   $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")))
            {
                if (System.IO.File.Exists(Path.Combine(LocalStorageContainer,
                                                       $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")))
                {
                    hvm = JsonConvert.DeserializeObject <HomePageViewModel>(System.IO.File.ReadAllText(
                                                                                Path.Combine(LocalStorageContainer,
                                                                                             $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")));
                }
            }
            var result = await conn.GetSearchesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds,
                                                   AppUserState.ReportingUserName);

            if (result.Faults.Any())
            {
                hvm.AppUserState.Connected = false;
                ErrorDisplay.ShowError(result.Faults[0].Message);
                return(PartialView("_PinnedTiles", hvm));
            }

            var allsearches  = (InforSearches)result.ReturnObject;
            var distinctApps = allsearches.GroupBy(search => search.App).Select(group => group.First());

            hvm.PinnedTiles.UserTiles.RemoveAll(n => distinctApps.All(ap => ap.App != n.Search.App));
            System.IO.File.WriteAllText(
                Path.Combine(LocalStorageContainer, $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}"),
                JsonConvert.SerializeObject(hvm));
            foreach (var tile in hvm.PinnedTiles.UserTiles)
            {
                //if (tile.Search.IncludeCount)
                //{
                tile.Count = conn.CountWeb(tile.Search, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
            }
            // }
            return(PartialView("_PinnedTiles", hvm));
        }
Пример #3
0
        public async Task <ActionResult> Index()
        {
            var conn = new InforConnection(reportServerAddress: $"{SettingsManager.GetSettingValueAsString("rpurl")}",
                                           tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(RedirectToAction("LogOff", "Auth"));
            }
            var result = await conn.GetSearchesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds,
                                                   AppUserState.ReportingUserName);

            if (result.Faults.Any())
            {
                ErrorDisplay.ShowError(result.Faults[0].Message);
                return(PartialView(_viewModel));
            }

            var allsearches  = (InforSearches)result.ReturnObject;
            var distinctApps = allsearches.GroupBy(search => search.App).Select(group => group.First());

            _viewModel.User       = AppUserState;
            _viewModel.AppTiles   = new AppTiles();
            _viewModel.UserTiles  = new AppTiles();
            _viewModel.ShowSearch = false;
            var displayOrder = 99;

            foreach (var app in distinctApps)
            {
                var imgurl = "";
                switch (app.App)
                {
                case "Search":
                    imgurl                = $"/Content/Images/Apps/inReachIcon2.ico";
                    displayOrder          = 0;
                    _viewModel.ShowSearch = true;
                    break;

                case "inScribe":
                    imgurl = $"/Content/Images/Apps/inScribe.ico";
                    break;

                case "Process":
                    imgurl       = $"/Content/Images/Apps/eTick.jpg";
                    displayOrder = 1;
                    break;

                case "Reporting":
                    imgurl       = $"/Content/Images/Apps/eTick.jpg";
                    displayOrder = 2;
                    break;

                case "Administration":
                    imgurl       = $"/Content/Images/Apps/eTick.jpg";
                    displayOrder = 3;
                    break;

                default:
                    imgurl = $"/Content/Images/Apps/inReachIcon2.jpg";
                    break;
                }

                var apptile = new AppTile
                {
                    Title        = app.App,
                    IconUrl      = imgurl,
                    AppTiles     = new Tiles(),
                    DisplayOrder = displayOrder
                };
                foreach (var search in allsearches.Where(search => search.App == app.App))
                {
                    apptile.AppTiles.Add(new Tile
                    {
                        Title        = search.Name,
                        IconUrl      = search.GetImageUrl(),
                        Search       = search,
                        AppTitle     = search.App,
                        DisplayOrder = search.DisplayOrder
                    });
                }
                apptile.UserTiles = new Tiles();
                //{
                //    new Tile {Title = $"User Tile Test 1 for app {app.App}", IconUrl = $"/Content/Images/LoggedIn.png"}
                //};
                _viewModel.AppTiles.Add(apptile);
            }

            var usertile = new AppTile {
                Title = "UserTiles", IconUrl = "", AppTiles = new Tiles()
            };

            //var usertilestCookie = Request.Cookies["usertiles"];
            //if (usertilestCookie != null)
            //{
            //    var usertilesString = usertilestCookie.Value;
            //    var usertilesList = usertilesString.Split('|');
            //    foreach (var s in usertilesList)
            //    {
            //        var searchTile = allsearches.FirstOrDefault(search => search.Name == s);
            //        if (searchTile != null) usertile.AppTiles.Add(new Tile { Title = searchTile.Name, IconUrl = searchTile.Imageurl, Search = searchTile, AppTitle = searchTile.App});
            //    }
            //}
            _viewModel.UserTiles.Add(usertile);
            if (!System.IO.File.Exists(Path.Combine(LocalStorageContainer,
                                                    $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")))
            {
                return(View(_viewModel));
            }
            var serhvm = JsonConvert.DeserializeObject <HomePageViewModel>(System.IO.File.ReadAllText(
                                                                               Path.Combine(LocalStorageContainer, $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")));

            _viewModel.AutoCloseCharms = serhvm.AutoCloseCharms;
            _viewModel.AutoScrollCaro  = serhvm.AutoScrollCaro;
            _viewModel.VerticalTrees   = serhvm.VerticalTrees;
            _viewModel.SavedSearches   =
                conn.GetSavedSearchesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
            _viewModel.Theme = serhvm.Theme;


            return(View(_viewModel));
        }