Пример #1
0
 private DatabaseSchema(ISchemaProvider schemaProvider, ProviderHelper providerHelper)
 {
     _lazyTables = new Lazy<TableCollection>(CreateTableCollection);
     _lazyProcedures = new Lazy<ProcedureCollection>(CreateProcedureCollection);
     _schemaProvider = schemaProvider;
     _providerHelper = providerHelper;
 }
Пример #2
0
 public void ShouldNotRequestExportableTypeFromServiceProvider()
 {
     var helper = new ProviderHelper();
     var connectionProvider = new StubConnectionAndServiceProvider();
     var actual = helper.GetCustomProvider<ITestInterface>(connectionProvider);
     Assert.IsNull(connectionProvider.RequestedServiceType);
 }
Пример #3
0
 public void ShouldResolveCustomInserter()
 {
     var helper = new ProviderHelper();
     var connectionProvider = new StubConnectionProvider();
     var actual = helper.GetCustomProvider<ICustomInserter>(connectionProvider);
     Assert.IsInstanceOf(typeof(StubCustomInserter), actual);
 }
Пример #4
0
 public void ShouldReturnNonExportedTypeFromServiceProvider()
 {
     var helper = new ProviderHelper();
     var connectionProvider = new StubConnectionAndServiceProvider();
     var actual = helper.GetCustomProvider<IQueryPager>(connectionProvider);
     Assert.IsInstanceOf(typeof(IQueryPager), actual);
 }
Пример #5
0
 public void ShouldRequestNonExportedTypeFromServiceProvider()
 {
     var helper = new ProviderHelper();
     var connectionProvider = new StubConnectionAndServiceProvider();
     var actual = helper.GetCustomProvider<IQueryPager>(connectionProvider);
     Assert.AreEqual(typeof(IQueryPager), connectionProvider.RequestedServiceType);
 }
Пример #6
0
        public void ShouldFindForeignKeysUsingCreateTableSql()
        {
            var providerHelper     = new ProviderHelper();
            var connectionProvider = providerHelper.GetProviderByConnectionString(ConnectionString);
            var schemaProvider     = connectionProvider.GetSchemaProvider();
            var databaseSchema     = DatabaseSchema.Get(connectionProvider, providerHelper);
            var table         = databaseSchema.FindTable("orderitems_fk_test");
            var foreignKeys   = schemaProvider.GetForeignKeys(table);
            var items_fk_test = foreignKeys.FirstOrDefault(fk => fk.MasterTable.Name == "items_fk_test");

            Assert.IsNotNull(items_fk_test);
            CollectionAssert.AreEqual(new[] { "ItemsId" }, items_fk_test.Columns.AsEnumerable());
            CollectionAssert.AreEqual(new[] { "ItemId" }, items_fk_test.UniqueColumns.AsEnumerable());
            var orders_fk_test = foreignKeys.FirstOrDefault(fk => fk.MasterTable.Name == "orders_fk_test");

            Assert.IsNotNull(orders_fk_test);
            CollectionAssert.AreEqual(new[] { "OrdersId" }, orders_fk_test.Columns.AsEnumerable());
            CollectionAssert.AreEqual(new[] { "OrderId" }, orders_fk_test.UniqueColumns.AsEnumerable());
        }
Пример #7
0
 private IEnumerable <Table> OpenDb(SourceOption option)
 {
     try
     {
         var provider = ProviderHelper.GetDefinedProviderInstance(con.Type);
         using (var db = new Fireasy.Data.Database(con.ConnectionString, provider))
         {
             var schema = db.Provider.GetService <Schema.ISchemaProvider>();
             var tables = schema.GetSchemas <Schema.Table>(db).ToList();
             var views  = option.View ? schema.GetSchemas <Schema.View>(db).ToList() : new List <Schema.View>();
             return(ConvertSchemaTables(tables, views));
         }
     }
     catch (Exception exp)
     {
         ErrorMessageBox.Show("获取数据架构时出错。", exp);
         return(null);
     }
 }
        public void CanGetViewColumns()
        {
            var provider = new ProviderHelper().GetProviderByConnectionString(ConfigurationManager.ConnectionStrings["Test"].ConnectionString);
            var schema   = provider.GetSchemaProvider();

            var table = schema.GetTables().Where(s => s.ActualName == "view_customers").Single();

            var column = schema.GetColumns(table).Where(p => p.ActualName == "name").Single();

            Assert.AreEqual(DbType.String, column.DbType);
            //Assert.AreEqual(NpgsqlDbType.Varchar, column.NpgsqlDbType);

            column = schema.GetColumns(table).Where(p => p.ActualName == "address").Single();
            Assert.AreEqual(DbType.String, column.DbType);
            //Assert.AreEqual(NpgsqlDbType.Varchar, column.NpgsqlDbType);

            column = schema.GetColumns(table).Where(p => p.ActualName == "id").Single();
            Assert.AreEqual(DbType.Int32, column.DbType);
            //Assert.AreEqual(NpgsqlDbType.Integer, column.NpgsqlDbType);
        }
Пример #9
0
        private StringBuilder Build()
        {
            var sql = new StringBuilder();

            var type = typeof(T);

            var(tableName, _) = ProviderHelper.GetMetas(type);

            sql.Append($"update {tableName} set ");


            sql.Append(setSql);

            sql.Remove(sql.Length - 1, 1);

            sql.Append(whereCommand.Build().Replace(DatabaseFactory.ParamterSplit, DbPrefix));


            return(sql);
        }
Пример #10
0
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        // Get query string parameters
        var objectType = QueryHelper.GetString("objecttype", String.Empty);
        var objectId   = QueryHelper.GetInteger("objectid", 0);

        // Get the object
        infoToClone = ProviderHelper.GetInfoById(objectType, objectId);

        if (infoToClone != null)
        {
            objTypeName = GetString("objecttype." + TranslationHelper.GetSafeClassName(infoToClone.TypeInfo.ObjectType));
        }

        if (objTypeName.StartsWith("objecttype.", StringComparison.OrdinalIgnoreCase))
        {
            objTypeName = "";
            SetTitle(String.Format(GetString("clonning.dialog.title"), HTMLHelper.HTMLEncode(ResHelper.LocalizeString(infoToClone.Generalized.ObjectDisplayName))));
        }
        else
        {
            SetTitle(String.Format(GetString("clonning.dialog.title"), objTypeName));
        }

        if (infoToClone == null)
        {
            ShowInformation(GetString("clonning.dialog.objectdoesnotexist"));
            cloneObjectElem.Visible = false;
            return;
        }

        // Check permissions
        if (!infoToClone.CheckPermissions(PermissionsEnum.Read, CurrentSiteName, CurrentUser))
        {
            RedirectToAccessDenied(infoToClone.TypeInfo.ModuleName, "read");
        }

        cloneObjectElem.InfoToClone = infoToClone;
    }
