Пример #1
0
        private async Task <Dashboard> Data()
        {
            using (var httpClient = new HttpClient())
            {
                string basic = HttpContext.Session.GetString("authBasic");
                httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", HttpContext.Session.GetString("authBasic"));

                using (var response = await httpClient.GetAsync(Constants.API_BASE_URL + "admin/dashboard"))
                {
                    var result = await response.Content.ReadAsStringAsync();

                    var json = JsonConvert.DeserializeObject <JObject>(result);

                    if (response.IsSuccessStatusCode)
                    {
                        Models.Dashboard dashboard = json["result"].ToObject <Models.Dashboard>();
                        return(dashboard);
                    }
                    else
                    {
                        return(null);
                    }
                }
            }
        }
Пример #2
0
        public async Task <IActionResult> GetDashboard()
        {
            Models.Dashboard result = await Data();

            if (result != null)
            {
                return(Ok(result));
            }
            return(StatusCode(StatusCodes.Status404NotFound, null));
        }
Пример #3
0
        // GET: Dashboard
        public ActionResult Index(string environment = null)
        {
            var node = MvcApplication.Configuration.GetNodeForEnviroment(environment);

            var restClient = new JsonClient(useISODates: true);
            var dashboard  = new Models.Dashboard
            {
                Info         = restClient.Get <DashboardInfo>($"http://{node.ClusterHost}/api/Status/GetDashboardInfo", useDefaultCredentials: true),
                Environment  = node.Name,
                Environments = MvcApplication.Configuration.Nodes.Select(c => c.Name).ToList()
            };

            ViewBag.EnvironmentApiRoot = new Uri($"http://{node.ClusterHost}");
            ViewBag.OndemandRoot       =
                string.IsNullOrEmpty(node.OndemandHost) ? null : new Uri($"http://{node.OndemandHost}");
            return(View(dashboard));
        }
Пример #4
0
        public async Task <IList <Dashboard> > Search(SearchQueryDashboard searchQuery)
        {
            using (var context = await _contextFactory.CreateDbContext())
            {
                var query = context.Dashboards
                            .Where(x => x.OwnerId == searchQuery.UserId)
                            .AsQueryable();

                var userDashboards = await query.ToListAsync();

                if (userDashboards.Count == 0)
                {
                    var ownerTypes        = context.OwnerTypes.ToList();
                    var nonUserOwnerTypes = ownerTypes.Where(x => x.Name != "User").ToList();
                    var userOwnerType     = ownerTypes.First(x => x.Name == "User");
                    var defaultDashboards = context.Dashboards
                                            .Include(x => x.OwnerType)
                                            .Where(x => x.OwnerType.Name != "User")
                                            .OrderBy(x => x.OwnerType.Priority)
                                            .ToList();

                    Models.Dashboard defaultConfig = defaultDashboards.FirstOrDefault();

                    var userDefaultConfig = new Dashboard
                    {
                        Title           = "Default",
                        DashboardConfig = defaultConfig?.DashboardConfig,
                        OwnerId         = searchQuery.UserId,
                        OwnerTypeId     = userOwnerType.Id,
                        IsDefault       = true
                    };

                    await Create(userDefaultConfig);
                }

                query = query
                        .Skip(searchQuery.Skip ?? SearchConstants.DEFAULT_SKIP)
                        .Take(searchQuery.Take ?? SearchConstants.DEFAULT_TAKE)
                        .OrderBy(x => x.DateCreated);

                var filterResult = await query.ToListAsync();

                var result = _mapper.Map <IEnumerable <Dashboard> >(filterResult);
                return(result.ToList());
            }
        }
