public void ShouldHaveCorrectNames()
        {
            var _browser = new NameSpaces();
            var ns       = _browser.UploadNameSpaces(Directory.GetCurrentDirectory() + "\\forTests");

            Assert.AreEqual("Faker", ns[0].Classes[0].Name);
        }
        public void ShouldHave13Method()
        {
            var _browser = new NameSpaces();
            var ns       = _browser.UploadNameSpaces(Directory.GetCurrentDirectory() + "\\forTests");

            Assert.AreEqual(13, ns[0].Classes[0].Methods.Count);
        }
        public void ShouldNotBeNull()
        {
            var _browser = new NameSpaces();
            var ns       = _browser.UploadNameSpaces(Directory.GetCurrentDirectory() + "\\forTests");

            Assert.IsNotNull(ns);
        }
        public void ShouldContain2Classes()
        {
            var _browser = new NameSpaces();
            var ns       = _browser.UploadNameSpaces(Directory.GetCurrentDirectory() + "\\forTests");

            Assert.AreEqual(2, ns[0].Classes.Count);
        }
Ejemplo n.º 5
0
        /// <summary>分析命名空间</summary>
        /// <param name="code"></param>
        /// <returns></returns>
        String ParseNameSpace(String code)
        {
            var sb = new StringBuilder();

            var ss = code.Split(new String[] { Environment.NewLine }, StringSplitOptions.None);

            foreach (var item in ss)
            {
                // 提取命名空间
                if (!String.IsNullOrEmpty(item))
                {
                    var line = item.Trim();
                    if (line.StartsWith("using ") && line.EndsWith(";"))
                    {
                        var len = "using ".Length;
                        line = line.Substring(len, line.Length - len - 1);
                        if (!NameSpaces.Contains(line))
                        {
                            NameSpaces.Add(line);
                        }
                        // 不能截断命名空间,否则报错行号会出错
                        sb.AppendLine();
                        continue;
                    }
                }

                sb.AppendLine(item);
            }

            return(sb.ToString().Trim());
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Indicates that an event should be shown
        /// </summary>
        /// <param name="evt"></param>
        /// <returns></returns>
        public bool VisibleEvent(ModelEvent evt)
        {
            bool retVal = true;

            // Check event type
            retVal = retVal && (!(evt is Expect) || Expect);
            retVal = retVal && (!(evt is RuleFired) || RuleFired);
            retVal = retVal && (!(evt is VariableUpdate) || VariableUpdate);

            // Check event namespace
            if (retVal)
            {
                if (evt.NameSpace != null)
                {
                    retVal = NameSpaces.Contains(evt.NameSpace);
                }
            }

            // Keep messages that match the regular expression
            if (!Utils.Utils.isEmpty(RegExp))
            {
                Regex regularExpression = new Regex(RegExp);
                retVal = retVal || regularExpression.IsMatch(evt.Message);
            }

            // Ignore those internal events
            retVal = retVal && (!(evt is ExpectationStateChange));
            retVal = retVal && (!(evt is SubStepActivated));

            return(retVal);
        }
Ejemplo n.º 7
0
        /// <summary>
        ///     Indicates that an event should be shown
        /// </summary>
        /// <param name="evt"></param>
        /// <returns></returns>
        public bool VisibleEvent(ModelEvent evt)
        {
            bool retVal = true;

            // Check event type
            // ReSharper disable once ConditionIsAlwaysTrueOrFalse
            retVal = retVal && (!(evt is Expect) || Expect);
            retVal = retVal && (!(evt is RuleFired) || RuleFired);

            // Ignore the following internal events
            retVal = retVal && (!(evt is ExpectationStateChange));
            retVal = retVal && (!(evt is SubStepActivated));

            if (retVal)
            {
                // Checks the variable update
                VariableUpdate variableUpdate = evt as VariableUpdate;
                if (variableUpdate != null)
                {
                    if (VariableUpdate)
                    {
                        // Do not filter out variables updates for which the rule is not available
                        // because these updates are related to test steps or external input (using EFS service)
                        if (variableUpdate.Action.RuleCondition != null)
                        {
                            retVal = false;
                            foreach (Variable variable in Variables)
                            {
                                retVal = variableUpdate.Changes.ImpactVariable(variable);
                                if (retVal)
                                {
                                    break;
                                }
                            }
                        }
                    }
                    else
                    {
                        retVal = false;
                    }
                }
                else
                {
                    // Check event namespace
                    if (evt.NameSpace != null)
                    {
                        retVal = NameSpaces.Contains(evt.NameSpace);
                    }
                }
            }

            // Keep messages that match the regular expression
            if (!Util.isEmpty(RegExp))
            {
                Regex regularExpression = new Regex(RegExp);
                retVal = retVal || regularExpression.IsMatch(evt.Message);
            }

            return(retVal);
        }
Ejemplo n.º 8
0
        public Class(string name, string nameSpace, List <string> refrences, List <string> attributes)
            : this(name, nameSpace)
        {
            this.Refrences  = refrences;
            this.Attributes = attributes;

            Refrences.ForEach(r => NameSpaces.Add(r));
        }
Ejemplo n.º 9
0
 public NetflixTimedText()
 {
     NameSpaces.Add(new XmlNameSpace
     {
         Prefix = "profile",
         Url    = "http://www.netflix.com/ns/ttml/profile/nflx-tt"
     });
 }
Ejemplo n.º 10
0
 public IExclusions AsReadOnly()
 {
     return(new Exclusions
     {
         NameSpaces = NameSpaces.ToList().AsReadOnly(),
         Types = Types.ToList().AsReadOnly()
     });
 }
Ejemplo n.º 11
0
 public TypeCreator AddNameSpace(string name)
 {
     if (!NameSpaces.Contains(name))
     {
         NameSpaces.Add(name);
     }
     return(this);
 }
Ejemplo n.º 12
0
        /// <summary>
        /// Build the final response <code>Document</code>.<br />
        /// Before the<code>Document</code> is generated all attributes will be validated.<br />
        /// <br />
        /// A<code> Document</code> is generated each time this method is called.Calling this method multiple times will therefore return multiple objects.
        /// </summary>
        /// <returns></returns>
        public override XDocument Build()
        {
            var document = CreateDocument();

            SealUtilities.CheckAndSetSamlDsPreFix(document);
            NameSpaces.SetMissingNamespaces(document);
            if (SigningVault != null)
            {
                var signer    = new SealSignedXml(document);
                var signedXml = signer.Sign(SigningVault.GetSystemCredentials());
                var xDocument = XDocument.Parse(signedXml.OuterXml, LoadOptions.PreserveWhitespace);

                return(xDocument);
            }
            return(document);
        }
Ejemplo n.º 13
0
        public void Condense()
        {
            NameSpaces.Clear();
            foreach (TypeReference tref in ContainedTypes)
            {
                string nmspace = TypeVertex.GetNamespace(tref);

                if (this.NameSpaces.ContainsKey(nmspace))
                {
                    this.NameSpaces[nmspace]++;
                }
                else
                {
                    this.NameSpaces[nmspace] = 1;
                }
            }
        }
        private ChoCodeDomProvider ConstructOperation(object value)
        {
            if (_defaultValueCodeSnippet.IsNullOrEmpty())
            {
                return(null);
            }

            string[] namespaces = NameSpaces.IsNullOrWhiteSpace() ? null : NameSpaces.SplitNTrim(';');

            int opi = this._defaultValueCodeSnippet.IndexOf("=>");

            if (opi < 0)
            {
                return(null);         // throw new Exception("No lambda operator =>");
            }
            string param = this._defaultValueCodeSnippet.Substring(0, opi).NTrim();

            if (Language == ChoCodeProviderLanguage.VB)
            {
                if (!ChoCodeDomProvider.IsValidVBIdentifier(param))
                {
                    throw new ApplicationException("Invalid VB identifier found.");
                }
            }
            else
            {
                if (!ChoCodeDomProvider.IsValidCSharpIdentifier(param))
                {
                    throw new ApplicationException("Invalid C# identifier found.");
                }
            }

            string codeBlock = this._defaultValueCodeSnippet.Substring(opi + 2).NTrim();

            if (!codeBlock.Contains(";") && !codeBlock.StartsWith("return"))
            {
                codeBlock = "return {0};".FormatString(codeBlock);
            }

            var cd = new ChoCodeDomProvider(new string[] { codeBlock }, namespaces, Language);

            cd.BuildFunc(param, ParamType == null ? value.GetType() : ParamType);

            return(cd);
        }
Ejemplo n.º 15
0
        public string SendBill(string invoiceId)
        {
            var invoice  = _repository.GetInvoice(invoiceId);
            var fileName = "20100066603-01-F001-1";
            var envelope = _repository.GetEnvelope(GetEnvelopeOptions(fileName));
            var request  = _requestManager.CreateWebRequest(GetRequestOptions());

            string soapStr    = _serializer.Serialize(envelope, null, NameSpaces.GetEnvelopeNamespaces(), true);
            string invoiceStr = _serializer.Serialize(invoice, NameSpaces.DEFAULT, NameSpaces.GetInvoiceNamespaces());

            var zippedBytes = _zipper.Zip(fileName, invoiceStr);

            var soapBuilderRequest = GetSoapBuilderRequest(request, soapStr, zippedBytes, fileName);

            //updates the web request with encoding, soap header, file content.
            _soapBuilder.Build(soapBuilderRequest);

            return(_client.SendBill(request));
        }
Ejemplo n.º 16
0
        private static void GenerateExtension()
        {
            IDictionary <string, DataTableProcessor.DataProcessor> datableDataProcessors =
                new SortedDictionary <string, DataTableProcessor.DataProcessor>();
            IDictionary <string, DataTableProcessor.DataProcessor> binaryReaderDataProcessors =
                new SortedDictionary <string, DataTableProcessor.DataProcessor>();
            var dataProcessorBaseType = typeof(DataTableProcessor.DataProcessor);
            var types = GetTypeNames(dataProcessorBaseType);

            for (var i = 0; i < types.Count; i++)
            {
                if (!types[i].IsClass || types[i].IsAbstract || types[i].ContainsGenericParameters)
                {
                    continue;
                }

                if (dataProcessorBaseType.IsAssignableFrom(types[i]))
                {
                    DataTableProcessor.DataProcessor dataProcessor = null;
                    dataProcessor = (DataTableProcessor.DataProcessor)Activator.CreateInstance(types[i]);
                    if (dataProcessor.IsComment || dataProcessor.IsId || dataProcessor.IsEnum)
                    {
                        continue;
                    }
                    datableDataProcessors.Add(dataProcessor.LanguageKeyword, dataProcessor);
                }
            }

            AddEnumType(datableDataProcessors);
            NameSpaces.Add("System");
            NameSpaces.Add("System.IO");
            NameSpaces.Add("System.Collections.Generic");
            NameSpaces.Add("UnityEngine");
            NameSpaces = NameSpaces.Distinct().ToList();
            GenerateDataTableExtensionArray(datableDataProcessors);
            GenerateDataTableExtensionList(datableDataProcessors);
            GenerateBinaryReaderExtensionList(datableDataProcessors);
            GenerateBinaryReaderExtensionArray(datableDataProcessors);
            GenerateDataTableExtensionDictionary(datableDataProcessors);
            GenerateBinaryReaderExtensionDictionary(datableDataProcessors);
            AssetDatabase.Refresh();
        }
        public override void WriteNamespace(NamespaceDeclaration namespaceDeclaration)
        {
            if (this.currentDepth == 0)
            {
                //we need to track every namespace alias appeared in root element to figure out right alias for MC namespace
                this.rootLevelNamespaces.Add(namespaceDeclaration.Prefix);

                //Remember namespaces needed to be ignored at top level so we will add ignore attribute for them when we write start object
                if (NameSpaces.ShouldIgnore(namespaceDeclaration.Namespace))
                {
                    this.namespacesToIgnore.Add(namespaceDeclaration.Prefix);
                }

                if (namespaceDeclaration.Namespace == NameSpaces.DebugSymbol)
                {
                    debugSymbolNamespaceAdded = true;
                }
            }

            EmitNamespace(namespaceDeclaration);
        }
Ejemplo n.º 18
0
    /// <summary>
    /// The event handler for the create namespace button click
    /// </summary>
    /// <param name="sender">The button control that was clicked</param>
    /// <param name="e">Any arguments that are associated with the event</param>
    protected void btnCreate_Click(object sender, EventArgs e)
    {
        // Check to make sure that we are not creating an existsing namespace
        if (CheckToMakeSureNameDoesNotAlreadyExist(tbNewName.Text))
        {
            // The name already exists!
            txtWarning.Height = new Unit("26px");
            txtWarning.Visible = true;
            txtWarning.Text = "That namespace already exists!";
            return;
        }

        // Create a namespace object that will create the new namespace for the site
        NameSpaces siteNameSpaces = new NameSpaces(_basePage);
        int id = siteNameSpaces.AddNameSpaceForSite(_basePage.CurrentSite.SiteID, tbNewName.Text);
        tblNameSpaces.Rows.Add(CreateNameSpaceTableItem(new NameSpaceItem(tbNewName.Text,id)));
    }
Ejemplo n.º 19
0
    /// <summary>
    /// The event handler for the show phrases button clicks
    /// </summary>
    /// <param name="sender">The button controls that was clicked</param>
    /// <param name="e">Any arguments associated with the event</param>
    protected void OnShowButtonClick(object sender, EventArgs e)
    {
        // Check to make sure the button clicked was a show button
        Button btClicked = ((Button)sender);
        if (btClicked.CommandName.CompareTo("Show") == 0)
        {
            // Get the ID From the command argument and find the table row that is associated with the namespace item
            string cmdArg = btClicked.CommandArgument;
            int ID = Convert.ToInt32(cmdArg.Substring(4));
            TableRow nameSpaceRow = (TableRow)FindControl("namespaceitem" + ID);
            int index = tblNameSpaces.Rows.GetRowIndex(nameSpaceRow);

            // Get all the phrases for the item and insert it into the table under the namespace
            NameSpaces siteNameSpaces = new NameSpaces(_basePage);
            List<string> phrases = siteNameSpaces.GetPhrasesForNameSpaceItem(_basePage.CurrentSite.SiteID,ID);
            tblNameSpaces.Rows.AddAt(index + 1, CreatePhrasesForItem(ID, phrases));
        }
    }
Ejemplo n.º 20
0
    /// <summary>
    /// The event handler for the delete button clicks
    /// </summary>
    /// <param name="sender">The button control that was clicked</param>
    /// <param name="e">Any arguments that are associated with the event</param>
    protected void OnDeleteButtonClick(object sender, EventArgs e)
    {
        // Make sure the button clicked was a delete button
        Button btClicked = ((Button)sender);
        if (btClicked.CommandName.CompareTo("Delete") == 0)
        {
            // Now get the id from the command argument and delete the namespace from the database
            string cmdArg = btClicked.CommandArgument;
            int ID = Convert.ToInt32(cmdArg.Substring(4));
            NameSpaces siteNameSpaces = new NameSpaces(_basePage);
            siteNameSpaces.RemoveNameSpaceForSite(_basePage.CurrentSite.SiteID, ID);

            // Remove the row from the table that contains the namespace in question
            TableRow removeRow = (TableRow)FindControl("namespaceitem" + ID);
            if (removeRow != null)
            {
                tblNameSpaces.Rows.Remove(removeRow);
            }
        }
    }
Ejemplo n.º 21
0
    /// <summary>
    /// The Event handler method for the renames button click
    /// </summary>
    /// <param name="sender">The button control that was clicked</param>
    /// <param name="e">Any arguments that are associated with the event</param>
    protected void OnRenameButtonClick(object sender, EventArgs e)
    {
        // Make sure the button that was clicked was a rename button
        Button btClicked = ((Button)sender);
        if (btClicked.CommandName.CompareTo("Rename") == 0)
        {
            // Now get the textbox that was defined in the command argument
            TextBox textBox = (TextBox)FindControl(btClicked.CommandArgument);
            if (textBox != null)
            {
                // Get the id of the namespace and rename the item with the text in the text box
                string cmdArg = btClicked.CommandArgument;
                int ID = Convert.ToInt32(cmdArg.Substring(4));

                // Check to make sure that we're not creating an existsing namespace
                if (CheckToMakeSureNameDoesNotAlreadyExist(textBox.Text))
                {
                    // Now put the textbox back to it's original value
                    string original = GetOriginalTextForTextBox(textBox.Text);
                    if (original != "")
                    {
                        // The name already exists!
                        textBox.Text = original;
                        txtWarning.Height = new Unit("26px");
                        txtWarning.Visible = true;
                        txtWarning.Text = "A namespace already exists with that name!";
                    }
                    return;
                }

                // Rename the namespace to it's new name
                NameSpaces siteNameSpaces = new NameSpaces(_basePage);
                siteNameSpaces.RenameNameSpaceForSite(_basePage.CurrentSite.SiteID, ID, textBox.Text);
            }
        }
    }
Ejemplo n.º 22
0
            public void Run(XmlWriter writer, List <XmlNameSpace> XmlNs)
            {
                switch (Type)
                {
                case BufferCommands.NewElement:
                    var isTemplate = Name == TemplateKey;
                    foreach (var scope in Repeater())
                    {
                        Scope = scope;
                        if (!If())
                        {
                            continue;
                        }
                        if (!isTemplate)
                        {
                            if (XmlNs.Count > 0)
                            {
                                string[] EleNames = Name.Split(':');
                                if (EleNames.Length > 1)
                                {
                                    string RealName = EleNames.Last();
                                    if (NsElement)
                                    {
                                        var NameSpace = NameSpaces[0];
                                        writer.WriteStartElement(EleNames[0], RealName, NameSpace.Value);
                                        for (int i = 0; i < NameSpaces.Count(); i++)
                                        {
                                            if (NameSpaces[i].Name != NameSpace.Name)
                                            {
                                                writer.WriteAttributeString(NameSpaces[i].Prefix, NameSpaces[i].Name, null, NameSpaces[i].Value);
                                            }
                                        }
                                    }
                                    else     //Children use ns
                                    {
                                        var NameSpace = XmlNs.FirstOrDefault(x => x.Name == EleNames[0]);
                                        writer.WriteStartElement(RealName, NameSpace.Value);
                                    }
                                }
                                else
                                {
                                    if (NsElement)
                                    {
                                        writer.WriteStartElement(Name, NameSpaces[0].Value);
                                        for (int i = 0; i < NameSpaces.Count(); i++)
                                        {
                                            if (NameSpaces[i].Name != NameSpaces[0].Name)
                                            {
                                                writer.WriteAttributeString(NameSpaces[i].Prefix, NameSpaces[i].Name, null, NameSpaces[i].Value);
                                            }
                                        }
                                    }
                                    else
                                    {
                                        writer.WriteStartElement(Name);
                                    }
                                }
                            }
                            else
                            {
                                writer.WriteStartElement(Name);
                            }
                        }

                        foreach (var attribute in Attributes.Where(attribute => attribute.Name != RepeaterKey &&
                                                                   attribute.Name != IfKey))
                        {
                            if (attribute.Name.Contains(':'))
                            {
                                string[] AttNames = Name.Split(':');
                                writer.WriteAttributeString(AttNames[0], AttNames[1], null, Inject(attribute.Value));
                            }
                            else
                            {
                                writer.WriteAttributeString(attribute.Name, Inject(attribute.Value));
                            }
                        }
                        foreach (var child in Children)
                        {
                            child.Run(writer, XmlNs);
                        }
                        if (!isTemplate)
                        {
                            writer.WriteEndElement();
                        }
                    }
                    break;

                case BufferCommands.StringContent:
                    writer.WriteString(Inject(Value));
                    break;
                }
            }
Ejemplo n.º 23
0
        private static bool InternalValidate(XElement signatureToValidate, Federation.Federation federation, ICredentialVault vault, bool checkForTrustedCertificates, bool checkRevoked)
        {
            if (signatureToValidate.NodeType != XmlNodeType.Element)
            {
                throw new ModelException("The signature to validate must be a ds:Signature Element!");
            }

            var xml = new XmlDocument();

            xml.Load(signatureToValidate.CreateReader());

            bool isAssertion = false;
            var  nsManager   = NameSpaces.MakeNsManager(xml.NameTable);
            var  sig         = xml.SelectSingleNode("/soap:Envelope/soap:Header/wsse:Security/ds:Signature", nsManager) as XmlElement;

            if (sig == null)
            {
                sig         = xml.SelectSingleNode("/saml:Assertion/ds:Signature", nsManager) as XmlElement;
                isAssertion = true;
                if (sig == null)
                {
                    sig         = xml.GetElementsByTagName("Signature", NameSpaces.ds)[0] as XmlElement;
                    isAssertion = true;
                }
            }
            if (sig == null)
            {
                return(false);
            }
            var signature = new Signature();

            sig = MakeSignatureCheckSamlCompliant(sig);
            signature.LoadXml(sig);
            var cert = signature.KeyInfo.Cast <KeyInfoX509Data>().Select(d => d.Certificates[0] as X509Certificate2).FirstOrDefault(c => c != null);

            if (!ConfigurationManager.AppSettings.AllKeys.Contains("CheckDate") || !ConfigurationManager.AppSettings["CheckDate"].ToLower().Equals("false"))
            {
                //check if certificate is expired or cannot be used yet
                if (!CheckDates(cert))
                {
                    return(false);
                }
            }


            //Check that the certificate used for validation is trusted. If a Federation has been specified
            //the signature must have been created by the STS. If no federation is specified, the
            //certificate must be trusted in the CredentialVault.
            if (checkForTrustedCertificates)
            {
                var trusted = false;
                if (federation != null)
                {
                    trusted = federation.IsValidSTSCertificate(cert);
                }
                else if (vault != null)
                {
                    trusted = vault.IsTrustedCertificate(cert);
                }
                if (!trusted)
                {
                    throw new ModelException("The certificate that signed the security token is not trusted!");
                }
            }
            // check the certificates CRL if the certificate is revoked
            if (checkRevoked)
            {
                CrlCertificateStatusChecker crlChecker = new CrlCertificateStatusChecker();
                var isValid = crlChecker.GetRevocationStatus(cert).IsValid;
                if (!isValid)
                {
                    throw new ModelException("The certificate or one in its certificate chain has been revoked!");
                }
            }

            // check if xml is actually signed with key sent in message
            var signed = new SealSignedXml(signatureToValidate);

            if (isAssertion)
            {
                return(signed.CheckAssertionSignature());
            }
            return(signed.CheckEnvelopeSignature());
        }
        public override void OnPageLoad()
		{
            Context.Items["VirtualUrl"] = "EditDynamicListDefinition";
            //UseDotNetRendering = true;
			if ( Page.IsPostBack )
				return;

            CustomValidator.IsValid = true;
            if (!IsDnaUserAllowed())
            {
                CustomValidator.IsValid = false;
                return;
            }

			//Sort options
			cmbSort.Items.Add(new ListItem("Date Created","DATECREATED"));
			cmbSort.Items.Add(new ListItem("Date Updated","DATEUPDATED"));
			cmbSort.Items.Add(new ListItem("Rating","RATING"));
			cmbSort.Items.Add(new ListItem("Vote Count","VOTECOUNT"));
			cmbSort.Items.Add(new ListItem("Significance","SIGNIFICANCE"));
            cmbSort.Items.Add(new ListItem("Bookmark Count","BOOKMARKCOUNT"));
			cmbSort.Items.Add(new ListItem("Event Date","EVENTDATE"));
            cmbSort.Items.Add(new ListItem("PostCount (CommentForums)", "COMMENTCOUNT"));

			//Type 
			cmbType.Items.Add(new ListItem("Topics","TOPICFORUMS"));
			cmbType.Items.Add(new ListItem("Articles","ARTICLES"));
			cmbType.Items.Add(new ListItem("Forums","FORUMS"));
            cmbType.Items.Add(new ListItem("CommentForums","COMMENTFORUMS"));
			cmbType.Items.Add(new ListItem("Clubs","CLUBS"));
			cmbType.Items.Add(new ListItem("Threads","THREADS"));
			cmbType.Items.Add(new ListItem("Categories","CATEGORIES"));
			cmbType.Items.Add(new ListItem("Users","USERS"));
			cmbType.Items.Add(new ListItem("Campaign Diary Entries","CAMPAIGNDIARYENTRIES"));

			//Status options
			cmbStatus.Items.Add(new ListItem("All","ALL"));
			cmbStatus.Items.Add(new ListItem("Submittable - 1","1"));
			cmbStatus.Items.Add(new ListItem("Referred - 2","2"));
			cmbStatus.Items.Add(new ListItem("Pre-Moderation - 3","3"));
			cmbStatus.Items.Add(new ListItem("Considered/Submitted - 4","4"));
			cmbStatus.Items.Add(new ListItem("Locked by Editor - 5","5"));
			cmbStatus.Items.Add(new ListItem("Awaiting Approval - 6","6"));
			cmbStatus.Items.Add(new ListItem("Deleted - 7","7"));
			cmbStatus.Items.Add(new ListItem("User Entry Locked by Staff - 8","8"));
			cmbStatus.Items.Add(new ListItem("Key Article - 9","9"));
			cmbStatus.Items.Add(new ListItem("General Page - 10","10"));
			cmbStatus.Items.Add(new ListItem("Awaiting Rejection - 11","11"));
			cmbStatus.Items.Add(new ListItem("Awaiting Editors Decision - 12","12"));
			cmbStatus.Items.Add(new ListItem("Awaiting to go Official - 13","13"));

            int m = 1;
            foreach (string month in months)
            {
                cmbStartMonth.Items.Add(new ListItem(month, Convert.ToString(m)));
                cmbEndMonth.Items.Add(new ListItem(month, Convert.ToString(m)));
                ++m;
            }

            for (int i = 1900; i <= 2100; ++i)
            {
                cmbStartYear.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
                cmbEndYear.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
            }
            CalStartDate.VisibleDate = DateTime.Now;
            CalEndDate.VisibleDate = DateTime.Now;

            NameSpaces siteNameSpaces = new NameSpaces(_basePage);
            List<NameSpaceItem> namespaces = siteNameSpaces.GetNameSpacesForSite(_basePage.CurrentSite.SiteID);
            cmbNameSpaces.Items.Add(new ListItem("None",string.Empty));
            foreach (NameSpaceItem n in namespaces)
            {
                cmbNameSpaces.Items.Add(new ListItem(n.Name,n.Name));
            }

            //Record ID of List being edited.
            int id = Request.GetParamIntOrZero("id", "id");
            ViewState.Add("ID", id);

			// Get details for List Definition from DB
            using (IDnaDataReader dataReader = _basePage.CreateDnaDataReader("dynamiclistgetlist"))
            {
                dataReader.AddParameter("@listid", id);
                dataReader.Execute();
                
                if (dataReader.Read())
                {
                    string sXML = dataReader.GetString("XML");

                    //Parse XML 
                    XmlDocument xmldoc = new XmlDocument();
                    xmldoc.LoadXml(sXML);

                    //Name
                    XmlNode xmlNde;
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/NAME")) != null)
                        txtName.Text = xmlNde.InnerText;

                    //Rating
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/RATING")) != null)
                        txtRating.Text = xmlNde.InnerText;

                    //BookMarks
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/BOOKMARKCOUNT")) != null)
                        txtBookmarkCount.Text = xmlNde.InnerText;

                    //Status 
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/STATUS")) != null)
                        cmbStatus.SelectedValue = xmlNde.InnerText;

                    //Type
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/TYPE")) != null)
                        cmbType.SelectedValue = xmlNde.InnerText;

                    if ( (xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/COMMENTFORUMUIDPREFIX")) != null )
                        txtCommentForumUIDPrefix.Text = xmlNde.InnerText;

                    //ArticleType
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/ARTICLETYPE")) != null)
                        txtArticleType.Text = xmlNde.InnerText;

                    //Article Date Range Start
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/ARTICLESTARTDATE")) != null)
                    {
                        DateTime startdate = DateTime.Parse(xmlNde.InnerText);
                        CalStartDate.VisibleDate = startdate;
                        CalStartDate.SelectedDate = startdate;
                        lblStartDate.Text = startdate.ToString("dd/MM/yy");
                        cmbStartYear.SelectedValue = Convert.ToString(startdate.Year);
                        cmbStartMonth.SelectedValue = Convert.ToString(startdate.Month);
                    }
                    else
                    {
                        cmbStartYear.SelectedValue = Convert.ToString(DateTime.Now.Year);
                        cmbStartMonth.SelectedValue = Convert.ToString(DateTime.Now.Month);
                    }


                    //Article Date Range End
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/ARTICLEENDDATE")) != null)
                    {
                        DateTime enddate = DateTime.Parse(xmlNde.InnerText);

                        //The end date is midnight next day. 
                        //Date range is displayed inclusive so take off a day for display.
                        enddate = enddate.AddDays(-1);
                        CalEndDate.VisibleDate = enddate;
                        CalEndDate.SelectedDate = enddate;
                        lblEndDate.Text = enddate.ToString("dd/MM/yy");
                        cmbEndYear.SelectedValue = Convert.ToString(enddate.Year);
                        cmbEndMonth.SelectedValue = Convert.ToString(enddate.Month);
                    }
                    else
                    {
                        cmbEndYear.SelectedValue = Convert.ToString(DateTime.Now.Year);
                        cmbEndMonth.SelectedValue = Convert.ToString(DateTime.Now.Month);
                    }

                    //Significance
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/SIGNIFICANCE")) != null)
                        txtSignificance.Text = xmlNde.InnerText;

                    //Date Created
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/DATECREATED")) != null)
                        txtDateCreated.Text = xmlNde.InnerText;

                    //Last Updated
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/LASTUPDATED")) != null)
                        txtLastUpdated.Text = xmlNde.InnerText;

                    //Sort.
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/SORTBY")) != null)
                        cmbSort.SelectedValue = xmlNde.InnerText;

                    //ThreadType
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/THREADTYPE")) != null)
                        txtThreadType.Text = xmlNde.InnerText;

                    //Categories
                    XmlNode xmlCategories = xmldoc.SelectSingleNode("LISTDEFINITION/CATEGORIES");
                    if (xmlCategories != null)
                    {
                        for (int i = 0; i < xmlCategories.ChildNodes.Count; i++)
                        {
                            XmlNode category = xmlCategories.ChildNodes[i];
                            XmlNode nodeid = category.SelectSingleNode("ID");
                            XmlNode name = category.SelectSingleNode("NAME");
                            ListItem item = new ListItem(name.InnerText, nodeid.InnerText);
                            lstCategories.Items.Add(item);
                        }
                    }

                    //Key Phrases
                    XmlNodeList xmlKeyPhrases = xmldoc.SelectNodes("LISTDEFINITION/KEYPHRASES/PHRASE");
                    if (xmlKeyPhrases.Count > 0)
                    {
                        for (int i = 0; i < xmlKeyPhrases.Count; ++i)
                        {
                            XmlNode xmlName = xmlKeyPhrases[i].SelectSingleNode("NAME");
                            string name = string.Empty;
                            if (xmlName != null)
                            {
                                name = xmlName.InnerText;
                            }
                            else
                            {
                                //Legacy XML support.
                                name = xmlKeyPhrases[i].InnerText;
                            }

                            string nspace = string.Empty;
                            XmlNode xmlNameSpace = xmlKeyPhrases[i].SelectSingleNode("NAMESPACE");
                            if (xmlNameSpace != null)
                            {
                                nspace = xmlNameSpace.InnerText;
                            }
                            ListItem item = new ListItem( nspace == string.Empty ? name : nspace + ":" + name,nspace + "|" + name );
                            lstKeyPhrases.Items.Add(item);
                        }
                    }


                    // VoteCount
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/VOTECOUNT")) != null)
                        txtVoteCount.Text = xmlNde.InnerText;

                    // EventDate
                    if ((xmlNde = xmldoc.SelectSingleNode("LISTDEFINITION/EVENTDATE")) != null)
                        txtEventDate.Text = xmlNde.InnerText;

                }
            }
        }
Ejemplo n.º 25
0
 public bool IsExcluded(Type type)
 {
     return(Types.Contains(type) || NameSpaces.Contains(type.Namespace));
 }
Ejemplo n.º 26
0
        private static void GenerateExtensionByAnalysis()
        {
            List <string> types = new List <string>(32);

            foreach (var dataTableFileName in DataTableConfig.DataTablePaths)
            {
                var lines       = File.ReadAllLines(dataTableFileName, Encoding.UTF8);
                var rawRowCount = lines.Length;

                var rawColumnCount = 0;
                var rawValues      = new List <string[]>();
                for (var i = 0; i < lines.Length; i++)
                {
                    var rawValue = lines[i].Split('\t');
                    for (var j = 0; j < rawValue.Length; j++)
                    {
                        rawValue[j] = rawValue[j].Trim('\"');
                    }

                    if (i == 0)
                    {
                        rawColumnCount = rawValue.Length;
                    }
                    else if (rawValue.Length != rawColumnCount)
                    {
                        throw new GameFrameworkException(Utility.Text.Format(
                                                             "Data table file '{0}', raw Column is '{2}', but line '{1}' column is '{3}'.",
                                                             dataTableFileName, i.ToString(), rawColumnCount.ToString(), rawValue.Length.ToString()));
                    }

                    rawValues.Add(rawValue);
                }

                types.AddRange(rawValues.ToArray()[2]);
                types = types.Distinct().ToList();
            }

            types.Remove("Id");
            types.Remove("#");
            types.Remove("");
            types.Remove("comment");

            List <DataTableProcessor.DataProcessor> datableDataProcessors =
                types.Select(DataTableProcessor.DataProcessorUtility.GetDataProcessor).ToList();

            NameSpaces.Add("System");
            NameSpaces.Add("System.IO");
            NameSpaces.Add("System.Collections.Generic");
            NameSpaces.Add("UnityEngine");
            NameSpaces = NameSpaces.Distinct().ToList();
            var dataProcessorsArray = datableDataProcessors
                                      .Where(_ => _.LanguageKeyword.ToLower().EndsWith("[]"))
                                      .Select(_ =>
                                              DataTableProcessor.DataProcessorUtility.GetDataProcessor(_.LanguageKeyword.ToLower()
                                                                                                       .Replace("[]", "")))
                                      .ToDictionary(_ => _.LanguageKeyword, _ => _);

            var dataProcessorsList = datableDataProcessors
                                     .Where(_ => _.LanguageKeyword.ToLower().StartsWith("list"))
                                     .Select(_ => DataTableProcessor.DataProcessorUtility.GetDataProcessor(_.LanguageKeyword.ToLower()
                                                                                                           .Replace("list", "").Replace("<", "").Replace(">", "")))
                                     .ToDictionary(_ => _.LanguageKeyword, _ => _);

            var dataProcessorsDictionary = datableDataProcessors
                                           .Where(_ => _.LanguageKeyword.ToLower().StartsWith("dictionary"))
                                           .Select(_ =>
            {
                var keyValue = _.LanguageKeyword.ToLower()
                               .Replace("dictionary", "").Replace("<", "").Replace(">", "").Split(',');
                return(new[]
                {
                    DataTableProcessor.DataProcessorUtility.GetDataProcessor(keyValue[0]),
                    DataTableProcessor.DataProcessorUtility.GetDataProcessor(keyValue[1])
                });
            }
                                                   ).ToList();

            if (dataProcessorsArray.Count > 0)
            {
                GenerateDataTableExtensionArray(dataProcessorsArray);
                GenerateBinaryReaderExtensionArray(dataProcessorsArray);
            }
            if (dataProcessorsList.Count > 0)
            {
                GenerateDataTableExtensionList(dataProcessorsList);
                GenerateBinaryReaderExtensionList(dataProcessorsList);
            }

            if (dataProcessorsDictionary.Count > 0)
            {
                GenerateDataTableExtensionDictionary(dataProcessorsDictionary);
                GenerateBinaryReaderExtensionDictionary(dataProcessorsDictionary);
            }
            AssetDatabase.Refresh();
        }