Пример #11
0
        public void ParseOutright()
        {
            ConfigurationManager.AppSettings["CreateDatabase"] = "0";

            string sXmlString = "";

            DatabaseCache.EnsureDatabaseCache();
            BetDomainMap.EnsureInstance();
            using (var reader = new StreamReader("groupsLanguages.xml"))
            {
                sXmlString = reader.ReadToEnd();
            }
            var srlc            = LineSerializeHelper.StringToObject <SportRadarLineContainer>(sXmlString);
            UpdateStatistics us = new UpdateStatistics();

            var fsr = LineSr.SyncRoutines(eUpdateType.PreMatches, string.Format("SportRadar Pre-Match Update. DataSyncCacheId = {0}", 0), false, us, delegate(object objParam)
            {
                return(ProviderHelper.MergeFromSportRadarLineContainer(srlc, 0));
            });

            Assert.AreEqual(fsr, eFileSyncResult.Succeeded);

            //matches
            using (var reader = new StreamReader("content.xml"))
            {
                sXmlString = reader.ReadToEnd();
            }
            srlc = LineSerializeHelper.StringToObject <SportRadarLineContainer>(sXmlString);
            us   = new UpdateStatistics();

            fsr = LineSr.SyncRoutines(eUpdateType.PreMatches, string.Format("SportRadar Pre-Match Update. DataSyncCacheId = {0}", 0), false, us, delegate(object objParam)
            {
                return(ProviderHelper.MergeFromSportRadarLineContainer(srlc, 0));
            });

            Assert.AreEqual(fsr, eFileSyncResult.Succeeded);
            var instance = LineSr.Instance.AllObjects.Matches.Where(x => x.Value.MatchId == 1004106).First();

            Assert.AreEqual("RHL - Podium1", instance.Value.GetOutrightDisplayName("EN"));
            Assert.AreEqual("RHL - Podium1", instance.Value.MatchView.Name);
        }
Пример #12
0
        /// <summary>
        /// 初始化。
        /// </summary>
        private void Initialize(EntityContextOptions options)
        {
            Guard.ArgumentNull(options, nameof(options));

            EntityContextInitializeContext initContext = null;

            if (options.ContextFactory != null)
            {
                initContext = options.ContextFactory();
            }
            else
            {
                var section = ConfigurationUnity.GetSection <InstanceConfigurationSection>();
                if (section != null)
                {
                    IInstanceConfigurationSetting setting;

                    if (!string.IsNullOrEmpty(options.ConfigName))
                    {
                        setting = section.Settings[options.ConfigName];
                    }
                    else
                    {
                        setting = section.Default;
                    }

                    initContext = new EntityContextInitializeContext(options, ProviderHelper.GetDefinedProviderInstance(setting), setting.ConnectionString);
                }
            }

            if (initContext == null || initContext.Provider == null)
            {
                throw new InvalidOperationException(SR.GetString(SRKind.MustAssignEntityContextInitializeContext));
            }

            initContext.Options = options;

            var provider = initContext.Provider.GetService <IContextProvider>();

            service = provider.CreateContextService(initContext);
        }
Пример #13
0
        /// <summary>
        /// Creates an instance of the <see cref="IMessenger"/> class by using the
        /// factory class that was defined in the specified configuration node.
        /// </summary>
        /// <param name="provider">A <see cref="MessengerProviderNode"/> object
        /// containing informations that will be used to create the designated
        /// type.</param>
        /// <returns>A reference to the newly created object.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="provider"/>
        /// is null.</exception>
        /// <exception cref="ProviderException">A valid instance of the factory
        /// could not be created -or - a exception was throwed by the factory.
        /// </exception>
        /// <remarks>
        /// <para>
        /// If the factory could not be instantiated or if it throws an exception
        /// it won't be propagated to the caller. This method packs the exception
        /// into a <see cref="ProviderException"/> and throw it.
        /// </para>
        /// </remarks>
        public static IMessenger CreateInstance(MessengerProviderNode provider)
        {
            if (provider == null)
            {
                throw new ArgumentNullException("provider");
            }

            IMessengerFactory factory;
            Type type = ProviderHelper.GetTypeFromProviderNode(provider);

            if (type == null)
            {
                throw new ProviderException(string.Format(
                                                StringResources.Type_CreateInstanceOf, "IMessengerFactory"));
            }

            try {
                factory = Activator.CreateInstance(type) as IMessengerFactory;
                if (factory == null)
                {
                    throw new ProviderException(string.Format(
                                                    StringResources.Type_CreateInstanceOf, "IMessengerFactory"));
                }

                IMessenger messenger =
                    factory.CreateMessenger(provider.Name, provider.Options);

                // Sanitu check for nulls. By default messenger factories should not
                // return nulls, but we can trust on others code.
                if (messenger == null)
                {
                    throw new ProviderException(string.Format(
                                                    StringResources.Type_CreateInstanceOf, "IMessengerFactory"));
                }
                return(messenger);
            } catch (Exception e) {
                // pack the throwed exception and rethrow it.
                throw new ProviderException(string.Format(
                                                StringResources.Type_CreateInstanceOf, "IMessenger"), e);
            }
        }
    private void gridState_OnAction(string actionName, object actionArgument)
    {
        switch (actionName.ToLowerCSafe())
        {
        case "delete":
            int stateId = ValidationHelper.GetInteger(actionArgument, 0);

            var obj   = ProviderHelper.GetInfoById(ObjectType, ObjectID);
            var state = AutomationStateInfoProvider.GetAutomationStateInfo(stateId);

            if (!CurrentUser.IsAuthorizedPerResource(ModuleName.ONLINEMARKETING, "RemoveProcess", SiteContext.CurrentSiteName))
            {
                RedirectToAccessDenied(ModuleName.ONLINEMARKETING, "RemoveProcess");
            }

            AutomationManager manager = AutomationManager.GetInstance(CurrentUser);
            manager.RemoveProcess(obj, state);

            break;
        }
    }
        /// <summary>
        /// Function to initialize the provider
        /// </summary>
        /// <param name="name">Name of the element in the configuration file</param>
        /// <param name="config">Configuration values for the provider from the Web.config file</param>
        public override void Initialize(
            string name,
            NameValueCollection config)
        {
            // Initialize the base class
            base.Initialize(name, config);

            // Create our Couchbase bucket instance
            _bucket = ProviderHelper.GetBucket(name, config);

            // Allow optional prefix to be used for this application
            var prefix = ProviderHelper.GetAndRemove(config, "prefix", false);

            if (prefix != null)
            {
                _prefix = prefix;
            }

            // Make sure no extra attributes are included
            ProviderHelper.CheckForUnknownAttributes(config);
        }