Пример #5
0
        // GET: Dashboard
        public ActionResult Index()
        {
            if (Session["User"] != null)
            {
                Session["CurrentController"] = "Dashboard";

                Session["ErrorMessage"] = null;

                int  siteID = (int)Session["SiteId"];
                Site site   = db.Site.Find(siteID);
                Session["SiteObject"] = site;

                var sl = new SortedList <string, object>()
                {
                    { "SiteID", siteID }
                };
                var loDataTable = DataRepositoryControl.ExecuteTable("GetDashboardStats", sl);

                var sl2 = new SortedList <string, object>()
                {
                    { "SiteID", siteID }
                };
                var loDataTable2 = DataRepositoryControl.ExecuteTable("usp_VisitorActivityFeed", sl2);
                var sl3          = new SortedList <string, object>()
                {
                    { "VisitDetailID", 312 }
                };
                var loDataTable3 = DataRepositoryControl.ExecuteTable("vms_DotNet_GetVisitorDetailByVisitDetailID", sl3);


                Models.Dashboard ViewModel = new Models.Dashboard();
                ViewModel.Dashboard_Stats_Tables           = loDataTable;
                ViewModel.Dashboard_VisitorActivity_Tables = loDataTable2;
                ViewModel.Dashboard_Tables = loDataTable3;

                return(View(ViewModel));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Пример #6
0
        public IHttpActionResult GetDashboard(string debcode, string apikey)
        {
            try
            {
                if (debcode == null)
                {
                    logger.Log(ErrorType.ERR, "GetDashboard()", RequestContext.Principal.Identity.Name, "Parameter debcode is required.", "api/dashboard");

                    return(BadRequest("Parameter debcode is required"));
                }

                if (apikey == null)
                {
                    return(BadRequest("Parameter apikey is required"));
                }

                var username = RequestContext.Principal.Identity.Name;
                var user     = _userRepository.GetByUsername(username);

                if (user.ApiKey != apikey)
                {
                    logger.Log(ErrorType.ERR, "GetDashboard()", RequestContext.Principal.Identity.Name, "The apikey does not match with the logged in user.", "api/dashboard");

                    return(BadRequest("The apikey does not match with the logged in user"));
                }

                var salesMonth      = _dashboardRepository.SalesPerMonthListByDebcode(debcode);
                var salesQuarter    = _dashboardRepository.SalesPerQuarterListByDebcode(debcode);
                var salesYear       = _dashboardRepository.SalesPerYearListByDebcode(debcode);
                var quantityMonth   = _dashboardRepository.QuantityPerMonthListByDebcode(debcode);
                var quantityQuarter = _dashboardRepository.QuantityPerQuarterListByDebcode(debcode);
                var quantityYear    = _dashboardRepository.QuantityPerYearListByDebcode(debcode);

                if (salesMonth.Count() == 0 || salesQuarter.Count() == 0 || salesYear.Count() == 0 ||
                    quantityMonth.Count() == 0 || quantityQuarter.Count() == 0 || quantityYear.Count() == 0)
                {
                    return(NotFound());
                }

                var dashboardModel = new Models.Dashboard();

                foreach (var quantity in quantityMonth)
                {
                    dashboardModel.Quantity.Month.Items.Add(new Item()
                    {
                        EAN    = quantity.EAN,
                        Amount = quantity.Quantity
                    });
                }

                foreach (var quantity in quantityQuarter)
                {
                    dashboardModel.Quantity.Quarter.Items.Add(new Item()
                    {
                        EAN    = quantity.EAN,
                        Amount = quantity.Quantity
                    });
                }

                foreach (var quantity in quantityYear)
                {
                    dashboardModel.Quantity.Year.Items.Add(new Item()
                    {
                        EAN    = quantity.EAN,
                        Amount = quantity.Quantity
                    });
                }

                foreach (var amount in salesMonth)
                {
                    dashboardModel.Sales.Month.Items.Add(new Item()
                    {
                        EAN    = amount.EAN,
                        Amount = amount.Quantity
                    });
                }

                foreach (var amount in salesQuarter)
                {
                    dashboardModel.Sales.Quarter.Items.Add(new Item()
                    {
                        EAN    = amount.EAN,
                        Amount = amount.Quantity
                    });
                }

                foreach (var amount in salesYear)
                {
                    dashboardModel.Sales.Year.Items.Add(new Item()
                    {
                        EAN    = amount.EAN,
                        Amount = amount.Quantity
                    });
                }

                logger.Log(ErrorType.INFO, "GetDashboard()", RequestContext.Principal.Identity.Name, "", "api/dashboard", startDate);

                return(Ok(dashboardModel));
            }
            catch (Exception e)
            {
                logger.Log(ErrorType.ERR, "GetDashboard()", RequestContext.Principal.Identity.Name, e.Message, "api/dashboard");

                return(InternalServerError(e));
            }
        }
Пример #7
0
        public async Task <IActionResult> Dashboard()
        {
            Models.Dashboard result = await Data();

            return(View(result));
        }