public static async Task <ResponseBase <DashboardWidget> > EditWidgetAsync(TeamHttpContext teamHttpContext, int editwidgetId)
        {
            List <UserDashboard> objEditWidget = new List <UserDashboard>();

            using (TeamDbContext dbContext = new TeamDbContext())
            {
                objEditWidget = dbContext.UserDashboards.Where(x => x.Id == editwidgetId).ToList();
            }

            if (objEditWidget.Count != 0)
            {
                foreach (var item in objEditWidget)
                {
                    DashboardWidget objWidgetEdit = new DashboardWidget
                    {
                        DashboardWidgetName     = item.DashboardWidgetName,
                        WidgetId                = item.Id,
                        DashboardChartType      = item.DashboardChartType,
                        DashboardUserPermission = item.DashboardUserPermission,
                        DashboardEmailFormat    = item.DashboardEmailFormat,
                        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
                    };

                    return(GetTypedResponse(teamHttpContext, objWidgetEdit));
                }
            }
            return(null);
        }
 public async Task <ResponseBase <List <LoadWidgets> > > AddorUpdateWidgetAsync([FromBody] DashboardWidget dashboardwidget)
 {
     return(await DashboardService.AddorUpdateWidgetAsync(new TeamHttpContext(HttpContext), dashboardwidget).ConfigureAwait(false));
 }
        internal static async Task <ResponseBase <List <LoadWidgets> > > AddorUpdateWidgetAsync(TeamHttpContext teamHttpContext, DashboardWidget details)
        {
            if (teamHttpContext == null)
            {
                throw new ArgumentNullException(nameof(teamHttpContext));
            }
            if (details.WidgetId == -1)
            {
                ResponseBase response = await GenericService.addWidget(teamHttpContext, details).ConfigureAwait(false);

                if (response.Code == HttpStatusCode.OK)
                {
                    List <LoadWidgets> Widgets = await GenericService.GetWidgetAsync(teamHttpContext, details.DashboardChartType, details.DashboardWidgetName);//, details.WidgetQuery,details.L1ConnectionString, details.WidgetQueryLevel1, details.L2ConnectionString, details.WidgetQueryLevel2, details.WidgetQueryLevel3, details.WidgetQueryLevel4).ConfigureAwait(false);

                    return(GetTypedResponse(teamHttpContext, Widgets));
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(details.WidgetId.ToString()))
                {
                    ResponseBase response = await GenericService.updateWidget(teamHttpContext, details).ConfigureAwait(false);

                    if (response.Code == HttpStatusCode.OK)
                    {
                        List <LoadWidgets> Widgets = await GenericService.GetWidgetAsync(teamHttpContext, details.DashboardChartType, details.DashboardWidgetName);//, details.WidgetQuery, details.WidgetQueryLevel1, details.WidgetQueryLevel2, details.WidgetQueryLevel3, details.WidgetQueryLevel4).ConfigureAwait(false);

                        return(GetTypedResponse(teamHttpContext, Widgets));
                    }
                }
            }
            return(null);
        }