Пример #16
0
        public override CommandResult Execute(CommandResult pipeIn)
        {
            // Obtain parameters
            bool   includeHidden = _arguments.Get <BoolArgument>("Force").Value;
            string path          = _arguments.Get <StringArgument>("Path").Value;
            bool   recurse       = _arguments.Get <BoolArgument>("Recurse").Value;
            int    depth         = _arguments.Get <IntegerArgument>("Depth").Value;
            string searchPattern = _arguments.Get <StringArgument>("Include").Value;

            // Registry:
            //     HKLM:\
            //     HKCU:\
            //     HKCR:\
            //     HKU:\
            RegistryKey root = ProviderHelper.GetRegistryKey(ref path);

            if (root != null)
            {
                _results = BrowseRegistry(root, path, includeHidden);
            }

            // Environment
            //     env:
            //     env:systemroot
            else if (path.ToUpperInvariant().StartsWith("ENV"))
            {
                _results = BrowseEnvironment(path);
            }

            // Filesystem:
            //     \
            //     ..\
            //     D:\
            else
            {
                _results = BrowseFilesystem(path, recurse, depth, includeHidden, searchPattern);
            }

            return(_results);
        }
    /// <summary>
    /// OnPreRender event handler
    /// </summary>
    /// <param name="e"></param>
    protected override void OnPreRender(EventArgs e)
    {
        if (SearchTaskInfo != null)
        {
            GeneralizedInfo relatedObjectInfo = ProviderHelper.GetInfoById(SearchTaskInfo.SearchTaskRelatedObjectType, SearchTaskInfo.SearchTaskRelatedObjectID);
            string          relatedObjectStr  = String.Empty;

            if (relatedObjectInfo == null)
            {
                relatedObjectStr = ResHelper.GetStringFormat(
                    "smartsearch.searchtaskrelatedobjectnotexist",
                    TypeHelper.GetNiceObjectTypeName(SearchTaskInfo.SearchTaskRelatedObjectType),
                    SearchTaskInfo.SearchTaskRelatedObjectID
                    );
            }
            else
            {
                relatedObjectStr = relatedObjectInfo.GetFullObjectName(false, true, false);
            }

            StringBuilder report = new StringBuilder();
            report.Append("<div class='form-horizontal'>");
            report.Append("<div class='form-group'><div class='editing-form-label-cell'><span class='control-label'>", GetString("smartsearch.task.tasktype"), ":</span></div><div class='editing-form-value-cell'><span class='form-control-text'>", HTMLHelper.HTMLEncode(GetString("smartsearch.tasktype." + SearchTaskInfo.SearchTaskType.ToStringRepresentation())), "</span></div></div>");
            report.Append("<div class='form-group'><div class='editing-form-label-cell'><span class='control-label'>", GetString("smartsearch.task.taskobjecttype"), ":</span></div><div class='editing-form-value-cell'><span class='form-control-text'>", HTMLHelper.HTMLEncode(TypeHelper.GetNiceObjectTypeName(SearchTaskInfo.SearchTaskObjectType)), "</span></div></div>");
            report.Append("<div class='form-group'><div class='editing-form-label-cell'><span class='control-label'>", GetString("smartsearch.task.taskfield"), ":</span></div><div class='editing-form-value-cell'><span class='form-control-text'>", HTMLHelper.HTMLEncode(SearchTaskInfo.SearchTaskField), "</span></div></div>");
            report.Append("<div class='form-group'><div class='editing-form-label-cell'><span class='control-label'>", GetString("smartsearch.task.taskvalue"), ":</span></div><div class='editing-form-value-cell'><span class='form-control-text'>", HTMLHelper.HTMLEncode(SearchTaskInfo.SearchTaskValue), "</span></div></div>");
            report.Append("<div class='form-group'><div class='editing-form-label-cell'><span class='control-label'>", GetString("smartsearch.task.taskrelatedobject"), ":</span></div><div class='editing-form-value-cell'><span class='form-control-text'>", HTMLHelper.HTMLEncode(relatedObjectStr), "</span></div></div>");
            report.Append("<div class='form-group'><div class='editing-form-label-cell'><span class='control-label'>", GetString("smartsearch.task.taskservername"), ":</span></div><div class='editing-form-value-cell'><span class='form-control-text'>", HTMLHelper.HTMLEncode(SearchTaskInfo.SearchTaskServerName), "</span></div></div>");
            report.Append("<div class='form-group'><div class='editing-form-label-cell'><span class='control-label'>", GetString("smartsearch.task.taskcreated"), ":</span></div><div class='editing-form-value-cell'><span class='form-control-text'>", HTMLHelper.HTMLEncode(SearchTaskInfo.SearchTaskCreated.ToString()), "</span></div></div>");
            report.Append("<div class='form-group'><div class='editing-form-label-cell'><span class='control-label'>", GetString("smartsearch.task.taskstatus"), ":</span></div><div class='editing-form-value-cell'><span class='form-control-text'>", UniGridFunctions.ColoredSpanMsg(HTMLHelper.HTMLEncode(GetString("smartsearch.searchtaskstatusenum." + SearchTaskInfo.SearchTaskStatus.ToStringRepresentation())), SearchTaskInfo.SearchTaskStatus != SearchTaskStatusEnum.Error), "</span></div></div>");
            report.Append("<div class='form-group'><div class='editing-form-label-cell'><span class='control-label'>", GetString("smartsearch.task.taskerrormessage"), ":</strong></div><div class='editing-form-value-cell'><span class='form-control-text'>", HTMLHelper.HTMLEncode(SearchTaskInfo.SearchTaskErrorMessage), "</span></div></div>");
            report.Append("</div>");

            lblReport.Text = report.ToString();
        }
        else
        {
            lblReport.Text = GetString("srch.task.tasknotexist");
        }
    }
    protected void Page_Init(object sender, EventArgs e)
    {
        MessagesPlaceHolder = plcMess;

        string objectType  = string.Empty;
        string elementName = string.Empty;

        switch (QueryHelper.GetString("parameterName", string.Empty).ToLowerInvariant())
        {
        // It is banner
        case "bannerid":
            objectType  = BannerInfo.OBJECT_TYPE;
            elementName = "Report_1";
            break;

        // It is banner category
        case "bannercategoryid":
            objectType  = BannerCategoryInfo.OBJECT_TYPE;
            elementName = "Report";
            break;

        default:
            RedirectToInformation(GetString("bannermanagement.error.internal"));
            break;
        }


        // Check UI personalization
        var uiElement = new UIElementAttribute(ResourceName, elementName);

        uiElement.Check(this);

        // Check Reporting permissions
        CheckReportingAvailability();

        // Get the ID
        int id = QueryHelper.GetInteger("parameterValue", 0);

        SetEditedObject(ProviderHelper.GetInfoById(objectType, id), string.Empty);
    }
