internal static async Task <List <LoadDashboard> > GetAllWidgetAsync(TeamHttpContext httpContext) { string userid = httpContext.ContextUserId; List <LoadDashboard> returnValue = new List <LoadDashboard>(); PostgresService postgresService = new PostgresService(); List <UserDashboard> objUserDashboard = new List <UserDashboard>(); using (TeamDbContext dbContext = new TeamDbContext()) { //objUserDashboard = dbContext.UserDashboards.Where(x => x.DashboardUserId == userid && x.Deleted == false).ToList(); //user specific //objUserDashboard = dbContext.UserDashboards.Where(x => x.Deleted == false).ToList(); // For all users objUserDashboard = dbContext.UserDashboards.Where(x => x.Deleted == false && x.DashboardUserPermission.Contains(httpContext.ContextUserId)).ToList(); // For permitted users } if (objUserDashboard.Count != 0) { foreach (var item in objUserDashboard) { List <WidgetRead> objWidgetRead = new List <WidgetRead>(); string connString = Utility.GetConnectionString(item.WidgetConnectionString); using (NpgsqlDataReader sqlData = postgresService.ExecuteSqlReturnReader(connString, item.WidgetQuery)) { while (sqlData.Read()) { objWidgetRead.Add(new WidgetRead { Name = sqlData.GetBlankStringIfNull("name"), Count = sqlData.GetInt32("count") }); } } LoadDashboard newItem = new LoadDashboard { DashboardWidgetName = item.DashboardWidgetName, DashboardWidgetId = item.Id, DashboardWidgetType = item.DashboardChartType, DashbaordWidgetData = objWidgetRead.ToArray() }; returnValue.Add(newItem); } } return(returnValue); }
internal static async Task <List <LoadWidgets> > GetWidgetAsync(TeamHttpContext httpContext, string widgettype, string widgetname)//, string widgetquery, string widgetquerylevel1, string widgetquerylevel2, string widgetquerylevel3, string widgetquerylevel4) { string userid = httpContext.ContextUserId; List <LoadWidgets> returnValue = new List <LoadWidgets>(); PostgresService postgresService = new PostgresService(); List <UserDashboard> objUserDashboard = new List <UserDashboard>(); using (TeamDbContext dbContext = new TeamDbContext()) { objUserDashboard = dbContext.UserDashboards.Where(x => x.CreatedBy == userid && x.DashboardChartType == widgettype && x.DashboardWidgetName == widgetname && x.Deleted == false).ToList(); } if (objUserDashboard.Count != 0) { foreach (var item in objUserDashboard) { List <WidgetRead> objWidgetRead = new List <WidgetRead>(); string connString = Utility.GetConnectionString(item.WidgetConnectionString); using (NpgsqlDataReader sqlData = postgresService.ExecuteSqlReturnReader(connString, item.WidgetQuery)) { while (sqlData.Read()) { objWidgetRead.Add(new WidgetRead { Name = sqlData.GetBlankStringIfNull("name"), Count = sqlData.GetInt32("count") }); } } LoadWidgets newItem = new LoadWidgets { DashboardWidgetName = item.DashboardWidgetName, WidgetId = item.Id, DashboardChartType = item.DashboardChartType, DashboardUserPermission = item.DashboardUserPermission, DashboardEmailFormat = item.DashboardEmailFormat, WidgetData = objWidgetRead.ToArray(), WidgetConnectionString = item.WidgetConnectionString, WidgetSchedulerType = item.WidgetSchedulerType, WidgetSchedulerEmailIDs = item.WidgetSchedulerEmailIDs, WidgetQuery = item.WidgetQuery, Level1ConnectionString = item.Level1ConnectionString, Level1SchedulerType = item.Level1SchedulerType, L1SchedulerEmailIDs = item.L1SchedulerEmailIDs, DashbaordQueryL1 = item.DashbaordQueryL1, Level2ConnectionString = item.Level2ConnectionString, Level2SchedulerType = item.Level2SchedulerType, L2SchedulerEmailIDs = item.L2SchedulerEmailIDs, DashbaordQueryL2 = item.DashbaordQueryL2, Level3ConnectionString = item.Level3ConnectionString, Level3SchedulerType = item.Level3SchedulerType, L3SchedulerEmailIDs = item.L3SchedulerEmailIDs, DashbaordQueryL3 = item.DashbaordQueryL3, Level4ConnectionString = item.Level4ConnectionString, Level4SchedulerType = item.Level4SchedulerType, L4SchedulerEmailIDs = item.L4SchedulerEmailIDs, DashbaordQueryL4 = item.DashbaordQueryL4, WidgetSendEmail = item.WidgetSendEmail }; returnValue.Add(newItem); } } return(returnValue); }