示例#1
0
        public dynamic GetDashboards(string userId, string roleId)
        {
            dynamic response = null;

            if (!string.IsNullOrWhiteSpace(userId) && !string.IsNullOrWhiteSpace(roleId))
            {
                using (var context = new WebAppDbContext())
                {
                    CustomDashboardStorage dashboardStorage = new CustomDashboardStorage();
                    var dashboardsInfo = dashboardStorage.GetAvailableDashboardsInfo();

                    if (roleId == AllRoles)
                    {
                        response = dashboardsInfo.Select(x => new
                        {
                            DashId   = x.ID,
                            DashName = x.Name
                        }).ToList();
                    }
                    else
                    {
                        response = dashboardsInfo.Where(y => !context.UserDashboardMappings.Where(x => x.RoleId == roleId && x.UserId == userId).Select(x => x.DashboardId).Contains(y.ID)).Select(y => new
                        {
                            DashId   = y.ID,
                            DashName = y.Name
                        }).ToList();
                    }
                }
            }

            return(response);
        }
示例#2
0
        public ActionResult DeleteDashboard(string DashboardID)
        {
            var dashboardPath = $"~/{ConfigurationManager.AppSettings["DashboardPath"]?.ToString()}";
            CustomDashboardStorage newDashboardStorage = new CustomDashboardStorage(dashboardPath);

            newDashboardStorage.DeleteDashboard(HttpContext.Request.MapPath(Path.Combine(dashboardPath, $"{DashboardID}.xml")));
            return(new EmptyResult());
        }