Пример #19
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!QueryHelper.ValidateHash("hash"))
        {
            return;
        }

        if (!ModuleManager.IsModuleLoaded(ModuleName.ECOMMERCE))
        {
            return;
        }

        int orderId = QueryHelper.GetInteger("orderid", 0);

        // Get order object
        var order = ProviderHelper.GetInfoById(PredefinedObjectType.ORDER, orderId);

        if (order != null)
        {
            ltl.Text = order.GetStringValue("OrderInvoice", "");
        }
    }
Пример #20
0
        int OnExecute(CommandLineApplication app, IConsole console)
        {
            if (!String.IsNullOrEmpty(Provider) && !ProviderHelper.CheckSupportability(Provider))
            {
                console.Error.WriteLine($"Provider '{Provider}' is not supported.");
                return(1);
            }

            var item = DomainConfigHelper.GetSingle(new DomainConfigItem
            {
                Domain   = Domain,
                Type     = Type ?? DomainRecordType.A,
                Provider = Provider
            });

            if (item == null)
            {
                console.Error.WriteLine("Failed to delete, because there is no such configuration.");
                return(1);
            }

            var confirmMessage = new StringBuilder("Please confirm that you want to delete this record:");

            confirmMessage.AppendLine();
            confirmMessage.AppendLine($"  Domain: {item.Domain}");
            confirmMessage.AppendLine($"  Type: {item.Type}");
            confirmMessage.AppendLine($"  Provider: {item.Provider}");

            if (!Prompt.GetYesNo(confirmMessage.ToString(), defaultAnswer: false))
            {
                console.Out.WriteLine("Operation cancelled.");
                return(1);
            }

            DomainConfigHelper.DeleteItem(item);
            console.Out.WriteLine($"Deleted successfully!");

            return(1);
        }
Пример #21
0
    /// <summary>
    /// Loads and displays either the MVT or Content personalization edit form.
    /// </summary>
    /// <param name="forceReload">if true, then reloads the edit form content</param>
    private void LoadEditForm()
    {
        // Set the EditedObject attribute for the UIForm
        if (variantMode == VariantModeEnum.MVT)
        {
            mvtEditElem.UIFormControl.EditedObject = ProviderHelper.GetInfoById(MVTVariantInfo.OBJECT_TYPE, QueryHelper.GetInteger("variantid", 0));
            mvtEditElem.UIFormControl.ReloadData();

            // Display MVT edit dialog
            mvtEditElem.Visible = true;
            mvtEditElem.UIFormControl.SubmitButton.Visible = false;
        }
        else if (variantMode == VariantModeEnum.ContentPersonalization)
        {
            cpEditElem.UIFormControl.EditedObject = ProviderHelper.GetInfoById(ContentPersonalizationVariantInfo.OBJECT_TYPE, QueryHelper.GetInteger("variantid", 0));
            cpEditElem.UIFormControl.ReloadData();

            // Display Content personalization edit dialog
            cpEditElem.Visible = true;
            cpEditElem.UIFormControl.SubmitButton.Visible = false;
        }
    }
Пример #22
0
        private TranslationResult mapResponse()
        {
            TranslationResult translationResult = new TranslationResult(this.ProviderName);

            if (translationResultRaw != null)
            {
                translationResult.Results = translationResultRaw?
                                            .Select(x => new Result()
                {
                    Word             = null, //to be removed
                    ShortTranslation = null, //to be removed


                    Definitions =
                    { new TranslationDefinition {
                          Definition      = x.hwi.Word,
                          Example         = x.ShortTranslation.FirstOrDefault(),
                          Pronounciations =
                          { new Pronounciation {
                                                      Sound = x.hwi.prs
                                                              .Where
                                                                  (x => !string.IsNullOrEmpty(x.sound?.Audio))
                                                              .FirstOrDefault()?.sound ?? x.hwi?.prs?.FirstOrDefault().sound //this was prepopulated in constructor so either first not empty element or just first one (it could be either populated or not)
                                                      , Pron = x.hwi.prs
                                                               .Where(x => !string.IsNullOrEmpty(x.ipa)).FirstOrDefault()?.ipa
                                                  } }
                      } }
                })
                                            .ToList();
            }
            else
            {
                translationResult = translationResult.GetEmptyTranslationResult();
            }

            ProviderHelper.CountResults(translationResult);

            return(translationResult);
        }
