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); }
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()); }