Example #1
0
        private static bool IsCustomMode(GuidGeneratorMode mode)
        {
            switch (mode)
            {
            case GuidGeneratorMode.Pattern:
                return(true);

            default:
                return(false);
            }
        }
Example #2
0
        private string GetGuidString(GuidGeneratorMode mode, string pattern)
        {
            switch (mode)
            {
            case GuidGeneratorMode.Pattern:
            {
                if (String.IsNullOrEmpty(pattern))
                {
                    return(String.Empty);
                }

                var inputList = Regex.Matches(pattern, @"\{[0-9]+\}").OfType <Match>().Select(x => int.Parse(x.Value.Trim(new[] { '{', '}' })));
                var count     = inputList.Max() + 1;

                var items = Enumerable.Range(0, count).Select(x => Guid.NewGuid().ToString().ToUpper()).Cast <object>().ToList();
                return(string.Format(pattern, items.ToArray()));
            }

            case GuidGeneratorMode.Attribute:
                return(string.Format("[Guid(\"{0}\")]", CurrentId));

            case GuidGeneratorMode.Tag:
                return(string.Format("<Guid(\"{0}\")>", CurrentId));

            case GuidGeneratorMode.Registry:
                return(string.Format("{0:B}", CurrentId));

            case GuidGeneratorMode.Structure:
            {
                var id      = CurrentId;
                var builder = new StringBuilder();
                builder.AppendFormat("// {0:B}", id);
                builder.AppendLine();
                builder.AppendFormat("static const GUID <<name>> = {0:X}", id);

                return(builder.ToString());
            }

            case GuidGeneratorMode.ComDefine:
                return(CreateComGuid("DEFINE_GUID(<<name>>,"));

            case GuidGeneratorMode.ComImplement:
                return(CreateComGuid("IMPLEMENT_OLECREATE(<<class>, <<external_name>>,"));

            default:
                return(string.Empty);
            }
        }
        private string GetGuidString(GuidGeneratorMode mode, string pattern)
        {
            switch (mode)
            {
                case GuidGeneratorMode.Pattern:
                    {
                        if (String.IsNullOrEmpty(pattern))
                        {
                            return String.Empty;
                        }

                        var inputList = Regex.Matches(pattern, @"\{[0-9]+\}").OfType<Match>().Select(x => int.Parse(x.Value.Trim(new[] { '{', '}' })));
                        var count = inputList.Max() + 1;

                        var items = Enumerable.Range(0, count).Select(x => Guid.NewGuid().ToString().ToUpper()).Cast<object>().ToList();
                        return string.Format(pattern, items.ToArray());
                    }

                case GuidGeneratorMode.Attribute:
                    return string.Format("[Guid(\"{0}\")]", CurrentId);

                case GuidGeneratorMode.Tag:
                    return string.Format("<Guid(\"{0}\")>", CurrentId);
                case GuidGeneratorMode.Registry:
                    return string.Format("{0:B}", CurrentId);

                case GuidGeneratorMode.Structure:
                    {
                        var id = CurrentId;
                        var builder = new StringBuilder();
                        builder.AppendFormat("// {0:B}", id);
                        builder.AppendLine();
                        builder.AppendFormat("static const GUID <<name>> = {0:X}", id);

                        return builder.ToString();
                    }

                case GuidGeneratorMode.ComDefine:
                    return CreateComGuid("DEFINE_GUID(<<name>>,");

                case GuidGeneratorMode.ComImplement:
                    return CreateComGuid("IMPLEMENT_OLECREATE(<<class>, <<external_name>>,");

                default:
                    return string.Empty;
            }
        }
 private static bool IsCustomMode(GuidGeneratorMode mode)
 {
     switch (mode)
     {
         case GuidGeneratorMode.Pattern:
             return true;
         default:
             return false;
     }
 }