Пример #23
0
    /// <summary>
    /// Used for maxnodes in collapsed node.
    /// </summary>
    private TreeNode treeElem_OnNodeCreated(DataRow itemData, TreeNode defaultNode)
    {
        if (UseMaxNodeLimit && (MaxTreeNodes > 0))
        {
            //Get parentID from data row
            int    parentID       = ValidationHelper.GetInteger(itemData["ParentID"], 0);
            string dataObjectType = ValidationHelper.GetString(itemData["ObjectType"], String.Empty);

            //Dont use maxnodes limitation for categories
            if (dataObjectType.IndexOf("category", StringComparison.OrdinalIgnoreCase) >= 0)
            {
                return(defaultNode);
            }

            //Increment index count in collapsing
            mIndex++;
            if (mIndex == MaxTreeNodes)
            {
                //Load parentid
                int      parentParentID = 0;
                BaseInfo biParent       = ProviderHelper.GetInfoById(categoryObjectType, parentID);

                if (biParent != null)
                {
                    parentParentID = ValidationHelper.GetInteger(biParent.GetValue(categoryParentColumn), 0);
                }

                TreeNode node = new TreeNode();
                node.Text = "<span class=\"ContentTreeItem\" onclick=\"SelectNode(" + parentID + " ,'category'," + parentParentID + ",true ); return false;\"><span class=\"Name\">" + GetString("general.seelisting") + "</span></span>";
                return(node);
            }
            if (mIndex > MaxTreeNodes)
            {
                return(null);
            }
        }
        return(defaultNode);
    }
    /// <summary>
    /// Init event handler.
    /// </summary>
    protected override void OnInit(EventArgs e)
    {
        // When displaying an existing variant of a zone, get the variant mode for its original zone
        if (variantId > 0)
        {
            PageTemplateInfo pti = PageTemplateInfoProvider.GetPageTemplateInfo(templateId);
            if ((pti != null) && ((pti.TemplateInstance != null)))
            {
                // Get the original zone and retrieve its variant mode
                WebPartZoneInstance zoneInstance = pti.TemplateInstance.GetZone(zoneId);
                if ((zoneInstance != null) && (zoneInstance.VariantMode != VariantModeEnum.None))
                {
                    variantMode = zoneInstance.VariantMode;
                }
            }
        }

        if (variantMode == VariantModeEnum.MVT)
        {
            // Display MVT edit dialog
            mvtEditElem.UIFormControl.EditedObject = ProviderHelper.GetInfoById(MVTVariantInfo.OBJECT_TYPE, QueryHelper.GetInteger("variantid", 0));
            mvtEditElem.UIFormControl.ParentObject = ProviderHelper.GetInfoById(PageTemplateInfo.OBJECT_TYPE, QueryHelper.GetInteger("templateid", 0));
            mvtEditElem.Visible = true;
            mvtEditElem.UIFormControl.SubmitButton.Visible = false;
            mvtEditElem.UIFormControl.ReloadData();
        }
        else if (variantMode == VariantModeEnum.ContentPersonalization)
        {
            // Display Content personalization edit dialog
            cpEditElem.UIFormControl.EditedObject = ProviderHelper.GetInfoById(ContentPersonalizationVariantInfo.OBJECT_TYPE, QueryHelper.GetInteger("variantid", 0));
            cpEditElem.UIFormControl.ParentObject = ProviderHelper.GetInfoById(PageTemplateInfo.OBJECT_TYPE, QueryHelper.GetInteger("templateid", 0));
            cpEditElem.Visible = true;
            cpEditElem.UIFormControl.SubmitButton.Visible = false;
            cpEditElem.UIFormControl.ReloadData();
        }

        base.OnInit(e);
    }
Пример #25
0
    protected void gridMatrix_OnItemChanged(object sender, int rowItemId, int colItemId, bool newState)
    {
        if (newState)
        {
            RoleUIElementInfoProvider.AddRoleUIElementInfo(rowItemId, colItemId);
        }
        else
        {
            RoleUIElementInfoProvider.DeleteRoleUIElementInfo(rowItemId, colItemId);
        }

        // Invalidate all users
        UserInfo.TYPEINFO.InvalidateAllObjects();

        // Forget old user
        CurrentUser = null;

        // Clear hashtables with users
        ProviderHelper.ClearHashtables(UserInfo.OBJECT_TYPE, true);

        // Update content before rows
        GenerateBeforeRowsContent();
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleManager.IsModuleLoaded(ModuleName.EVENTMANAGER) || (ai.ActivityType != PredefinedActivityType.EVENT_BOOKING))
        {
            return(false);
        }

        int nodeId = ai.ActivityNodeID;

        ucDetails.AddRow("om.activitydetails.documenturl", GetLinkForDocument(nodeId, ai.ActivityCulture), false);

        GeneralizedInfo iinfo = ProviderHelper.GetInfoById(PredefinedObjectType.EVENTATTENDEE, ai.ActivityItemID);

        if (iinfo != null)
        {
            ucDetails.AddRow("om.activitydetails.attendee", String.Format("{0} {1} ({2})",
                                                                          ValidationHelper.GetString(iinfo.GetValue("AttendeeFirstName"), null),
                                                                          ValidationHelper.GetString(iinfo.GetValue("AttendeeLastName"), null),
                                                                          ValidationHelper.GetString(iinfo.GetValue("AttendeeEmail"), null)));
        }

        return(ucDetails.IsDataLoaded);
    }
Пример #27
0
        private static void FlagsSync(ThreadContext tc)
        {
            while (!tc.IsToStop)
            {
                try
                {
                    if (!StationRepository.IsPrematchEnabled)
                    {
                        continue;
                    }

                    var resourceUpdateId = UpdateFileEntrySr.GetLastUpdate(eDataSyncCacheType.Resources);
                    var id = resourceUpdateId == null ? 0 : resourceUpdateId.DataSyncCacheID;

                    UpdateRecord[] updateline = WsdlRepository.UpdateFlags(StationRepository.StationNumber, id);

                    if (updateline != null && updateline.Length > 0)
                    {
                        ProviderHelper.UpdateDatabase(DateTime.Now, DalStationSettings.Instance.UseDatabaseForOthers, DataArrayToList(updateline));
                        LineSr.ProcessDataSqlUpdateSucceeded(eUpdateType.PreMatches, "SportRadar Pre-Match Update.");
                    }
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }

                var syncinterval = Convert.ToInt32(ConfigurationManager.AppSettings["STATIONPROPERTY_SYNC_INTERVAL"]);
                if (StationRepository.SyncInterval > 0)
                {
                    syncinterval = StationRepository.SyncInterval;
                }

                Thread.Sleep(syncinterval * 1000);
            }
        }
        public void CanGetForeignKeys()
        {
            var provider = new ProviderHelper().GetProviderByConnectionString(ConfigurationManager.ConnectionStrings["Test"].ConnectionString);
            var schema   = provider.GetSchemaProvider();

            var table  = schema.GetTables().Where(s => s.ActualName == "order_items").SingleOrDefault();
            var result = schema.GetForeignKeys(table).ToList();

            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Count());

            var fk = result.Where(p => p.MasterTable.Name == "orders").FirstOrDefault();

            Assert.IsNotNull(fk);
            Assert.AreEqual("public", fk.DetailTable.Schema);
            Assert.AreEqual("order_items", fk.DetailTable.Name);
            Assert.AreEqual(1, fk.Columns.Length);
            Assert.AreEqual("order_id", fk.Columns[0]);

            Assert.AreEqual("public", fk.MasterTable.Schema);
            Assert.AreEqual("orders", fk.MasterTable.Name);
            Assert.AreEqual(1, fk.UniqueColumns.Length);
            Assert.AreEqual("id", fk.UniqueColumns[0]);

            fk = result.Where(p => p.MasterTable.Name == "items").FirstOrDefault();
            Assert.IsNotNull(fk);
            Assert.AreEqual("public", fk.DetailTable.Schema);
            Assert.AreEqual("order_items", fk.DetailTable.Name);
            Assert.AreEqual(1, fk.Columns.Length);
            Assert.AreEqual("item_id", fk.Columns[0]);

            Assert.AreEqual("public", fk.MasterTable.Schema);
            Assert.AreEqual("items", fk.MasterTable.Name);
            Assert.AreEqual(1, fk.UniqueColumns.Length);
            Assert.AreEqual("id", fk.UniqueColumns[0]);
        }
