public static ITemplateController GetTemplateController() { var ctl = ComponentFactory.GetComponent<ITemplateController>(); if (ctl == null) { ctl = new TemplateController(); ComponentFactory.RegisterComponentInstance<ITemplateController>(ctl); } return ctl; }
public string TemplatesOptions(Templates.TemplateTypes templateType) { StringBuilder sb = new StringBuilder(); TemplateController tc = new TemplateController(); sb.Append("<option value=\"0\">[RESX:Default]</option>"); List<TemplateInfo> lc = tc.Template_List(PortalId, ModuleId, templateType); foreach (TemplateInfo l in lc) { sb.Append("<option value=\"" + l.TemplateId + "\">" + l.Subject + "</option>"); } return sb.ToString(); }
public static void DeleteTemplate(Model_Template parameters) { bool ret = TemplateController.Delete(parameters); bool success = false; string msg = "no"; if (ret) { success = true; msg = "Delete Completed!!"; } string res = (new BaseWebMethodAJax { success = success, msg = msg }).ObjectToJSON(); AppTools.SendResponse(HttpContext.Current.Response, res); }
public void Test_Task_GetPolly_Positive() { var eventBus = new Mock <IEventBus>(); var httpClient = new HttpClient(); var logger = new Mock <ILogger <TemplateController> >(); var saveresponse = new Mock <IKafkaResponseRepository>(); httpClient.BaseAddress = new Uri("http://localhost"); // var identityService = new Mock<IdentityService>(MockBehavior.Default, httpClient); var identityService = new Mock <HttpClientFactory>(); TemplateController controller = new TemplateController(eventBus.Object, identityService.Object, saveresponse.Object, logger.Object); try { var result = controller.GetPolly().GetAwaiter().GetResult(); Assert.Equal(200, ((ObjectResult)result).StatusCode); } catch (Exception) { } }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { base.Initialize(); GetDte(); GetStatusbar(); GetCodeModelProvider(); RegisterLanguageService(); RegisterIcons(); ClearTempDirectory(); this.solutionMonitor = new SolutionMonitor(); this.templateController = new TemplateController(dte); this.eventQueue = new EventQueue(statusBar); this.generationController = new GenerationController(dte, metadataProvider, templateController, eventQueue); RenderTemplate.Initialize(this); WireupEvents(); ErrorList.Initialize(this); }
private void LoadTemplates() { List <TemplateInfo> templates = TemplateController.GetTemplates(_templatePath); foreach (TemplateInfo templateInfo in templates) { lstTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstNPLContainerTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstNPLTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstFPLContainerTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstFPLTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstPPLContainerTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstPPLTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstCPLContainerTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstCPLTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstSPLTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstDetailTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstABPLContainerTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); lstABPLTemplate.Items.Add(new ListItem(templateInfo.Name, templateInfo.Path)); } }
public TemplateControllerTests() { _manager = new Mock <ITemplateManager>(); var appSettings = new AppSettings() { DefaultSqlConnection = "" }; _options = new Mock <IOptions <AppSettings> >(); _options.Setup(m => m.Value).Returns(appSettings); var connString = new ConnectionStrings { DefaultConnection = "" }; _conStrings = new Mock <IOptions <ConnectionStrings> >(); _conStrings.Setup(m => m.Value).Returns(connString); _controller = new TemplateController(_manager.Object, _options.Object, _conStrings.Object); }
public void Expect_GenerateTemplate() { var eventQueue = Substitute.For <IEventQueue>(); eventQueue.When(m => m.Enqueue(Arg.Any <Action>())).Do(c => { Trace.WriteLine("Enqueue Called"); c.Arg <Action>()(); }); var templateController = new TemplateController(dte, item => new TemplateSubstitute(item)); var generationController = new GenerationController(dte, metadataProvider, templateController, eventQueue); var type = typeof(WebApiController); var nsParts = type.FullName.Remove(0, 11).Split('.'); var path = string.Join(@"\", nsParts); var templateFilename = Path.Combine(SolutionDirectory, path + ".tstemplate"); generationController.OnTemplateChanged(templateFilename); }
protected void cmdApply_Click(object sender, EventArgs e) { XmlDocument doc = null; foreach (var customizedValue in _customizations) { var parentNode = customizedValue.Node.ParentNode; // ReSharper disable PossibleNullReferenceException if (customizedValue.ValueSource != string.Empty) { ((XmlElement)parentNode).SetAttribute(customizedValue.ValueSource, customizedValue.Value); ((XmlElement)parentNode).SetAttribute("installmode", "force"); } else { parentNode.InnerText = customizedValue.Value; } // ReSharper restore PossibleNullReferenceException doc = customizedValue.Node.OwnerDocument; } TemplateController.LoadTemplate(doc, ModuleContext.PortalId, ModuleContext.TabId); DeleteMe(); }
protected void cmdConfirmOverwriteFile_Click(object sender, EventArgs e) { TemplateController.SaveTemplate(txtTitle.Text, txtDescription.Text, ModuleContext, true, MaxNumberOfRecords()); Response.Redirect(Globals.NavigateURL(ModuleContext.TabId), true); }
#pragma warning disable IDE1006 // Naming Styles static async Task Main(string[] args) #pragma warning restore IDE1006 // Naming Styles { #region Delegates.GetDirectory var getEmptyDirectoryDelegate = new GetRelativeDirectoryDelegate(string.Empty); var getTemplatesDirectoryDelegate = new GetRelativeDirectoryDelegate(Directories.Base[Entity.Templates]); var getDataDirectoryDelegate = new GetRelativeDirectoryDelegate(Directories.Base[Entity.Data], getEmptyDirectoryDelegate); var getRecycleBinDirectoryDelegate = new GetRelativeDirectoryDelegate(Directories.Base[Entity.RecycleBin], getDataDirectoryDelegate); var getProductImagesDirectoryDelegate = new GetRelativeDirectoryDelegate(Directories.Base[Entity.ProductImages], getDataDirectoryDelegate); var getAccountProductImagesDirectoryDelegate = new GetRelativeDirectoryDelegate(Directories.Base[Entity.AccountProductImages], getDataDirectoryDelegate); var getReportDirectoryDelegate = new GetRelativeDirectoryDelegate(Directories.Base[Entity.Reports], getDataDirectoryDelegate); var getValidationDirectoryDelegate = new GetRelativeDirectoryDelegate(Directories.Base[Entity.Md5], getDataDirectoryDelegate); var getProductFilesBaseDirectoryDelegate = new GetRelativeDirectoryDelegate(Directories.Base[Entity.ProductFiles], getDataDirectoryDelegate); var getScreenshotsDirectoryDelegate = new GetRelativeDirectoryDelegate(Directories.Base[Entity.Screenshots], getDataDirectoryDelegate); var getProductFilesDirectoryDelegate = new GetUriDirectoryDelegate(getProductFilesBaseDirectoryDelegate); #endregion #region Delegates.GetFilename var getJsonFilenameDelegate = new GetJsonFilenameDelegate(); var getBinFilenameDelegate = new GetBinFilenameDelegate(); var getStoredHashesFilenameDelegate = new GetFixedFilenameDelegate("hashes", getBinFilenameDelegate); var getAppTemplateFilenameDelegate = new GetFixedFilenameDelegate("app", getJsonFilenameDelegate); var gerReportTemplateFilenameDelegate = new GetFixedFilenameDelegate("report", getJsonFilenameDelegate); var getCookiesFilenameDelegate = new GetFixedFilenameDelegate("cookies", getJsonFilenameDelegate); var getSettingsFilenameDelegate = new GetFixedFilenameDelegate("settings", getJsonFilenameDelegate); var getIndexFilenameDelegate = new GetFixedFilenameDelegate(Filenames.Base[Entity.Index], getJsonFilenameDelegate); var getWishlistedFilenameDelegate = new GetFixedFilenameDelegate("wishlisted", getJsonFilenameDelegate); var getUpdatedFilenameDelegate = new GetFixedFilenameDelegate("updated", getJsonFilenameDelegate); var getUriFilenameDelegate = new GetUriFilenameDelegate(); var getReportFilenameDelegate = new GetReportFilenameDelegate(); var getValidationFilenameDelegate = new GetValidationFilenameDelegate(); #endregion #region Delegates.GetPath var getStoredHashesPathDelegate = new GetPathDelegate( getEmptyDirectoryDelegate, getStoredHashesFilenameDelegate); var getAppTemplatePathDelegate = new GetPathDelegate( getTemplatesDirectoryDelegate, getAppTemplateFilenameDelegate); var getReportTemplatePathDelegate = new GetPathDelegate( getTemplatesDirectoryDelegate, gerReportTemplateFilenameDelegate); var getCookiePathDelegate = new GetPathDelegate( getEmptyDirectoryDelegate, getCookiesFilenameDelegate); var getSettingsPathDelegate = new GetPathDelegate( getEmptyDirectoryDelegate, getSettingsFilenameDelegate); var getGameDetailsFilesPathDelegate = new GetPathDelegate( getProductFilesDirectoryDelegate, getUriFilenameDelegate); var getValidationPathDelegate = new GetPathDelegate( getValidationDirectoryDelegate, getValidationFilenameDelegate); #endregion var statusController = new StatusController(); var ioOperations = new List <string>(); var ioTraceDelegate = new IOTraceDelegate(ioOperations); var streamController = new StreamController(); var fileController = new FileController(); var directoryController = new DirectoryController(); var storageController = new StorageController( streamController, fileController, ioTraceDelegate); var serializationController = new JSONStringController(); var convertBytesToStringDelegate = new ConvertBytesToStringDelegate(); var getBytesMd5HashAsyncDelegate = new GetBytesMd5HashAsyncDelegate(convertBytesToStringDelegate); var convertStringToBytesDelegate = new ConvertStringToBytesDelegate(); var getStringMd5HashAsyncDelegate = new GetStringMd5HashAsyncDelegate( convertStringToBytesDelegate, getBytesMd5HashAsyncDelegate); var protoBufSerializedStorageController = new ProtoBufSerializedStorageController( fileController, streamController, statusController, ioTraceDelegate); #region Controllers.Stash var storedHashesStashController = new StashController <Dictionary <string, string> >( getStoredHashesPathDelegate, protoBufSerializedStorageController, statusController); #endregion var precomputedHashController = new StoredHashController(storedHashesStashController); var serializedStorageController = new SerializedStorageController( precomputedHashController, storageController, getStringMd5HashAsyncDelegate, serializationController, statusController); #region User editable files stashControllers // Settings.json var settingsStashController = new StashController <Settings>( getSettingsPathDelegate, serializedStorageController, statusController); // templates/app.json var appTemplateStashController = new StashController <List <Template> >( getAppTemplatePathDelegate, serializedStorageController, statusController); // templates/report.json var reportTemplateStashController = new StashController <List <Template> >( getReportTemplatePathDelegate, serializedStorageController, statusController); // cookies.json - this is required to be editable to allow user paste browser cookies var cookieStashController = new StashController <Dictionary <string, string> >( getCookiePathDelegate, serializedStorageController, statusController); #endregion var consoleController = new ConsoleController(); var formatTextToFitConsoleWindowDelegate = new FormatTextToFitConsoleWindowDelegate(consoleController); var consoleInputOutputController = new ConsoleInputOutputController( formatTextToFitConsoleWindowDelegate, consoleController); var formatBytesDelegate = new FormatBytesDelegate(); var formatSecondsDelegate = new FormatSecondsDelegate(); var collectionController = new CollectionController(); var itemizeStatusChildrenDelegate = new ItemizeStatusChildrenDelegate(); var statusTreeToEnumerableController = new ConvertTreeToEnumerableDelegate <IStatus>(itemizeStatusChildrenDelegate); var applicationStatus = new Status { Title = "This ghost is a kind one." }; var appTemplateController = new TemplateController( "status", appTemplateStashController, collectionController); var reportTemplateController = new TemplateController( "status", reportTemplateStashController, collectionController); var formatRemainingTimeAtSpeedDelegate = new FormatRemainingTimeAtSpeedDelegate(); var statusAppViewModelDelegate = new StatusAppViewModelDelegate( formatRemainingTimeAtSpeedDelegate, formatBytesDelegate, formatSecondsDelegate); var statusReportViewModelDelegate = new StatusReportViewModelDelegate( formatBytesDelegate, formatSecondsDelegate); var getStatusViewUpdateDelegate = new GetStatusViewUpdateDelegate( applicationStatus, appTemplateController, statusAppViewModelDelegate, statusTreeToEnumerableController); var consoleNotifyStatusViewUpdateController = new NotifyStatusViewUpdateController( getStatusViewUpdateDelegate, consoleInputOutputController); // TODO: Implement a better way // add notification handler to drive console view updates statusController.NotifyStatusChangedAsync += consoleNotifyStatusViewUpdateController.NotifyViewUpdateOutputOnRefreshAsync; var constrainExecutionAsyncDelegate = new ConstrainExecutionAsyncDelegate( statusController, formatSecondsDelegate); var constrainRequestRateAsyncDelegate = new ConstrainRequestRateAsyncDelegate( constrainExecutionAsyncDelegate, collectionController, statusController, new string[] { Models.Uris.Uris.Paths.Account.GameDetails, // gameDetails requests Models.Uris.Uris.Paths.ProductFiles.ManualUrlDownlink, // manualUrls from gameDetails requests Models.Uris.Uris.Paths.ProductFiles.ManualUrlCDNSecure, // resolved manualUrls and validation files requests Models.Uris.Uris.Roots.Api // API entries }); var uriController = new UriController(); var cookieSerializationController = new CookieSerializationController(); var cookiesController = new CookiesController( cookieStashController, cookieSerializationController, statusController); var networkController = new NetworkController( cookiesController, uriController, constrainRequestRateAsyncDelegate); var downloadFromResponseAsyncDelegate = new DownloadFromResponseAsyncDelegate( networkController, streamController, fileController, statusController); var downloadFromUriAsyncDelegate = new DownloadFromUriAsyncDelegate( networkController, downloadFromResponseAsyncDelegate, statusController); var requestPageAsyncDelegate = new RequestPageAsyncDelegate( networkController); var languageController = new LanguageController(); var itemizeLoginIdDelegate = new ItemizeAttributeValuesDelegate( AttributeValuesPatterns.LoginId); var itemizeLoginUsernameDelegate = new ItemizeAttributeValuesDelegate( AttributeValuesPatterns.LoginUsername); var itemizeLoginTokenDelegate = new ItemizeAttributeValuesDelegate( AttributeValuesPatterns.LoginToken); var itemizeSecondStepAuthenticationTokenDelegate = new ItemizeAttributeValuesDelegate( AttributeValuesPatterns.SecondStepAuthenticationToken); var itemizeGOGDataDelegate = new ItemizeGOGDataDelegate(); var itemizeScreenshotsDelegate = new ItemizeScreenshotsDelegate(); var formatImagesUriDelegate = new FormatImagesUriDelegate(); var formatScreenshotsUriDelegate = new FormatScreenshotsUriDelegate(); var recycleDelegate = new RecycleDelegate( getRecycleBinDirectoryDelegate, fileController, directoryController); #region Correct settings var correctSettingsCollectionsAsyncDelegate = new CorrectSettingsCollectionsAsyncDelegate(statusController); var correctSettingsDownloadsLanguagesAsyncDelegate = new CorrectSettingsDownloadsLanguagesAsyncDelegate(languageController); var correctSettingsDownloadsOperatingSystemsAsyncDelegate = new CorrectSettingsDownloadsOperatingSystemsAsyncDelegate(); var correctSettingsDirectoriesAsyncDelegate = new CorrectSettingsDirectoriesAsyncDelegate(); var correctSettingsActivity = new CorrectSettingsActivity( settingsStashController, statusController, correctSettingsCollectionsAsyncDelegate, correctSettingsDownloadsLanguagesAsyncDelegate, correctSettingsDownloadsOperatingSystemsAsyncDelegate, correctSettingsDirectoriesAsyncDelegate); #endregion #region Data Controllers var dataControllerFactory = new DataControllerFactory( protoBufSerializedStorageController, precomputedHashController, getDataDirectoryDelegate, getBinFilenameDelegate, statusController); // TODO: Remove the stub Interfaces.Controllers.Index.IIndexController <long> wishlistedIndexController = null; // dataControllerFactory.CreateIndexController( // Entity.Wishlist, // getWishlistedFilenameDelegate); // TODO: Remove the stub Interfaces.Controllers.Index.IIndexController <long> updatedIndexController = null; // dataControllerFactory.CreateIndexController( // Entity.Updated, // getUpdatedFilenameDelegate); var activityRecordsController = dataControllerFactory.CreateStringRecordsController(Entity.Activity); var productsDataController = dataControllerFactory.CreateDataControllerEx <Product>(Entity.Products); var accountProductsDataController = dataControllerFactory.CreateDataControllerEx <AccountProduct>(Entity.AccountProducts); var gameDetailsDataController = dataControllerFactory.CreateDataControllerEx <GameDetails>(Entity.GameDetails); var gameProductDataDataController = dataControllerFactory.CreateDataControllerEx <GameProductData>(Entity.GameProductData); var apiProductsDataController = dataControllerFactory.CreateDataControllerEx <ApiProduct>(Entity.ApiProducts); var productScreenshotsDataController = dataControllerFactory.CreateDataControllerEx <ProductScreenshots>(Entity.ProductScreenshots); var productDownloadsDataController = dataControllerFactory.CreateDataControllerEx <ProductDownloads>(Entity.ProductDownloads); var productRoutesDataController = dataControllerFactory.CreateDataControllerEx <ProductRoutes>(Entity.ProductRoutes); var validationResultsDataController = dataControllerFactory.CreateDataControllerEx <ValidationResult>(Entity.ValidationResults); #endregion var aliasController = new AliasController(ActivityContext.Aliases); var whitelistController = new WhitelistController(ActivityContext.Whitelist); var prerequisitesController = new PrerequisiteController(ActivityContext.Prerequisites); var supplementaryController = new SupplementaryController(ActivityContext.Supplementary); var activityContextController = new ActivityContextController( aliasController, whitelistController, prerequisitesController, supplementaryController); #region Activity Controllers #region Authorize var correctUsernamePasswordAsyncDelegate = new CorrectUsernamePasswordAsyncDelegate( consoleInputOutputController); var correctSecurityCodeAsyncDelegate = new CorrectSecurityCodeAsyncDelegate( consoleInputOutputController); var attributeValuesItemizeDelegates = new Dictionary <string, IItemizeDelegate <string, string> > { { QueryParameters.LoginId, itemizeLoginIdDelegate }, { QueryParameters.LoginUsername, itemizeLoginUsernameDelegate }, { QueryParameters.LoginToken, itemizeLoginTokenDelegate }, { QueryParameters.SecondStepAuthenticationToken, itemizeSecondStepAuthenticationTokenDelegate } }; var authorizationController = new AuthorizationController( correctUsernamePasswordAsyncDelegate, correctSecurityCodeAsyncDelegate, uriController, networkController, serializationController, attributeValuesItemizeDelegates, statusController); var authorizeActivity = new AuthorizeActivity( settingsStashController, authorizationController, statusController); #endregion #region Update.PageResults var getProductUpdateUriByContextDelegate = new GetProductUpdateUriByContextDelegate(); var getQueryParametersForProductContextDelegate = new GetQueryParametersForProductContextDelegate(); var getProductsPageResultsAsyncDelegate = new GetPageResultsAsyncDelegate <ProductsPageResult>( Entity.Products, getProductUpdateUriByContextDelegate, getQueryParametersForProductContextDelegate, requestPageAsyncDelegate, getStringMd5HashAsyncDelegate, precomputedHashController, serializationController, statusController); var itemizeProductsPageResultProductsDelegate = new ItemizeProductsPageResultProductsDelegate(); var productsUpdateActivity = new PageResultUpdateActivity <ProductsPageResult, Product>( (Activity.UpdateData, Entity.Products), activityContextController, getProductsPageResultsAsyncDelegate, itemizeProductsPageResultProductsDelegate, productsDataController, activityRecordsController, statusController); var getAccountProductsPageResultsAsyncDelegate = new GetPageResultsAsyncDelegate <AccountProductsPageResult>( Entity.AccountProducts, getProductUpdateUriByContextDelegate, getQueryParametersForProductContextDelegate, requestPageAsyncDelegate, getStringMd5HashAsyncDelegate, precomputedHashController, serializationController, statusController); var itemizeAccountProductsPageResultProductsDelegate = new ItemizeAccountProductsPageResultProductsDelegate(); var accountProductsUpdateActivity = new PageResultUpdateActivity <AccountProductsPageResult, AccountProduct>( (Activity.UpdateData, Entity.AccountProducts), activityContextController, getAccountProductsPageResultsAsyncDelegate, itemizeAccountProductsPageResultProductsDelegate, accountProductsDataController, activityRecordsController, statusController); var confirmAccountProductUpdatedDelegate = new ConfirmAccountProductUpdatedDelegate(); var updatedUpdateActivity = new UpdatedUpdateActivity( activityContextController, accountProductsDataController, confirmAccountProductUpdatedDelegate, updatedIndexController, statusController); #endregion #region Update.Wishlisted var getDeserializedPageResultAsyncDelegate = new GetDeserializedGOGDataAsyncDelegate <ProductsPageResult>(networkController, itemizeGOGDataDelegate, serializationController); var wishlistedUpdateActivity = new WishlistedUpdateActivity( getDeserializedPageResultAsyncDelegate, wishlistedIndexController, statusController); #endregion #region Update.Products // dependencies for update controllers var getDeserializedGOGDataAsyncDelegate = new GetDeserializedGOGDataAsyncDelegate <GOGData>(networkController, itemizeGOGDataDelegate, serializationController); var getDeserializedGameProductDataAsyncDelegate = new GetDeserializedGameProductDataAsyncDelegate( getDeserializedGOGDataAsyncDelegate); var getProductUpdateIdentityDelegate = new GetProductUpdateIdentityDelegate(); var getGameProductDataUpdateIdentityDelegate = new GetGameProductDataUpdateIdentityDelegate(); var getAccountProductUpdateIdentityDelegate = new GetAccountProductUpdateIdentityDelegate(); var fillGameDetailsGapsDelegate = new FillGameDetailsGapsDelegate(); var itemizeAllUserRequestedIdsAsyncDelegate = new ItemizeAllUserRequestedIdsAsyncDelegate(args); // product update controllers var itemizeAllGameProductDataGapsAsyncDelegatepsDelegate = new ItemizeAllMasterDetailsGapsAsyncDelegate <Product, GameProductData>( productsDataController, gameProductDataDataController); var itemizeAllUserRequestedIdsOrDefaultAsyncDelegate = new ItemizeAllUserRequestedIdsOrDefaultAsyncDelegate( itemizeAllUserRequestedIdsAsyncDelegate, itemizeAllGameProductDataGapsAsyncDelegatepsDelegate, updatedIndexController); var gameProductDataUpdateActivity = new MasterDetailProductUpdateActivity <Product, GameProductData>( Entity.GameProductData, getProductUpdateUriByContextDelegate, itemizeAllUserRequestedIdsOrDefaultAsyncDelegate, productsDataController, gameProductDataDataController, updatedIndexController, getDeserializedGameProductDataAsyncDelegate, getGameProductDataUpdateIdentityDelegate, statusController); var getApiProductDelegate = new GetDeserializedGOGModelAsyncDelegate <ApiProduct>( networkController, serializationController); var itemizeAllApiProductsGapsAsyncDelegate = new ItemizeAllMasterDetailsGapsAsyncDelegate <Product, ApiProduct>( productsDataController, apiProductsDataController); var itemizeAllUserRequestedOrApiProductGapsAndUpdatedDelegate = new ItemizeAllUserRequestedIdsOrDefaultAsyncDelegate( itemizeAllUserRequestedIdsAsyncDelegate, itemizeAllApiProductsGapsAsyncDelegate, updatedIndexController); var apiProductUpdateActivity = new MasterDetailProductUpdateActivity <Product, ApiProduct>( Entity.ApiProducts, getProductUpdateUriByContextDelegate, itemizeAllUserRequestedOrApiProductGapsAndUpdatedDelegate, productsDataController, apiProductsDataController, updatedIndexController, getApiProductDelegate, getProductUpdateIdentityDelegate, statusController); var getDeserializedGameDetailsDelegate = new GetDeserializedGOGModelAsyncDelegate <GameDetails>( networkController, serializationController); var confirmStringContainsLanguageDownloadsDelegate = new ConfirmStringMatchesAllDelegate( collectionController, Models.Separators.Separators.GameDetailsDownloadsStart, Models.Separators.Separators.GameDetailsDownloadsEnd); var replaceMultipleStringsDelegate = new ReplaceMultipleStringsDelegate(); var itemizeDownloadLanguagesDelegate = new ItemizeDownloadLanguagesDelegate( languageController, replaceMultipleStringsDelegate); var itemizeGameDetailsDownloadsDelegate = new ItemizeGameDetailsDownloadsDelegate(); var formatDownloadLanguagesDelegate = new FormatDownloadLanguageDelegate( replaceMultipleStringsDelegate); var convertOperatingSystemsDownloads2DArrayToArrayDelegate = new Convert2DArrayToArrayDelegate <OperatingSystemsDownloads>(); var getDeserializedGameDetailsAsyncDelegate = new GetDeserializedGameDetailsAsyncDelegate( networkController, serializationController, languageController, formatDownloadLanguagesDelegate, confirmStringContainsLanguageDownloadsDelegate, itemizeDownloadLanguagesDelegate, itemizeGameDetailsDownloadsDelegate, replaceMultipleStringsDelegate, convertOperatingSystemsDownloads2DArrayToArrayDelegate, collectionController); var itemizeAllGameDetailsGapsAsyncDelegate = new ItemizeAllMasterDetailsGapsAsyncDelegate <AccountProduct, GameDetails>( accountProductsDataController, gameDetailsDataController); var itemizeAllUserRequestedOrDefaultAsyncDelegate = new ItemizeAllUserRequestedIdsOrDefaultAsyncDelegate( itemizeAllUserRequestedIdsAsyncDelegate, itemizeAllGameDetailsGapsAsyncDelegate, updatedIndexController); var gameDetailsUpdateActivity = new MasterDetailProductUpdateActivity <AccountProduct, GameDetails>( Entity.GameDetails, getProductUpdateUriByContextDelegate, itemizeAllUserRequestedOrDefaultAsyncDelegate, accountProductsDataController, gameDetailsDataController, updatedIndexController, getDeserializedGameDetailsAsyncDelegate, getAccountProductUpdateIdentityDelegate, statusController, fillGameDetailsGapsDelegate); #endregion #region Update.Screenshots var updateScreenshotsAsyncDelegate = new UpdateScreenshotsAsyncDelegate( getProductUpdateUriByContextDelegate, productScreenshotsDataController, networkController, itemizeScreenshotsDelegate, statusController); var updateScreenshotsActivity = new UpdateScreenshotsActivity( productsDataController, productScreenshotsDataController, updateScreenshotsAsyncDelegate, statusController); #endregion // dependencies for download controllers var getProductImageUriDelegate = new GetProductImageUriDelegate(); var getAccountProductImageUriDelegate = new GetAccountProductImageUriDelegate(); var itemizeAllUserRequestedIdsOrUpdatedAsyncDelegate = new ItemizeAllUserRequestedIdsOrDefaultAsyncDelegate( itemizeAllUserRequestedIdsAsyncDelegate, updatedIndexController); var getProductsImagesDownloadSourcesAsyncDelegate = new GetProductCoreImagesDownloadSourcesAsyncDelegate <Product>( itemizeAllUserRequestedIdsOrUpdatedAsyncDelegate, productsDataController, formatImagesUriDelegate, getProductImageUriDelegate, statusController); var getAccountProductsImagesDownloadSourcesAsyncDelegate = new GetProductCoreImagesDownloadSourcesAsyncDelegate <AccountProduct>( itemizeAllUserRequestedIdsOrUpdatedAsyncDelegate, accountProductsDataController, formatImagesUriDelegate, getAccountProductImageUriDelegate, statusController); var getScreenshotsDownloadSourcesAsyncDelegate = new GetScreenshotsDownloadSourcesAsyncDelegate( productScreenshotsDataController, formatScreenshotsUriDelegate, getScreenshotsDirectoryDelegate, fileController, statusController); var routingController = new RoutingController( productRoutesDataController, statusController); var itemizeGameDetailsManualUrlsAsyncDelegate = new ItemizeGameDetailsManualUrlsAsyncDelegate( settingsStashController, gameDetailsDataController); var itemizeGameDetailsDirectoriesAsyncDelegate = new ItemizeGameDetailsDirectoriesAsyncDelegate( itemizeGameDetailsManualUrlsAsyncDelegate, getProductFilesDirectoryDelegate); var itemizeGameDetailsFilesAsyncDelegate = new ItemizeGameDetailsFilesAsyncDelegate( itemizeGameDetailsManualUrlsAsyncDelegate, routingController, getGameDetailsFilesPathDelegate, statusController); // product files are driven through gameDetails manual urls // so this sources enumerates all manual urls for all updated game details var getManualUrlDownloadSourcesAsyncDelegate = new GetManualUrlDownloadSourcesAsyncDelegate( updatedIndexController, gameDetailsDataController, itemizeGameDetailsManualUrlsAsyncDelegate, statusController); // schedule download controllers var updateProductsImagesDownloadsActivity = new UpdateDownloadsActivity( Entity.ProductImages, getProductsImagesDownloadSourcesAsyncDelegate, getProductImagesDirectoryDelegate, fileController, productDownloadsDataController, accountProductsDataController, productsDataController, statusController); var updateAccountProductsImagesDownloadsActivity = new UpdateDownloadsActivity( Entity.AccountProductImages, getAccountProductsImagesDownloadSourcesAsyncDelegate, getAccountProductImagesDirectoryDelegate, fileController, productDownloadsDataController, accountProductsDataController, productsDataController, statusController); var updateScreenshotsDownloadsActivity = new UpdateDownloadsActivity( Entity.Screenshots, getScreenshotsDownloadSourcesAsyncDelegate, getScreenshotsDirectoryDelegate, fileController, productDownloadsDataController, accountProductsDataController, productsDataController, statusController); var updateProductFilesDownloadsActivity = new UpdateDownloadsActivity( Entity.ProductFiles, getManualUrlDownloadSourcesAsyncDelegate, getProductFilesDirectoryDelegate, fileController, productDownloadsDataController, accountProductsDataController, productsDataController, statusController); // downloads processing var formatUriRemoveSessionDelegate = new FormatUriRemoveSessionDelegate(); var confirmValidationExpectedDelegate = new ConfirmValidationExpectedDelegate(); var formatValidationUriDelegate = new FormatValidationUriDelegate( getValidationFilenameDelegate, formatUriRemoveSessionDelegate); var formatValidationFileDelegate = new FormatValidationFileDelegate( getValidationPathDelegate); var downloadValidationFileAsyncDelegate = new DownloadValidationFileAsyncDelegate( formatUriRemoveSessionDelegate, confirmValidationExpectedDelegate, formatValidationFileDelegate, getValidationDirectoryDelegate, formatValidationUriDelegate, fileController, downloadFromUriAsyncDelegate, statusController); var downloadManualUrlFileAsyncDelegate = new DownloadManualUrlFileAsyncDelegate( networkController, formatUriRemoveSessionDelegate, routingController, downloadFromResponseAsyncDelegate, downloadValidationFileAsyncDelegate, statusController); var downloadProductImageAsyncDelegate = new DownloadProductImageAsyncDelegate(downloadFromUriAsyncDelegate); var productsImagesDownloadActivity = new DownloadFilesActivity( Entity.ProductImages, productDownloadsDataController, downloadProductImageAsyncDelegate, statusController); var accountProductsImagesDownloadActivity = new DownloadFilesActivity( Entity.AccountProductImages, productDownloadsDataController, downloadProductImageAsyncDelegate, statusController); var screenshotsDownloadActivity = new DownloadFilesActivity( Entity.Screenshots, productDownloadsDataController, downloadProductImageAsyncDelegate, statusController); var productFilesDownloadActivity = new DownloadFilesActivity( Entity.ProductFiles, productDownloadsDataController, downloadManualUrlFileAsyncDelegate, statusController); // validation controllers var validationResultController = new ValidationResultController(); var fileMd5Controller = new GetFileMd5HashAsyncDelegate( storageController, getStringMd5HashAsyncDelegate); var dataFileValidateDelegate = new DataFileValidateDelegate( fileMd5Controller, statusController); var productFileValidationController = new FileValidationController( confirmValidationExpectedDelegate, fileController, streamController, getBytesMd5HashAsyncDelegate, validationResultController, statusController); var validateProductFilesActivity = new ValidateProductFilesActivity( getProductFilesDirectoryDelegate, getUriFilenameDelegate, formatValidationFileDelegate, productFileValidationController, validationResultsDataController, gameDetailsDataController, itemizeGameDetailsManualUrlsAsyncDelegate, itemizeAllUserRequestedIdsOrUpdatedAsyncDelegate, routingController, statusController); var validateDataActivity = new ValidateDataActivity( precomputedHashController, fileController, dataFileValidateDelegate, statusController); #region Repair var repairActivity = new RepairActivity( validationResultsDataController, validationResultController, statusController); #endregion #region Cleanup var itemizeAllGameDetailsDirectoriesAsyncDelegate = new ItemizeAllGameDetailsDirectoriesAsyncDelegate( gameDetailsDataController, itemizeGameDetailsDirectoriesAsyncDelegate, statusController); var itemizeAllProductFilesDirectoriesAsyncDelegate = new ItemizeAllProductFilesDirectoriesAsyncDelegate( getProductFilesBaseDirectoryDelegate, directoryController, statusController); var itemizeDirectoryFilesDelegate = new ItemizeDirectoryFilesDelegate(directoryController); var directoryCleanupActivity = new CleanupActivity( Entity.Directories, itemizeAllGameDetailsDirectoriesAsyncDelegate, // expected items (directories for gameDetails) itemizeAllProductFilesDirectoriesAsyncDelegate, // actual items (directories in productFiles) itemizeDirectoryFilesDelegate, // detailed items (files in directory) formatValidationFileDelegate, // supplementary items (validation files) recycleDelegate, directoryController, statusController); var itemizeAllUpdatedGameDetailsManualUrlFilesAsyncDelegate = new ItemizeAllUpdatedGameDetailsManualUrlFilesAsyncDelegate( updatedIndexController, gameDetailsDataController, itemizeGameDetailsFilesAsyncDelegate, statusController); var itemizeAllUpdatedProductFilesAsyncDelegate = new ItemizeAllUpdatedProductFilesAsyncDelegate( updatedIndexController, gameDetailsDataController, itemizeGameDetailsDirectoriesAsyncDelegate, directoryController, statusController); var itemizePassthroughDelegate = new ItemizePassthroughDelegate(); var fileCleanupActivity = new CleanupActivity( Entity.Files, itemizeAllUpdatedGameDetailsManualUrlFilesAsyncDelegate, // expected items (files for updated gameDetails) itemizeAllUpdatedProductFilesAsyncDelegate, // actual items (updated product files) itemizePassthroughDelegate, // detailed items (passthrough) formatValidationFileDelegate, // supplementary items (validation files) recycleDelegate, directoryController, statusController); var cleanupUpdatedActivity = new CleanupUpdatedActivity( updatedIndexController, statusController); #endregion #region Help var helpActivity = new HelpActivity( activityContextController, statusController); #endregion #region Report Task Status var reportFilePresentationController = new FilePresentationController( getReportDirectoryDelegate, getReportFilenameDelegate, streamController); var fileNotifyStatusViewUpdateController = new NotifyStatusViewUpdateController( getStatusViewUpdateDelegate, reportFilePresentationController); var reportActivity = new ReportActivity( fileNotifyStatusViewUpdateController, statusController); #endregion #region List var listUpdatedActivity = new ListUpdatedActivity( updatedIndexController, accountProductsDataController, statusController); #endregion #endregion #region Activity Context To Activity Controllers Mapping var activityContextToActivityControllerMap = new Dictionary <(Activity, Entity), IActivity> { { (Activity.Correct, Entity.Settings), correctSettingsActivity },
public void Initialize() { Bootstrapper.SetupAutoMapper(); _serviceDesk = UnitTestHelper.GenerateRandomData <ServiceDesk>(); _domainTypeRefDatas = new List <DomainTypeRefData> { UnitTestHelper.GenerateRandomData <DomainTypeRefData>(x => { x.Id = 1; x.Visible = true; }), UnitTestHelper.GenerateRandomData <DomainTypeRefData>(x => { x.Id = 2; x.Visible = false; }), UnitTestHelper.GenerateRandomData <DomainTypeRefData>(x => { x.Id = 3; x.Visible = false; }), UnitTestHelper.GenerateRandomData <DomainTypeRefData>(x => { x.Id = 4; x.Visible = true; }), UnitTestHelper.GenerateRandomData <DomainTypeRefData>(x => { x.Id = 5; x.Visible = true; }) }; _mockDomainTypeRefDataService = new Mock <IDomainTypeRefDataService>(); _mockDomainTypeRefDataService.Setup(s => s.GetById(1)).Returns(_domainTypeRefDatas[0]); _mockDomainTypeRefDataService.Setup(s => s.GetById(2)).Returns(_domainTypeRefDatas[1]); _mockDomainTypeRefDataService.Setup(s => s.GetById(3)).Returns(_domainTypeRefDatas[2]); _mockDomainTypeRefDataService.Setup(s => s.GetById(4)).Returns(_domainTypeRefDatas[3]); _mockDomainTypeRefDataService.Setup(s => s.GetById(5)).Returns(_domainTypeRefDatas[4]); _mockDomainTypeRefDataService.Setup(s => s.GetAllAndNotVisibleForCustomer(CustomerId)) .Returns(_domainTypeRefDatas); _serviceDomain = UnitTestHelper.GenerateRandomData <ServiceDomain>(); _serviceDomain.ServiceFunctions = new List <ServiceFunction>(); _serviceDomainListItems = new List <ServiceDomainListItem> { UnitTestHelper.GenerateRandomData <ServiceDomainListItem>(), UnitTestHelper.GenerateRandomData <ServiceDomainListItem>(), UnitTestHelper.GenerateRandomData <ServiceDomainListItem>(), UnitTestHelper.GenerateRandomData <ServiceDomainListItem>(), UnitTestHelper.GenerateRandomData <ServiceDomainListItem>(), }; _templateListItems = new List <TemplateListItem> { UnitTestHelper.GenerateRandomData <TemplateListItem>(x => { x.Id = TemplateId; x.TemplateType = TemplateTypeNames.SORT; }), UnitTestHelper.GenerateRandomData <TemplateListItem>(), UnitTestHelper.GenerateRandomData <TemplateListItem>(), UnitTestHelper.GenerateRandomData <TemplateListItem>() }; _mockServiceDomainService = new Mock <IServiceDomainService>(); _mockServiceDomainService.Setup(s => s.GetByCustomerAndId(CustomerId, ServiceDomainId)) .Returns(_serviceDomain); _mockServiceDomainService.Setup(s => s.GetById(ServiceDomainId)).Returns(_serviceDomain); _mockServiceDomainService.Setup(s => s.ServiceDeskDomains(ServiceDeskId)) .Returns(_serviceDomainListItems.AsQueryable()); _mockServiceDomainService.Setup(s => s.CustomerServiceDomains(CustomerId)) .Returns(_serviceDomainListItems.AsQueryable()); _mockResponseManager = new Mock <IResponseManager>(); _mockRequestManager = new Mock <IRequestManager>(); _mockUserManager = new Mock <IUserManager>(); _mockUserManager.Setup(s => s.Name).Returns(UserName); _mockNameValueCollection = new Mock <NameValueCollection>(); _mockContextManager = new Mock <IContextManager>(); _mockContextManager.Setup(s => s.UserManager).Returns(_mockUserManager.Object); _mockContextManager.Setup(s => s.ResponseManager).Returns(_mockResponseManager.Object); _mockContextManager.Setup(s => s.RequestManager).Returns(_mockRequestManager.Object); _mockRequestManager.Setup(s => s.Form).Returns(_mockNameValueCollection.Object); _serviceDesks = new List <ServiceDesk> { UnitTestHelper.GenerateRandomData <ServiceDesk>(), UnitTestHelper.GenerateRandomData <ServiceDesk>(), UnitTestHelper.GenerateRandomData <ServiceDesk>(x => { x.Id = ServiceDeskId; }), UnitTestHelper.GenerateRandomData <ServiceDesk>(), UnitTestHelper.GenerateRandomData <ServiceDesk>() }; _mockServiceDeskService = new Mock <IServiceDeskService>(); _mockServiceDeskService.Setup(s => s.GetByCustomer(CustomerId)).Returns(_serviceDesks.AsQueryable()); _mockServiceDeskService.Setup(s => s.GetByCustomerAndId(CustomerId, ServiceDeskId)).Returns(_serviceDesk); _mockAppUserContext = new Mock <IAppUserContext>(); _mockAppUserContext.Setup(s => s.Current).Returns(new AppContext { CurrentCustomer = new CurrentCustomerViewModel { Id = CustomerId } }); _mockTemplateService = new Mock <ITemplateService>(); _mockTemplateService.Setup(s => s.GetById(TemplateId)) .Returns(new Template { Id = TemplateId, Filename = "example.xlxs" }); _mockTemplateService.Setup(s => s.AllTemplates()) .Returns(_templateListItems); _mockServiceDecompositionTemplateDataImportProcessor = new Mock <IServiceDecompositionTemplateDataImportProcessor>(); _mockServiceDecompositionDesignDataImportProcessor = new Mock <IServiceDecompositionDesignDataImportProcessor>(); _mockTemplateProcessor = new Mock <ITemplateProcessor>(); _target = new TemplateController(_mockTemplateService.Object, _mockServiceDeskService.Object, _mockServiceDecompositionTemplateDataImportProcessor.Object, _mockServiceDecompositionDesignDataImportProcessor.Object, _mockTemplateProcessor.Object, _mockContextManager.Object, _mockAppUserContext.Object); _controllerContextMocks = new ControllerContextMocks(); _target.ControllerContext = new ControllerContext(_controllerContextMocks.MockHttpContextBase.Object, new RouteData(), _target); if (RouteTable.Routes.Count == 0) { RouteConfig.RegisterRoutes(RouteTable.Routes); } _target.Url = new UrlHelper(new RequestContext(_controllerContextMocks.MockHttpContextBase.Object, new RouteData())); }
public virtual void ProcessRequest(HttpContext context) { // ensure the latest content has been processed & imported ImporterController.TryDocRevImporting(); TemplateFileInfo _TemplateFileInfo = TemplateController.ParseTemplateFileInfo(context); if (!string.IsNullOrWhiteSpace(_TemplateFileInfo.DocTypeName) && !string.IsNullOrWhiteSpace(_TemplateFileInfo.solutionVersion) && !string.IsNullOrWhiteSpace(_TemplateFileInfo.FileName)) { // serve a supporting template file up (the the target Interpreter may need to alter it in some way, qazi-dynamic) InstanceLocatorByName <DocBaseInterpreter>(_TemplateFileInfo.DocTypeName, _TemplateFileInfo.solutionVersion) .ProcessRequest(context); } else { // serve a filled & stored document rendered previously context.Response.DisableKernelCache(); context.Response.Clear(); context.Response.ClearContent(); context.Response.ClearHeaders(); object docData; if (context.Request.Params.AllKeys.Any(m => m == Parm.DocId.ToString())) { docData = DocExchange.LuceneController.GetDocData( context.Request.Params[Parm.DocTypeName], context.Request.Params[Parm.DocId], HttpUtility.UrlDecode(context.Request.Params[Parm.RelayUrl]), long.Parse(context.Request.Params[Parm.LogSequenceNumber] ?? "0")); } else { docData = ((BaseDoc)(context.Request.Params.AllKeys.Any(m => m == Parm.DocCache) ? HttpRuntime.Cache[context.Request.Params[Parm.DocCache]] : Compressor.DecompressFromBase64String(HttpUtility.UrlDecode(context.Request.Params[Parm.DocBin])) .FromBytes <BaseDoc>())); } DocBaseInterpreter _DocBaseInterpreter = null; DocProcessingInstructions _DocProcessingInstructions; //TODO:need to tidy up this code block as its really hard to follow.. In the end, that docData may be a POCO, raw bytes or text... Need to rewrites it's PI here before it's shoved over the repsonse.stream if (docData is BaseDoc) { // get the interpreter & convert docData from poco to its raw form _DocBaseInterpreter = InstanceLocatorByName <DocBaseInterpreter>(((BaseDoc)docData).DocTypeName, ((BaseDoc)docData).solutionVersion); if (_DocBaseInterpreter is DocByteInterpreter) { docData = ((DocByteInterpreter)_DocBaseInterpreter).WriteByte((BaseDoc)docData); } else { docData = ((DocTextInterpreter)_DocBaseInterpreter).WriteText((BaseDoc)docData); } } if (docData is byte[]) { _DocBaseInterpreter = _DocBaseInterpreter ?? LocateInstance((byte[])docData); _DocProcessingInstructions = Instance.ReadDocPI((byte[])docData); docData = Instance.ModPI((byte[])docData, href: DocBaseInterpreter.BuildHref(context, _DocProcessingInstructions.DocTypeName, _DocProcessingInstructions.solutionVersion)); context.Response.BinaryWrite((byte[])docData); } else { _DocBaseInterpreter = _DocBaseInterpreter ?? LocateInstance((string)docData); _DocProcessingInstructions = Instance.ReadDocPI((string)docData); docData = Instance.ModPI((string)docData, href: DocBaseInterpreter.BuildHref(context, _DocProcessingInstructions.DocTypeName, _DocProcessingInstructions.solutionVersion)); context.Response.Write((string)docData); } context.Response.ContentType = _DocBaseInterpreter.ContentInfo.ContentType; context.Response.AddHeader( "content-disposition", string.Format( "attachment; filename=\"{0}\";", DocBaseInterpreter.GetFilename(_DocProcessingInstructions, context.Request.Params["ContentFileExtension"]))); } }
public static string GetRelatedCats(int portalId, string parentItemId, string cultureCode, string templatePrefix, string controlMapPath, Boolean AllowCache = true) { var strOut = ""; if (Utils.IsNumeric(parentItemId)) { if (!AllowCache) { //Remove any cache for the module -1, we don't want any cache in BO //All xref records are portal wide, hence -1 in cahce key. NBrightBuyUtils.RemoveModCache(-1); } var objCtrl = new NBrightBuyController(); var templCtrl = new TemplateController(controlMapPath); var hTempl = templCtrl.GetTemplateData(templatePrefix + "_" + ModuleEventCodes.selectedheader + ".html", Utils.GetCurrentCulture()); var bTempl = templCtrl.GetTemplateData(templatePrefix + "_" + ModuleEventCodes.selectedbody + ".html", Utils.GetCurrentCulture()); var fTempl = templCtrl.GetTemplateData(templatePrefix + "_" + ModuleEventCodes.selectedfooter + ".html", Utils.GetCurrentCulture()); // replace Settings tags for ajax to work. hTempl = Utils.ReplaceUrlTokens(hTempl); bTempl = Utils.ReplaceUrlTokens(bTempl); fTempl = Utils.ReplaceUrlTokens(fTempl); var strFilter = " and parentitemid = " + parentItemId; var strOrderBy = GenXmlFunctions.GetSqlOrderBy(hTempl); if (strOrderBy == "") { strOrderBy = GenXmlFunctions.GetSqlOrderBy(bTempl); } var l = objCtrl.GetList(portalId, -1, "CATXREF", strFilter, strOrderBy); var objList = new List <NBrightInfo>(); foreach (var objXref in l) { var o = objCtrl.Get(objXref.XrefItemId, "CATEGORYLANG", cultureCode); if (o != null) { if (objXref.GetXmlProperty("genxml/hidden/defaultcat") != "") { // set the default flag in the category, for display in the entry only. o.SetXmlProperty("genxml/hidden/defaultcat", "True"); } o.GUIDKey = objXref.ItemID.ToString(); // overwrite with xref itemid for delete ajax action. o.TextData = o.GetXmlProperty("genxml/lang/genxml/textbox/txtname"); // set for sort o.Lang = cultureCode; // set lang so the GenXmlTemplateExt can pickup the edit langauge. objList.Add(o); objList.Sort(delegate(NBrightInfo p1, NBrightInfo p2) { return(p1.TextData.CompareTo(p2.TextData)); }); } } var obj = new NBrightInfo(); strOut += GenXmlFunctions.RenderRepeater(obj, hTempl); strOut += GenXmlFunctions.RenderRepeater(objList, bTempl); strOut += GenXmlFunctions.RenderRepeater(obj, fTempl); } return(strOut); }
private void CmbTpl_SelectedIndexChanged(object sender, EventArgs e) { txtTemplate.Text = TemplateController.GetTemplateText(cmbTpl.SelectedItem.ToString()); }
protected void imgInstall_Click(object sender, ImageClickEventArgs e) { try { if (fileTemplateZip.HasFile && fileTemplateZip.PostedFile.FileName != string.Empty) { string fileName = fileTemplateZip.PostedFile.FileName; string cntType = fileTemplateZip.PostedFile.ContentType; if (fileName.Substring(fileName.Length - 3, 3).ToLower() == "zip") { string path = HttpContext.Current.Server.MapPath("~/"); string temPath = SageFrame.Core.RegisterModule.Common.TemporaryFolder; string destPath = Path.Combine(path, temPath); string downloadPath = SageFrame.Core.RegisterModule.Common.TemporaryTemplateFolder; string downloadDestPath = Path.Combine(path, downloadPath); string templateName = ParseFileNameWithoutPath(fileName.Substring(0, fileName.Length - 4)); string templateFolderPath = path + "Templates\\" + templateName; if (!Directory.Exists(templateFolderPath)) { if (!Directory.Exists(destPath)) { Directory.CreateDirectory(destPath); } string filePath = destPath + "\\" + fileTemplateZip.FileName; fileTemplateZip.SaveAs(filePath); string ExtractedPath = string.Empty; ZipUtil.UnZipFiles(filePath, destPath, ref ExtractedPath, SageFrame.Core.RegisterModule.Common.Password, SageFrame.Core.RegisterModule.Common.RemoveZipFile); string[] dirs = Directory.GetDirectories(ExtractedPath); bool foundCSSFolder = false; bool foundImagesFolder = false; bool foundTemplateCss = false; bool foundLayoutCss = false; foreach (string dir in dirs) { string folderName = ParseFileNameWithoutPath(dir); if (folderName.ToLower() == "css") { foundCSSFolder = true; string[] files = Directory.GetFiles(dir); foreach (string file in files) { if (file.Contains("template.css")) { foundTemplateCss = true; } if (file.Contains("layout.css")) { foundLayoutCss = true; } } } if (folderName.ToLower() == "images") { foundImagesFolder = true; } } if (foundCSSFolder && foundImagesFolder && foundTemplateCss && foundLayoutCss) { if (!Directory.Exists(downloadDestPath)) { Directory.CreateDirectory(downloadDestPath); } fileTemplateZip.SaveAs(downloadDestPath + "\\" + fileTemplateZip.FileName); Directory.Move(ExtractedPath, templateFolderPath); TemplateController.AddTemplate(new TemplateInfo(templateName, txtAuthor.Text, txtTemplateDesc.Text, txtAuthorURL.Text, GetPortalID, GetUsername)); ShowMessage(SageMessageTitle.Notification.ToString(), GetSageMessage("TemplateManagement", "TemplateInstallSuccessfully"), "", SageMessageType.Success); BindTemplate(); //PanelVisibility(false, true); Response.Redirect(Request.Url.OriginalString); } else { Directory.Delete(destPath, true); ShowMessage(SageMessageTitle.Notification.ToString(), GetSageMessage("TemplateManagement", "InvalidTemplate"), "", SageMessageType.Alert); } } else { ShowMessage(SageMessageTitle.Notification.ToString(), GetSageMessage("TemplateManagement", "TemplateAlreadyInstall"), "", SageMessageType.Error); } } else { ShowMessage(SageMessageTitle.Notification.ToString(), GetSageMessage("TemplateManagement", "InvalidTemplateZip"), "", SageMessageType.Alert); } } } catch (Exception ex) { if (ex.Message.Equals(UnexpectedEOF, StringComparison.OrdinalIgnoreCase)) { ShowMessage(SageMessageTitle.Notification.ToString(), GetSageMessage("TemplateManagement", "ZipFileIsCorrupt"), "", SageMessageType.Alert); } else { ProcessException(ex); } } }
public static void ResetThemeOptions(string TemplateName) { TemplateController obj = new TemplateController(); obj.ResetThemeOptions(TemplateName); }
public static string GetThemeOptions(string TemplateName) { TemplateController obj = new TemplateController(); return(obj.GetThemeOptions(TemplateName)); }
public static void SaveThemeOptions(string TemplateName, string ThemeOptions) { TemplateController obj = new TemplateController(); obj.SaveThemeOptions(TemplateName, ThemeOptions); }
public TemplateControllerTests() { _mockOrderService = new Mock <IOrderService>(); _mockWorkContext = new Mock <IWorkContext>(); _controller = new TemplateController(_mockWorkContext.Object, _mockOrderService.Object); }
private void BindTemplates() { var tc = new TemplateController(); var tl = tc.Template_List(PortalId, ModuleId, Templates.TemplateTypes.ForumView); drpTemplates.DataTextField = "Title"; drpTemplates.DataValueField = "TemplateId"; drpTemplates.DataSource = tl; drpTemplates.DataBind(); drpTemplates.Items.Insert(0, new ListItem(LocalizeString("Default"), "0")); }
protected void Page_Load(object sender, EventArgs e) { _catalogNav = new CatalogNavigation(Request.QueryString); _imagesPath = _templatePath + "Images/"; if (!string.IsNullOrEmpty(StoreSettings.CurrencySymbol)) { _localFormat.CurrencySymbol = StoreSettings.CurrencySymbol; } ITaxProvider taxProvider = StoreController.GetTaxProvider(StoreSettings.TaxName); ITaxInfo taxInfo = taxProvider.GetDefautTaxRates(PortalId); _defaultTaxRate = taxInfo.DefaultTaxRate; _showTax = taxInfo.ShowTax; _product = (DataSource as ProductInfo); if (_product != null) { _category = _categoryControler.GetCategory(PortalId, _product.CategoryID); if (StoreSettings.SEOFeature) { _catalogNav.Category = _category.SEOName; if (InList == false) { BasePage.Title = SEO(Localization.GetString("DetailsSEOTitle", LocalResourceFile), MetaTags.Title); BasePage.Description = SEO(Localization.GetString("DetailsSEODescription", LocalResourceFile), MetaTags.Description); BasePage.KeyWords = SEO(Localization.GetString("DetailsSEOKeywords", LocalResourceFile), MetaTags.Keywords); CatalogNavigation canonical = new CatalogNavigation { CategoryID = _product.CategoryID, ProductID = _product.ProductID }; string domain = Request.Url.GetLeftPart(UriPartial.Authority); string url = canonical.GetNavigationUrl(); if (url.StartsWith(domain, true, CultureInfo.CurrentCulture) == false) { url = domain + url; } HeaderHelper.AddCanonicalLink(Page, url); } } plhDetails.Controls.Add(TemplateController.ParseTemplate(MapPath(_templatePath), _template, Localization.GetString("TemplateError", LocalSharedResourceFile), IsLogged, new ProcessTokenDelegate(ProcessToken))); } // Clear error message divError.Visible = false; // Show review panel ? if (ShowReviews && !InList) { int reviewID = _catalogNav.ReviewID; // Show review list or edit? if (reviewID != Null.NullInteger) { if (reviewID > 0 && !CanManageReviews()) { _catalogNav.ReviewID = Null.NullInteger; Response.Redirect(_catalogNav.GetNavigationUrl()); } else { LoadReviewEditControl(); } } else { LoadReviewListControl(); } pnlReviews.Visible = true; } else { pnlReviews.Visible = false; } // Show Return link? if (InList == false) { if (_catalogNav.SearchID == Null.NullInteger) { if (_catalogNav.CategoryID == Null.NullInteger) { lnkReturn.Text = Localization.GetString("lnkReturnToCatalog", LocalResourceFile); } else { lnkReturn.Text = Localization.GetString("lnkReturn", LocalResourceFile); } } else { lnkReturn.Text = Localization.GetString("lnkReturnToSearch", LocalResourceFile); } lnkReturn.NavigateUrl = GetReturnUrl(ReturnPage); pnlReturn.Visible = true; } else { pnlReturn.Visible = false; } }
public static string GetRelatedCats(int portalId, string parentItemId, string cultureCode, string templatePrefix, string controlMapPath, Boolean AllowCache = true) { var strOut = ""; if (Utils.IsNumeric(parentItemId)) { if (!AllowCache) { //Remove any cache for the module -1, we don't want any cache in BO //All xref records are portal wide, hence -1 in cahce key. NBrightBuyUtils.RemoveModCache(-1); } var objCtrl = new NBrightBuyController(); var templCtrl = new TemplateController(controlMapPath); var hTempl = templCtrl.GetTemplateData(templatePrefix + "_" + ModuleEventCodes.selectedheader + ".html", Utils.GetCurrentCulture()); var bTempl = templCtrl.GetTemplateData(templatePrefix + "_" + ModuleEventCodes.selectedbody + ".html", Utils.GetCurrentCulture()); var fTempl = templCtrl.GetTemplateData(templatePrefix + "_" + ModuleEventCodes.selectedfooter + ".html", Utils.GetCurrentCulture()); // replace Settings tags for ajax to work. hTempl = Utils.ReplaceUrlTokens(hTempl); bTempl = Utils.ReplaceUrlTokens(bTempl); fTempl = Utils.ReplaceUrlTokens(fTempl); var strFilter = " and parentitemid = " + parentItemId; var strOrderBy = GenXmlFunctions.GetSqlOrderBy(hTempl); if (strOrderBy == "") { strOrderBy = GenXmlFunctions.GetSqlOrderBy(bTempl); } var l = objCtrl.GetList(portalId, -1, "CATXREF", strFilter, strOrderBy); var objList = new List<NBrightInfo>(); foreach (var objXref in l) { var o = objCtrl.Get(objXref.XrefItemId, "CATEGORYLANG", cultureCode); if (o != null) { if (objXref.GetXmlProperty("genxml/hidden/defaultcat") != "") { // set the default flag in the category, for display in the entry only. o.SetXmlProperty("genxml/hidden/defaultcat", "True"); } o.GUIDKey = objXref.ItemID.ToString(); // overwrite with xref itemid for delete ajax action. o.TextData = o.GetXmlProperty("genxml/lang/genxml/textbox/txtname"); // set for sort o.Lang = cultureCode; // set lang so the GenXmlTemplateExt can pickup the edit langauge. objList.Add(o); objList.Sort(delegate(NBrightInfo p1, NBrightInfo p2) { return p1.TextData.CompareTo(p2.TextData); }); } } var obj = new NBrightInfo(); strOut += GenXmlFunctions.RenderRepeater(obj, hTempl); strOut += GenXmlFunctions.RenderRepeater(objList, bTempl); strOut += GenXmlFunctions.RenderRepeater(obj, fTempl); } return strOut; }
private void SetPortalCofig() { Hashtable hstPortals = GetPortals(); SageUserControl suc = new SageUserControl(); int portalID = 1; #region "Get Portal SEO Name and PortalID" if (string.IsNullOrEmpty(Request.QueryString["ptSEO"])) { if (string.IsNullOrEmpty(PortalSEOName)) { PortalSEOName = GetDefaultPortalName(hstPortals, 1);// 1 is for Default Portal } else if (!hstPortals.ContainsKey(PortalSEOName.ToLower().Trim())) { PortalSEOName = GetDefaultPortalName(hstPortals, 1);// 1 is for Default Portal } else { portalID = int.Parse(hstPortals[PortalSEOName.ToLower().Trim()].ToString()); } } else { PortalSEOName = Request.QueryString["ptSEO"].ToString().ToLower().Trim(); portalID = Int32.Parse(Request.QueryString["ptlid"].ToString()); } #endregion suc.SetPortalSEOName(PortalSEOName.ToLower().Trim()); Session[SessionKeys.SageFrame_PortalSEOName] = PortalSEOName.ToLower().Trim(); Session[SessionKeys.SageFrame_PortalID] = portalID; string tempName = /*activeTemplate;// */ TemplateController.GetActiveTemplate(currentportalID).TemplateSeoName; string tempPath = Decide.IsTemplateDefault(tempName) ? Utils.GetTemplatePath_Default(tempName) : Utils.GetTemplatePath(tempName); if (!Directory.Exists(tempPath)) { tempName = "default"; } Globals.sysHst[ApplicationKeys.ActiveTemplate + "_" + currentportalID] = tempName; //Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + currentportalID] = LoadActivePagePreset() || PresetHelper.LoadActivePagePreset(tempName, GetPageSEOName(Request.Url.ToString())); LoadActivePagePreset(); suc.SetPortalID(portalID); SetPortalID(portalID); #region "Set user credentials for modules" if (SecurityPolicy.GetUser(GetPortalID) != string.Empty) { SettingProvider objSP = new SettingProvider(); SageFrameConfig sfConfig = new SageFrameConfig(); if (SecurityPolicy.GetUser(GetPortalID) != string.Empty) { string strRoles = string.Empty; List <SageUserRole> sageUserRolles = objSP.RoleListGetByUsername(SecurityPolicy.GetUser(GetPortalID), currentportalID); if (sageUserRolles != null) { foreach (SageUserRole userRole in sageUserRolles) { strRoles += userRole.RoleId + ","; } } if (strRoles.Length > 1) { strRoles = strRoles.Substring(0, strRoles.Length - 1); } if (strRoles.Length > 0) { SetUserRoles(strRoles); } } } #endregion }
public static string GetRelatedXref(int portalId, string parentItemId, string lang, string templatePrefix, string nodeName, string entityTypeCodeLang, string controlMapPath) { var strOut = ""; if (Utils.IsNumeric(parentItemId)) { var objCtrl = new NBrightBuyController(); var templCtrl = new TemplateController(controlMapPath); var hTempl = templCtrl.GetTemplateData(templatePrefix + "_" + ModuleEventCodes.selectedheader + ".html", Utils.GetCurrentCulture()); var bTempl = templCtrl.GetTemplateData(templatePrefix + "_" + ModuleEventCodes.selectedbody + ".html", Utils.GetCurrentCulture()); var fTempl = templCtrl.GetTemplateData(templatePrefix + "_" + ModuleEventCodes.selectedfooter + ".html", Utils.GetCurrentCulture()); // replace tags for ajax to work. hTempl = Utils.ReplaceUrlTokens(hTempl); bTempl = Utils.ReplaceUrlTokens(bTempl); fTempl = Utils.ReplaceUrlTokens(fTempl); var objPInfo = objCtrl.Get(Convert.ToInt32(parentItemId)); if (objPInfo != null) { var nodList = objPInfo.XMLDoc.SelectNodes("genxml/" + nodeName + "/id"); var objList = new List<NBrightInfo>(); foreach (XmlNode xNod in nodList) { if (xNod != null && Utils.IsNumeric(xNod.InnerText)) { var o = objCtrl.Get(Convert.ToInt32(xNod.InnerText), lang, entityTypeCodeLang); if (o != null) { objList.Add(o); } } } var obj = new NBrightInfo(); strOut += GenXmlFunctions.RenderRepeater(obj, hTempl); strOut += GenXmlFunctions.RenderRepeater(objList, bTempl); strOut += GenXmlFunctions.RenderRepeater(obj, fTempl); } } return strOut; }
public void UpdateTemplate() { TemplateController.UpdActivateTemplate(ViewState["ActiveTemplate"].ToString(), hdnConnectionStringForAll.Value.ToString()); }
public void GetTemplateList(int PortalID) { string templates = Utils.GetAbsolutePath(TemplateConstants.TemplateDirectory); DirectoryInfo dir = new DirectoryInfo(templates); List <TemplateInfo> lstTemplates = new List <TemplateInfo>(); string activeTemplate = TemplateController.GetActiveTemplate(PortalID).TemplateName; if (activeTemplate.Length < 1) { activeTemplate = "Default"; } foreach (DirectoryInfo temp in dir.GetDirectories()) { TemplateInfo tempObj = new TemplateInfo(temp.Name, temp.FullName, GetThumbPath(temp.FullName, temp.Name, TemplateConstants.TemplateDirectory), false, false); if (temp.Name.ToLower().Replace(' ', '_').Equals(activeTemplate.ToLower())) { tempObj.IsActive = true; } lstTemplates.Add(tempObj); } //bool IsDefaultActive = activeTemplate.ToLower().Equals("default") ? true : false; //lstTemplates.Insert(0, new TemplateInfo("Default", "/Core/Template/", GetThumbPath(HttpContext.Current.Server.MapPath("~/Core/Template/"), "Template", "Core/"), IsDefaultActive, true)); List <TemplateInfo> lstFinalTemplates = new List <TemplateInfo>(); List <TemplateInfo> lstAppliedTemplates = new List <TemplateInfo>(); try { lstAppliedTemplates = TemplateController.GetPortalTemplates(); } catch (Exception) { throw; } foreach (TemplateInfo template in lstTemplates) { bool status = false; foreach (TemplateInfo templt in lstAppliedTemplates) { if (template.TemplateName.ToLower() == templt.TemplateName.ToLower() && templt.PortalID != PortalID) { status = true; break; } } if (!status) { template.IsApplied = false; } else { template.IsApplied = true; } } StringBuilder html = new StringBuilder(); foreach (TemplateInfo template in lstTemplates) { string tempMarkup = string.Empty; string isActiveClass = template.IsActive ? "class='sfTemplateholder sfCurve sfActivetemplate'" : "class='sfTemplateholder sfCurve '"; html.Append("<div "); html.Append(isActiveClass); html.Append(" data-templateName='"); html.Append(template.TemplateName); html.Append("' >"); //html.Append("<a href='#' rel='"); //html.Append(template.TemplateName); //html.Append("' class='sfTemplatethumb'>"); html.Append("<div class='ImageWrapper'>"); html.Append("<img alt='Default' src='"); html.Append(template.ThumbImage); html.Append("'>"); html.Append("</div>"); //html.Append("</a>"); html.Append("<div class='sfTemplatedetail'>"); html.Append("<ul><li class='title'><span>"); html.Append(template.TemplateName); html.Append("</span> </li> <li class='author'><span>By:<a href='#'>Contentder</a></span> </li>"); html.Append("</ul></div>"); string activateId = "lnkActivate#" + template.TemplateSeoName; string previewId = "lnkPreview#" + template.TemplateSeoName; if (!template.IsDefault) { if (!template.IsActive) { html.Append("<i class='icon-close sfDelete' href='#' rel="); html.Append(template.TemplateSeoName); html.Append("></i>"); } } string isActivated = "<i class='fa fa-check-square-o' aria-hidden='true'></i>"; if (template.IsActive) { isActivated = "Activated"; } //html.Append("<div class='sfButtonwrapper'>"); //html.Append("<ul class='sfTemplateSetting'><li class='sfViewDemo'><a href='#' ><i class="fa fa-eye"></i></a></li><li class="activate"><a href="#" id=' + activateId + '>' + isActivated + '</a></li>'; //html.Append(" <li class="sfTemplateCustomize"><a href="#"><i class="fa fa-cog"></i></a><ul class="sfTemplateEdit">'; //html.Append("<li class="sfPages"><a href="' + SageFrameHostURL + '/Admin/Pages' + p.Extension + '" target="_blank" >Pages</a></li>'; //html.Append("<li class="templatePreset" data="' + template.TemplateName + '">Preset</li><li class="templateLayout" data="' + template.TemplateName + '">Layout Manager</li><li class="lnkThemes" data="' + template.TemplateName + '">Theme Options</li></ul></li>'; //var editFileLink = p.EditFilePath + '/Admin/Template-File-Editor' + p.Extension + '?tname=' + template.TemplateSeoName; //// if (!item.IsDefault) { //tempMarkup += '<li class="sfEditfiles"><a href=' + editFileLink + ' id="lnkEditFiles"><i class="fa fa-pencil-square-o"></i></a></li>'; //// if (!item.IsActive) //// tempMarkup += ' <li class="sfDelete"><a href="#" id="lnkDelete" rel=' + template.TemplateSeoName + '>Delete</a></li>'; ////} //html.Append("</ul></div><div class='clear'></div></div>"); html.Append("<div class='templateoverlay'><span class='checked'></span></div>"); html.Append("<div class='clear'></div></div>"); // if (SageFramePortalID == 1) { // html += tempMarkup; //} //else { //if (!template.IsApplied) //{ // html += tempMarkup; //} //} } //lstTemplates; ltrTemplateList.Text = html.ToString(); }
//private string GetUpgraderUrl() //{ // string upgradeLink = string.Empty; // if (GetPortalID > 1) // { // upgradeLink = "~/portal/" + GetPortalSEOName + "/Admin/sfUpgrader" + Extension; // } // else // { // upgradeLink = "~/Admin/sfUpgrader" + Extension; // } // return upgradeLink; //} private void SetPortalCofig() { Hashtable hstPortals = GetPortals(); SageUserControl suc = new SageUserControl(); suc.PagePath = PagePath; int portalID = 1; #region "Get Portal SEO Name and PortalID" if (string.IsNullOrEmpty(Request.QueryString["ptSEO"])) { if (string.IsNullOrEmpty(PortalSEOName)) { PortalSEOName = GetDefaultPortalName(hstPortals, 1); } else if (!hstPortals.ContainsKey(PortalSEOName.ToLower().Trim())) { PortalSEOName = GetDefaultPortalName(hstPortals, 1); } else { portalID = int.Parse(hstPortals[PortalSEOName.ToLower().Trim()].ToString()); } } else { PortalSEOName = Request.QueryString["ptSEO"].ToString().ToLower().Trim(); portalID = Int32.Parse(Request.QueryString["ptlid"].ToString()); } #endregion suc.SetPortalSEOName(PortalSEOName.ToLower().Trim()); Session[SessionKeys.SageFrame_PortalSEOName] = PortalSEOName.ToLower().Trim(); Session[SessionKeys.SageFrame_PortalID] = 1; Session[SessionKeys.SageFrame_AdminTheme] = ThemeHelper.GetAdminTheme(1, GetUsername); Globals.sysHst[ApplicationKeys.ActiveTemplate + "_" + 1] = TemplateController.GetActiveTemplate(1).TemplateSeoName; Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + 1] = PresetHelper.LoadActivePagePreset(GetActiveTemplate, GetPageSEOName(Request.Url.ToString())); suc.SetPortalID(1); SetPortalID(1); #region "Set user credentials for modules" //SecurityPolicy objSecurity = new SecurityPolicy(); //if (objSecurity.GetUser(1) != string.Empty) //{ // SettingProvider objSP = new SettingProvider(); // SageFrameConfig sfConfig = new SageFrameConfig(); // string strRoles = string.Empty; // List<SageUserRole> sageUserRolles = objSP.RoleListGetByUsername(objSecurity.GetUser(1), 1); // if (sageUserRolles != null) // { // foreach (SageUserRole userRole in sageUserRolles) // { // strRoles += userRole.RoleId + ","; // } // } // if (strRoles.Length > 1) // { // strRoles = strRoles.Substring(0, strRoles.Length - 1); // } // if (strRoles.Length > 0) // { // SetUserRoles(strRoles); // } //} #endregion }
public static void GetAll(object parameters) { IList <Model_Template> ret = TemplateController.GetTemplate(parameters); AppTools.SendResponse(HttpContext.Current.Response, ret.ObjectToJSON()); }