/// <summary> /// Writes the class diagram. /// </summary> /// <param name="enum">The enum.</param> /// <returns></returns> internal static string WriteClassDiagram(Models.Enum @enum) { string markup = Templates.Descriptor; markup = markup.Replace(TypeElement, "enum ").Replace(NameElement, @enum.Name).Replace(ProtoTypeElement, "").Replace(StereoTypeElement, ""); string Body = string.Empty; foreach (var num in @enum.Values) { Body += (num.Key + ":" + num.Value.ToString()) + Environment.NewLine; } markup = markup.Replace(BodyElement, Body); return(markup); }
/// <summary> /// Converts to enum. /// </summary> /// <param name="type">The type.</param> /// <returns></returns> private static Models.Enum ConvertToEnum(Type type) { Dictionary <object, object> Values = new Dictionary <object, object>(); type.GetFields().ToList().ForEach((e) => { if (e.FieldType.IsEnum) { Values.Add(e.Name, e.GetRawConstantValue()); } }); var @enum = new Models.Enum { Name = Regex.Replace(type.Name, TypingSetter, ""), Values = Values }; @enum.Diagram = string.Format(Templates.PsuedoCode, AssemblyDiagrammer.WriteClassDiagram(@enum)); @enum.DiagramUrl = DiagramService.GetImageUrlForSource(@enum.Diagram, "svg"); @enum.Documentation = ""; return(@enum); }