Пример #29
0
    /// <summary>
    /// Handles delete action.
    /// </summary>
    /// <param name="eventArgument">Objecttype(item or itemcategory);objectid</param>
    public void RaisePostBackEvent(string eventArgument)
    {
        string[] values = eventArgument.Split(';');
        if (values.Length == 3)
        {
            int      id       = ValidationHelper.GetInteger(values[1], 0);
            int      parentId = ValidationHelper.GetInteger(values[2], 0);
            BaseInfo biParent = ProviderHelper.GetInfoById(categoryObjectType, parentId);

            if (biParent == null)
            {
                return;
            }

            String categoryPath = ValidationHelper.GetString(biParent.GetValue(categoryPathColumn), String.Empty);
            int    parentID     = ValidationHelper.GetInteger(biParent.GetValue(categoryParentColumn), 0);

            //Test permission
            if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource(ResourceName, "Modify"))
            {
                String url = CMSPage.GetAccessDeniedUrl(AdministrationUrlHelper.ADMIN_ACCESSDENIED_PAGE, ResourceName, "modify", String.Empty, String.Empty);

                // Display access denied page in conent frame and select deleted item again
                String denyScript = @"$cmsj(document).ready(function(){ frames['paneContentTMain'].location = '" + ResolveUrl(url) + "';" + SelectAfterLoad(categoryPath + "/", id, values[0], parentId, false, false) + "});";

                ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), ClientID + "_AccessDenied", ScriptHelper.GetScript(denyScript));
                return;
            }

            switch (values[0])
            {
            case "item":
                BaseInfo bi = ProviderHelper.GetInfoById(objectType, id);
                if (bi != null)
                {
                    bi.Delete();
                }

                break;

            case "category":
                try
                {
                    BaseInfo biCate = ProviderHelper.GetInfoById(categoryObjectType, id);
                    if (biCate != null)
                    {
                        biCate.Delete();
                    }
                }
                catch (Exception ex)
                {
                    // Make alert with exception message, most probable cause is deleting category with subcategories
                    var script = $"alert('{ScriptHelper.GetString(ex.Message, false)}');\n";
                    script += SelectAfterLoad(categoryPath + "/", id, "category", parentID, true, true);

                    ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), ClientID + "_AfterLoad", ScriptHelper.GetScript(script));
                    return;
                }
                break;
            }

            // After delete select first tab always
            tabIndexStr = String.Empty;
            var location = UIContextHelper.GetElementUrl(UIContext.UIElement, UIContext);
            location = URLHelper.RemoveParameterFromUrl(location, "objectid");
            location = URLHelper.UpdateParameterInUrl(location, "parentobjectid", parentId.ToString());

            URLHelper.Redirect(location);
        }
    }
 static AdaptiveManager()
 {
     _helper = new ProviderHelper<AdaptiveProviderBase, AdaptiveProviderCollection>("adaptiveManager");
 }
Пример #31
0
 static RedirectManager()
 {
     _providerHelper = new ProviderHelper<RedirectProvider, RedirectProviderCollection>("redirectManager");
 }
Пример #32
0
 public void GetDefinedProviderInstanceTest()
 {
     Assert.IsNotNull(ProviderHelper.GetDefinedProviderInstance("MsSql"));
 }
Пример #33
0
        public void TestProviderIsSqlProvider()
        {
            var provider = ProviderHelper.GetProviderByConnectionString(Properties.Settings.Default.ConnectionString);

            Assert.IsInstanceOf(typeof(SqlConnectionProvider), provider);
        }
 static UrlGenerationTokenValueExtractor()
 {
     Configuration = new ProviderHelper<TokenValueExtractor, TokenValueExtractorCollection>("urlGenerationTokenValueExtractor");
 }
 static WildcardItemResolver()
 {
     Configuration = new ProviderHelper<ItemResolver, ItemResolverCollection>("wildcardItemResolver");
 }
Пример #36
0
 public void TestProviderIsSqlProvider()
 {
     var provider = new ProviderHelper().GetProviderByConnectionString(Properties.Settings.Default.ConnectionString);
     Assert.IsInstanceOf(typeof(SqlConnectionProvider), provider);
 }
