Beispiel #1
0
 public TaggedItem(Guid contextId, Guid taggedId, TagContextType contextType, TaggedType taggedType)
 {
     ContextID   = contextId;
     TaggedID    = taggedId;
     ContextType = contextType;
     TaggedType  = taggedType;
 }
 public static bool ParseTaggedText(
     string tagged,
     out string native,
     out string proxyName,
     out string context,
     out int processId,
     ref CultureInfo culture,
     out TaggedType textType)
 {
     return(TaggedTextHelpers.ParseTaggedText(tagged: tagged, native: out native, proxyName: out proxyName, context: out context, processId: out processId, culture: ref culture, textType: out textType));
 }
        private static void _parse_tagged_items(ref IDataReader reader, ref List <TaggedItem> retItems)
        {
            while (reader.Read())
            {
                try
                {
                    TaggedItem item = new TaggedItem();

                    if (!string.IsNullOrEmpty(reader["ID"].ToString()))
                    {
                        item.TaggedID = (Guid)reader["ID"];
                    }

                    TaggedType tt = TaggedType.None;
                    if (Enum.TryParse <TaggedType>(reader["Type"].ToString(), out tt))
                    {
                        item.TaggedType = tt;
                    }
                    else
                    {
                        continue;
                    }

                    if (tt == TaggedType.Node_Form || tt == TaggedType.Node_Wiki)
                    {
                        tt = TaggedType.Node;
                    }

                    retItems.Add(item);
                }
                catch { }
            }

            if (!reader.IsClosed)
            {
                reader.Close();
            }
        }
Beispiel #4
0
 public TagObject(string nodeId, string url, string label, string @ref, string sha, User user, Repository repository, TaggedType type)
     : base(nodeId, url, label, @ref, sha, user, repository)
 {
     Type = type;
 }
Beispiel #5
0
 public TagObject(string url, string label, string @ref, string sha, User user, Repository repository, TaggedType type)
     : base(url, label, @ref, sha, user, repository)
 {
     Type = type;
 }
Beispiel #6
0
        public static string CreateTaggedText(
            TaggedType textType,
            string nativeText,
            string context,
            int processId,
            CultureInfo culture,
            string proxyName)
        {
            Validate.ArgumentNotNull(parameter: culture, parameterName: nameof(culture));
            var    flag = true;
            string str;

            switch (textType)
            {
            case TaggedType.Unknown:
                str  = nativeText;
                flag = false;
                break;

            case TaggedType.LocalizableText:
                str = "°<ªLoc>";
                break;

            case TaggedType.ResourceKey:
                str = "°<ªKey>";
                break;

            case TaggedType.FixedText:
                str = "°<ªFix>";
                break;

            default:
                throw new ArgumentException(message: StringResource.Get(id: "InvalidTaggedType", (object)textType));
            }

            if (flag)
            {
                var stringWriter = new StringWriter(formatProvider: CultureInfo.InvariantCulture);
                var xmlWriter    = XmlWriter.Create(output: stringWriter);
                try {
                    xmlWriter.WriteStartElement(localName: "info");
                    xmlWriter.WriteStartAttribute(localName: nameof(context), ns: string.Empty);
                    xmlWriter.WriteString(text: context);
                    xmlWriter.WriteEndAttribute();
                    xmlWriter.WriteStartAttribute(localName: "native", ns: string.Empty);
                    xmlWriter.WriteString(text: nativeText);
                    xmlWriter.WriteEndAttribute();
                    xmlWriter.WriteStartAttribute(localName: "proc_id", ns: string.Empty);
                    xmlWriter.WriteString(text: processId.ToString(provider: CultureInfo.InvariantCulture));
                    xmlWriter.WriteEndAttribute();
                    xmlWriter.WriteStartAttribute(localName: "cultureName", ns: string.Empty);
                    xmlWriter.WriteString(text: culture.DisplayName);
                    xmlWriter.WriteEndAttribute();
                    xmlWriter.WriteStartAttribute(localName: "proxy", ns: string.Empty);
                    xmlWriter.WriteString(text: proxyName);
                    xmlWriter.WriteEndAttribute();
                    xmlWriter.WriteEndElement();
                } finally {
                    xmlWriter.Flush();
                    xmlWriter.Dispose();
                    str += stringWriter.ToString();
                }
            }

            return(str);
        }
Beispiel #7
0
        public static bool ParseTaggedText(
            string tagged,
            out string native,
            out string proxyName,
            out string context,
            out int processId,
            ref CultureInfo culture,
            out TaggedType textType)
        {
            Validate.ArgumentNotNull(parameter: tagged, parameterName: nameof(tagged));
            var flag = true;
            var str  = string.Empty;
            var s    = string.Empty;

            if (tagged.Length > _prefixLength)
            {
                str = tagged.Substring(startIndex: 0, length: _prefixLength);
                s   = tagged.Substring(startIndex: _prefixLength);
            }

            proxyName = string.Empty;
            context   = string.Empty;
            processId = 0;
            native    = string.Empty;
            culture   = null;
            if (!(str == "°<ªKey>"))
            {
                if (!(str == "°<ªFix>"))
                {
                    if (str == "°<ªLoc>")
                    {
                        textType = TaggedType.LocalizableText;
                    }
                    else
                    {
                        textType = TaggedType.Unknown;
                        native   = tagged;
                        flag     = false;
                    }
                }
                else
                {
                    textType = TaggedType.FixedText;
                }
            }
            else
            {
                textType = TaggedType.ResourceKey;
            }

            if (flag)
            {
                var xmlReader = XmlReader.Create(input: new StringReader(s: s));
                try {
                    var content = (int)xmlReader.MoveToContent();
                    if (xmlReader.MoveToAttribute(name: nameof(context)))
                    {
                        context = xmlReader.Value;
                    }
                    if (xmlReader.MoveToAttribute(name: "proc_id"))
                    {
                        processId = XmlConvert.ToInt32(s: xmlReader.Value);
                    }
                    if (xmlReader.MoveToAttribute(name: "proxy"))
                    {
                        proxyName = xmlReader.Value;
                    }
                    if (xmlReader.MoveToAttribute(name: "cultureName"))
                    {
                        culture = new CultureInfo(name: xmlReader.Value);
                    }
                    if (xmlReader.MoveToAttribute(name: nameof(native)))
                    {
                        native = xmlReader.Value;
                    }
                } finally {
                    xmlReader.Dispose();
                }
            }

            return(true);
        }
Beispiel #8
0
 public TaggedItem()
 {
     ContextType = TagContextType.None;
     TaggedType  = TaggedType.None;
 }
 public static List <TaggedItem> get_tagged_items(Guid applicationId, Guid contextId, TaggedType taggedType)
 {
     return(get_tagged_items(applicationId, contextId, new List <TaggedType>()
     {
         taggedType
     }));
 }