public async Task <CbuilderView> GetEditDOMByID(WebBuilderInfo webBuilderInfo, ReuseableParams reuseableParams, bool localizationEnabled)
        {
            WebBuilderDataProvider objDataProvider = new WebBuilderDataProvider();
            CbuilderView           cbuilderView    = await objDataProvider.GetEditDOMByID(webBuilderInfo);

            if (cbuilderView != null)
            {
                Task <IList <WebBuilderPages> > pagesList      = objDataProvider.GetPageList(webBuilderInfo.SiteID);
                Task <IList <WebBuilderPages> > dashboardPages = objDataProvider.GetDashboardPageList(webBuilderInfo.SiteID);
                Task <IList <WebBuilderPages> > forbiddenPages = objDataProvider.GetForbiddenPageList(webBuilderInfo.SiteID);
                Task <string> componentList    = GetComponent(objDataProvider, webBuilderInfo.SiteID);
                Task <string> bucketComponents = GetBucketCompoent(objDataProvider, webBuilderInfo.SiteID);
                Task <IList <ApplicationDetail> > applicationNames = objDataProvider.GetApplicationNames(webBuilderInfo.SiteID);
                Task <string> apiResultString          = InitializeAPI(webBuilderInfo.PageName, reuseableParams, webBuilderInfo.SiteID);
                Task <IList <LanguageList> > languages = null;
                if (localizationEnabled)
                {
                    languages = GetLanguageLists(webBuilderInfo.SiteID);
                }
                //  await Task.WhenAll(pagesList, dashboardPages, componentList, bucketComponents, applicationNames, apiResultString, forbiddenPages, languages);
                cbuilderView.PageList         = await pagesList;
                cbuilderView.DashboardPages   = await dashboardPages;
                cbuilderView.ComponentList    = await componentList;
                cbuilderView.BucketComponents = await bucketComponents;
                //cbuilderView.ApplicationName = await objDataProvider.GetApplicationName().ApplicationName;
                cbuilderView.ApplicationNames = await applicationNames;
                cbuilderView.APIResultString  = await apiResultString;
                cbuilderView.ForbiddenPage    = await forbiddenPages;
                if (localizationEnabled)
                {
                    cbuilderView.Languages = await languages;
                }
            }
            return(cbuilderView);
        }
 internal async Task <int> AddUpdate(WebBuilderInfo objWebBuilder)
 {
     try
     {
         List <SQLParam> sqlParam = new List <SQLParam>
         {
             new SQLParam("@WebBuilderID", objWebBuilder.WebBuilderID),
             new SQLParam("@EditDOM", objWebBuilder.EditDOM),
             new SQLParam("@ViewDOM", objWebBuilder.ViewDOM),
             new SQLParam("@Culture", objWebBuilder.Culture),
             new SQLParam("@UserName", objWebBuilder.UserName),
             new SQLParam("@Extra", objWebBuilder.Extra),
             new SQLParam("@Settings", objWebBuilder.Settings),
             new SQLParam("@PageName", objWebBuilder.PageName),
             new SQLParam("@Header", objWebBuilder.Header),
             new SQLParam("@HeaderEdit", objWebBuilder.HeaderEdit),
             new SQLParam("@Footer", objWebBuilder.Footer),
             new SQLParam("@FooterEdit", objWebBuilder.FooterEdit),
             new SQLParam("@PackageXML", objWebBuilder.PackageXML),
             new SQLParam("@PageComponent", objWebBuilder.PageComponent),
             new SQLParam("@HeaderFooterComponent", objWebBuilder.HeaderFooterComponent),
             new SQLParam("@CloneWebBuilderID", objWebBuilder.CloneWebBuilderID),
             new SQLParam("@SiteID", objWebBuilder.SiteID)
         };
         SQLExecuteNonQueryAsync sqlHandler = new SQLExecuteNonQueryAsync();
         return(await sqlHandler.ExecuteNonQueryAsync("[usp_WebBuilder_AddUpdate]", sqlParam, "@webbuildernewID"));
     }
     catch
     {
         throw;
     }
 }
        public async Task <int> AddUpdate(WebBuilderInfo webBuilderInfo, string rootPath)
        {
            WebBuilderDataProvider objDataProvider = new WebBuilderDataProvider();
            WBCachehelper          objCache        = new WBCachehelper();

            objCache.RemoveCacheByPageName(webBuilderInfo.PageName.ToLower(), false, rootPath);
            return(await objDataProvider.AddUpdate(webBuilderInfo));
        }
        public async Task <int> AddUpdatePublished(WebBuilderInfo webBuilderInfo, string rootPath)
        {
            int webBuilderID = await AddUpdate(webBuilderInfo, rootPath);

            WebBuilderDataProvider objDataProvider = new WebBuilderDataProvider();

            if (webBuilderID > 0)
            {
                await objDataProvider.AddUpdatePublished(webBuilderID, webBuilderInfo.SiteID);

                WBCachehelper objCache = new WBCachehelper();
                objCache.RemoveCacheByPageName(webBuilderInfo.PageName.ToLower(), true, rootPath);
            }
            return(webBuilderID);
        }
 internal async Task <CbuilderView> GetEditDOMByID(WebBuilderInfo objWebBuilder)
 {
     try
     {
         List <SQLParam> sqlParam = new List <SQLParam>
         {
             new SQLParam("@Culture", objWebBuilder.Culture),
             new SQLParam("@PageName", objWebBuilder.PageName),
             new SQLParam("@SiteID", objWebBuilder.SiteID)
         };
         SQLGetAsync sqlHandler = new SQLGetAsync();
         return(await sqlHandler.ExecuteAsObjectAsync <CbuilderView>("[usp_WebBuilder_GetEditDOMByID]", sqlParam));
     }
     catch
     {
         throw;
     }
 }