Пример #37
0
    /// <summary>
    /// Setups controls.
    /// </summary>
    private void SetupControls()
    {
        if (FileSystemMode)
        {
            // New file button
            if (!String.IsNullOrEmpty(NewTextFileExtension))
            {
                plcNewFile.Visible = true;

                string query = "?identifier=" + Identifier;

                // New folder button
                WindowHelper.Remove(Identifier);

                Hashtable properties = new Hashtable();
                properties.Add("targetpath", TargetFolderPath);
                properties.Add("newfileextension", NewTextFileExtension);
                WindowHelper.Add(Identifier, properties);

                var url = UrlResolver.ResolveUrl("~/CMSModules/Content/Controls/Dialogs/Selectors/FileSystemSelector/EditTextFile.aspx") + query;
                url = URLHelper.AddParameterToUrl(url, "hash", QueryHelper.GetHash(url, false));

                btnNew.ToolTip       = GetString("dialogs.actions.newfile.desc");
                btnNew.OnClientClick = String.Format("modalDialog('{0}', 'NewFile', 905, 688, null, true); return false;", url);
                btnNew.Text          = GetString("general.create");
            }
            else
            {
                plcNewFile.Visible = false;
            }

            // Initialize file uploader
            fileUploader.SourceType          = MediaSourceEnum.PhysicalFile;
            fileUploader.TargetFolderPath    = TargetFolderPath;
            fileUploader.AllowedExtensions   = AllowedExtensions;
            fileUploader.AfterSaveJavascript = "FSS_FilesUploaded";
        }
        else
        {
            // If attachments are being displayed and no document or form is specified - hide uploader
            if (!IsCopyMoveLinkDialog && (((SourceType != MediaSourceEnum.DocumentAttachments) && (SourceType != MediaSourceEnum.MetaFile)) ||
                                          ((SourceType == MediaSourceEnum.DocumentAttachments) && (Config.AttachmentDocumentID > 0 || Config.AttachmentFormGUID != Guid.Empty)) ||
                                          ((SourceType == MediaSourceEnum.MetaFile) && ((MetaFileObjectID > 0) && !string.IsNullOrEmpty(MetaFileObjectType) && !string.IsNullOrEmpty(MetaFileCategory)))))
            {
                // Initialize file uploader
                if (SourceType == MediaSourceEnum.MetaFile)
                {
                    fileUploader.ObjectID   = MetaFileObjectID;
                    fileUploader.ObjectType = MetaFileObjectType;
                    fileUploader.Category   = MetaFileCategory;

                    BaseInfo info = ProviderHelper.GetInfoById(MetaFileObjectType, MetaFileObjectID);

                    fileUploader.SiteID = info != null ? info.Generalized.ObjectSiteID : SiteContext.CurrentSiteID;
                }
                else
                {
                    fileUploader.DocumentID          = DocumentID;
                    fileUploader.FormGUID            = FormGUID;
                    fileUploader.NodeParentNodeID    = ((NodeID > 0) ? NodeID : ParentNodeID);
                    fileUploader.NodeClassName       = SystemDocumentTypes.File;
                    fileUploader.LibraryID           = LibraryID;
                    fileUploader.LibraryFolderPath   = LibraryFolderPath;
                    fileUploader.ResizeToHeight      = ResizeToHeight;
                    fileUploader.ResizeToMaxSideSize = ResizeToMaxSideSize;
                    fileUploader.ResizeToWidth       = ResizeToWidth;
                    fileUploader.CheckPermissions    = true;
                }
                fileUploader.ParentElemID = CMSDialogHelper.GetMediaSource(SourceType);
                fileUploader.SourceType   = SourceType;
            }
            else
            {
                plcDirectFileUploader.Visible = false;
                fileUploader.StopProcessing   = true;
            }
        }

        // Initialize disabled button
        fileUploader.IsLiveSite = IsLiveSite;
        fileUploader.Text       = GetString("general.upload");
        fileUploader.UploadMode = MultifileUploaderModeEnum.DirectMultiple;

        const string disableMenuItem =
            @"function DisableNewFileBtn() {                                      
    $cmsj('#dialogsUploaderDiv').attr('style', 'display:none;');                                 
    $cmsj('#dialogsUploaderDisabledDiv').removeAttr('style');
}
";

        ScriptHelper.RegisterStartupScript(Page, typeof(string), "disableMenuItem", ScriptHelper.GetScript(disableMenuItem));

        if (!FileSystemActionsEnabled)
        {
            // Disable file action
            ScriptHelper.RegisterStartupScript(Page, typeof(string), "disableNewFile", ScriptHelper.GetScript("DisableNewFileBtn();"));
        }
    }
Пример #38
0
 static WildcardManager()
 {
     Configuration = new ProviderHelper<RouteResolver, RouteResolverCollection>("wildcardManager");
 }
Пример #39
0
 public static DatabaseSchema Get(IConnectionProvider connectionProvider, ProviderHelper providerHelper)
 {
     return Instances.GetOrAdd(connectionProvider.ConnectionString,
                               sp => new DatabaseSchema(connectionProvider.GetSchemaProvider(), providerHelper));
 }
Пример #40
0
 public void TestProviderIsSqlProvider()
 {
     var provider = new ProviderHelper().GetProviderByConnectionString(DatabaseHelper.ConnectionString);
     Assert.IsInstanceOf(typeof(SqlConnectionProvider), provider);
 }
Пример #41
0
    /// <summary>
    /// Reloads all data.
    /// </summary>
    public override void ReloadData(bool forceLoad)
    {
        if (CurrentReport != null)
        {
            // Load labels
            if (!RequestHelper.IsPostBack() || forceLoad)
            {
                // Create query parameters
                string query = "?ObjectID=" + CurrentReport.ReportObjectID;

                // Set link value
                string url = CurrentReport.ReportURL;
                if (CurrentReport.ReportCulture != String.Empty)
                {
                    url = URLHelper.AddParameterToUrl(url, URLHelper.LanguageParameterName, CurrentReport.ReportCulture);
                }
                lnkUrlValue.Text        = HTMLHelper.HTMLEncode(url);
                lnkUrlValue.NavigateUrl = url;
                lnkUrlValue.ToolTip     = HTMLHelper.HTMLEncode(url);
                lnkUrlValue.Target      = "_blank";

                // Set culture value
                var cultureInfo = CultureHelper.GetCultureInfo(CurrentReport.ReportCulture);
                lblCultureValue.Text = (cultureInfo != null) ? cultureInfo.DisplayName : ResHelper.Dash;

                // Set site value
                SiteInfo si = SiteInfoProvider.GetSiteInfo(CurrentReport.ReportSiteID);
                lblSiteValue.Text = (si != null) ? HTMLHelper.HTMLEncode(si.DisplayName) : ResHelper.Dash;

                // Set title
                lblTitleValue.Text = HTMLHelper.HTMLEncode(CurrentReport.ReportTitle);

                // Set labels
                if (!string.IsNullOrEmpty(CurrentReport.ReportObjectType))
                {
                    lblObjectTypeValue.Text = GetString("ObjectType." + ImportExportHelper.GetSafeObjectTypeName(CurrentReport.ReportObjectType));
                    query += "&ObjectType=" + CurrentReport.ReportObjectType;
                }
                else
                {
                    lblObjectTypeValue.Text = ResHelper.Dash;
                }

                // Get object display name
                lblObjectNameValue.Text = ResHelper.Dash;

                string objectType = CurrentReport.ReportObjectType;
                int    objectId   = CurrentReport.ReportObjectID;

                if ((objectId > 0) && !string.IsNullOrEmpty(objectType) && !DocumentHelper.IsDocumentObjectType(objectType))
                {
                    GeneralizedInfo obj = ProviderHelper.GetInfoById(objectType, objectId);
                    if ((obj != null) && !string.IsNullOrEmpty(obj.ObjectDisplayName))
                    {
                        lblObjectNameValue.Text = HTMLHelper.HTMLEncode(obj.ObjectDisplayName);
                    }
                }

                // Set Reported by label
                lblReportedByValue.Text = ResHelper.Dash;
                if (CurrentReport.ReportUserID != 0)
                {
                    UserInfo ui = UserInfoProvider.GetUserInfo(CurrentReport.ReportUserID);
                    lblReportedByValue.Text = (ui != null) ? HTMLHelper.HTMLEncode(ui.FullName) : GetString("general.NA");
                }

                // Set other parameters
                lblReportedWhenValue.Text = CurrentReport.ReportWhen.ToString();

                CMSPage page = Page as CMSPage;

                if ((CurrentReport.ReportObjectID > 0) && (!string.IsNullOrEmpty(CurrentReport.ReportObjectType)) && AbuseReportInfoProvider.IsObjectTypeSupported(CurrentReport.ReportObjectType))
                {
                    // Add Object details button
                    string detailUrl = "~/CMSModules/AbuseReport/AbuseReport_ObjectDetails.aspx" + query;
                    detailUrl = URLHelper.AddParameterToUrl(detailUrl, "hash", QueryHelper.GetHash(detailUrl));
                    var onClientClickScript = ScriptHelper.GetModalDialogScript(UrlResolver.ResolveUrl(detailUrl), "objectdetails", 960, 600);

                    if (page != null)
                    {
                        var headerActions = page.HeaderActions;
                        headerActions.AddAction(new HeaderAction
                        {
                            Text          = GetString("abuse.details"),
                            OnClientClick = onClientClickScript,
                            ButtonStyle   = ButtonStyle.Default
                        });
                        btnObjectDetails.Visible = false;
                    }
                    else
                    {
                        btnObjectDetails.OnClientClick = onClientClickScript;
                        ScriptHelper.RegisterDialogScript(Page);
                    }
                }
                else
                {
                    btnObjectDetails.Visible = false;
                }

                Control postback = ControlsHelper.GetPostBackControl(Page);

                // Not post-back not caused by OK button or Save action in header
                if ((postback != btnOk) && ((page == null) || (postback != page.HeaderActions)))
                {
                    txtCommentValue.Text = CurrentReport.ReportComment;
                    LoadStatus((int)CurrentReport.ReportStatus);
                }
            }
        }
    }
Пример #42
0
        public static DatabaseSchema Get(IConnectionProvider connectionProvider, ProviderHelper providerHelper)
        {
            var instance = connectionProvider is ISchemaConnectionProvider 
                ? Instances.GetOrAdd(((ISchemaConnectionProvider)connectionProvider).ConnectionProviderKey, sp => new DatabaseSchema(connectionProvider.GetSchemaProvider(), providerHelper))
                : Instances.GetOrAdd(connectionProvider.ConnectionString, sp => new DatabaseSchema(connectionProvider.GetSchemaProvider(), providerHelper));

            return instance;
        }
Пример #43
0
 static WildcardManager()
 {
     Configuration = new ProviderHelper <RouteResolver, RouteResolverCollection>("wildcardManager");
 }
 static WildcardManager()
 {
     _helper = new ProviderHelper<WildcardProvider, WildcardProviderCollection>("wildcardManager");
 }
 /// <summary>
 /// Initializes the <see cref="LogStorageManager"/> class.
 /// </summary>
 static LogStorageManager()
 {
     Helper = new ProviderHelper<AzureBlobStorageProvider, AzureBlobStorageProviderCollection>("logStorageManager");
 }
 private static void SetupSearchProvider(SearchProvider searchProvider)
 {
   var providerHelper = new ProviderHelper<SearchProvider, SearchProviderCollection>("randomString");
   typeof(ContentSearchManager).GetField("ProviderHelper", BindingFlags.Static | BindingFlags.NonPublic).SetValue(null, providerHelper);
   providerHelper.GetType().GetField("_provider", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(providerHelper, searchProvider);
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        // Get query string parameters
        objectType = QueryHelper.GetString("objecttype", String.Empty);
        int objectId = QueryHelper.GetInteger("objectid", 0);

        // Get the object
        BaseInfo info = ProviderHelper.GetInfoById(objectType, objectId);

        string objTypeName = "";

        if (info != null)
        {
            objTypeName = GetString("objecttype." + TranslationHelper.GetSafeClassName(info.TypeInfo.ObjectType));
        }

        if (objTypeName.StartsWithCSafe("objecttype."))
        {
            objTypeName = "";
            SetTitle(String.Format(GetString("clonning.dialog.title"), HTMLHelper.HTMLEncode(ResHelper.LocalizeString(info.Generalized.ObjectDisplayName))));
        }
        else
        {
            SetTitle(String.Format(GetString("clonning.dialog.title"), objTypeName));
        }

        btnClone.Text   = GetString("General.Clone");
        btnClone.Click += btnClone_Click;

        if (info == null)
        {
            ShowInformation(GetString("clonning.dialog.objectdoesnotexist"));
            cloneObjectElem.Visible = false;
            return;
        }

        if (cloneObjectElem.HasNoSettings())
        {
            ShowInformation(String.Format(GetString("clonning.settings.emptyinfobox"), objTypeName, HTMLHelper.HTMLEncode(ResHelper.LocalizeString(info.Generalized.ObjectDisplayName))));
        }
        else
        {
            ShowInformation(String.Format(GetString("clonning.settings.infobox"), objTypeName, HTMLHelper.HTMLEncode(ResHelper.LocalizeString(info.Generalized.ObjectDisplayName))));
        }

        // Check permissions
        if (!info.CheckPermissions(PermissionsEnum.Read, CurrentSiteName, CurrentUser))
        {
            RedirectToAccessDenied(info.TypeInfo.ModuleName, "read");
        }

        cloneObjectElem.InfoToClone = info;

        // Register refresh script to refresh wopener
        StringBuilder script = new StringBuilder();

        script.Append(@"
function RefreshContent() {
  if (wopener != null) {
    if (wopener.RefreshWOpener)
    {
        window.refreshPageOnClose = true;
        wopener.RefreshWOpener(window);
    }
    else
    {
        wopener.window.location.replace(wopener.window.location);
    }
  }
}");
        // Register script
        ScriptHelper.RegisterWOpenerScript(Page);
        ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "WOpenerRefresh", ScriptHelper.GetScript(script.ToString()));
    }
 static SalesforceManager()
 {
     ProviderHelper = new ProviderHelper<SalesforceProvider, ProviderCollection<SalesforceProvider>>("salesforce/salesforceManager");
 }