Example #1
0
        /// <summary>
        /// Formats a log list entry.
        /// </summary>
        /// <para/>
        /// If the key is null, writes just the values.
        /// <param name="entry">Log entry.</param>
        /// <param name="renderer">Renderer for log data.</param>
        private void FormatEntry(LogList entry, IDataRenderer renderer)
        {
            if (!string.IsNullOrEmpty(entry.Key))
            {
                renderer.RenderKey(entry.Key)
                .RenderInvariant(KeyValueSeparator);
            }

            renderer.RenderInvariant(ListOpening);

            if (entry.Entries.Count > 0)
            {
                foreach (var value in entry.Entries)
                {
                    if (value is ILogEntry)
                    {
                        FormatEntry((ILogEntry)value, renderer);
                    }
                    else
                    {
                        renderer.RenderValue(value.ToString());
                    }

                    renderer.RenderInvariant(ListItemSeparator);
                }

                renderer.RemoveLastCharacter(); // Removes the last separator.
            }

            renderer.RenderInvariant(ListClosing);
        }
        public void SetData(object data)
        {
            var dataProcessor = data as IDataProcessor;

            _dataProcessor     = dataProcessor ?? throw new InvalidOperationException($"Аргумент {nameof(data)} должен наследовать интерфейс {nameof(IDataProcessor)}");
            _dataProcessorInfo = new DataProcessorInfo(dataProcessor);
            _dataProcessor.Awake();

            if (_dataProcessorInfo.Outputs.Count > 1)
            {
                throw new NotImplementedException();
            }

            var output = _dataProcessorInfo.Outputs.Single();

            _outputDataRenderer = DataRendererUtil.GetRendererFor(output.Type);
            _outputDataRenderer.OnUpdateRequest       += RequestUpdate;
            _outputDataRenderer.UpdateControlsRequest += () => UpdateControlsRequest?.Invoke();

            var outputObject = output.Get();

            if (outputObject != null)
            {
                _outputDataRenderer.SetData(outputObject);
            }

            _dataProcessor.Updated += DataProcessorUpdated;
        }
        private void Clear()
        {
            _tool?.Deactivate();
            _tool = null;
            _renderer?.Dispose();
            _renderer = null;

            ClearToolPanel();
            rightPanel.Controls.Clear();
        }
Example #4
0
 /// <summary>
 /// Formats a basic key/value log entry.
 /// <para/>
 /// If the key is null, writes just the value.
 /// </summary>
 /// <param name="entry">Log entry.</param>
 /// <param name="renderer">Renderer for log data.</param>
 private void FormatEntry(LogEntry entry, IDataRenderer renderer)
 {
     if (string.IsNullOrEmpty(entry.Key))
     {
         renderer.RenderValue(entry.Value);
     }
     else
     {
         renderer.RenderKey(entry.Key)
         .RenderInvariant(KeyValueSeparator)
         .RenderValue(entry.Value);
     }
 }
        public void Dispose()
        {
            _outputDataRenderer?.Dispose();
            _outputDataRenderer = null;

            if (_dataProcessor != null)
            {
                _dataProcessor.Updated -= DataProcessorUpdated;
            }

            _dataProcessor     = null;
            _dataProcessorInfo = null;
        }
Example #6
0
        /// <inheritdoc />
        public string Format(LogLevelName level, List <ILogEntry> entries, IDataRenderer renderer)
        {
            FormatDate(TimeProvider.Now, renderer);
            FormatLevel(level, renderer);

            foreach (var entry in entries)
            {
                FormatEntry(entry, renderer);
                renderer.RenderInvariant(EntrySeparator);
            }
            renderer.RemoveLastCharacter(); // Removes the last separator.

            return(renderer.Render());
        }
        private void SetRenderer(IDataRenderer renderer)
        {
            Clear();
            //if (_renderer != null && _renderer != renderer)
            //    _renderer.OnUpdateRequest -= RendererOnUpdateRequest;

            _renderer = renderer;
            renderer.Resize(_glControl.ClientSize);

            UpdateRendererControls();
            UpdateRendererTools();

            _renderer.OnUpdateRequest       += RendererOnUpdateRequest;
            _renderer.UpdateControlsRequest += UpdateRendererControls;
        }
        public static string RenderWebApp(WebApplication webApp, IDataRenderer renderer)
        {
            var    tableDeMatiere = new TableDeMatiere();
            string entete         = RenderStyle() +
                                    renderer.RenderTitle("SONES - Portail SharePoint", 1) +
                                    renderer.RenderTitle("Documentation Fonctionnelles et Techniques\n***\n", 1);
            string t = renderer.RenderTitle("Introduction :", 2) +
                       renderer.RenderTitle("Applications web :", 2) +
                       renderer.RenderTitle("Sites :\n", 3);

            foreach (var site in webApp.Sites)
            {
                t += RenderSite(site, webApp.Features, tableDeMatiere, renderer);
            }
            return(entete + t);
        }
Example #9
0
 /// <summary>
 /// Formats a basic keylog entry.
 /// <para/>
 /// If the key is null, writes just the value.
 /// </summary>
 /// <param name="entry">Log entry.</param>
 /// <param name="renderer">Renderer for log data.</param>
 private void FormatEntry(ILogEntry entry, IDataRenderer renderer)
 {
     if (entry is LogEntry)
     {
         FormatEntry((LogEntry)entry, renderer);
     }
     else if (entry is LogObject)
     {
         FormatEntry((LogObject)entry, renderer);
     }
     else if (entry is LogList)
     {
         FormatEntry((LogList)entry, renderer);
     }
     else if (entry is LogException)
     {
         FormatEntry((LogException)entry, renderer);
     }
 }
        private static string RenderGroups(List <Group> groups, IDataRenderer renderer)
        {
            if (groups.Count == 0)
            {
                return("");
            }
            var groupTable = new DataTable();

            groupTable.Header.Add("Groupe");
            groupTable.Header.Add("Description");
            groupTable.Header.Add("Membres");
            foreach (var group in groups)
            {
                var row = new List <string>();
                row.Add(group.Name);
                row.Add(group.Description);
                var membres = new HTMLRenderer().RenderUnorderedList(group.Members);
                row.Add(membres);
                groupTable.Rows.Add(row);
            }
            return(renderer.RenderTitle("Groupes :", 7) + new HTMLRenderer().RenderTable(groupTable));
        }
Example #11
0
        /// <summary>
        /// Formats a log object entry.
        /// </summary>
        /// <para/>
        /// If the key is null, writes just the values.
        /// <param name="entry">Log entry.</param>
        /// <param name="renderer">Renderer for log data.</param>
        private void FormatEntry(LogObject entry, IDataRenderer renderer)
        {
            if (!string.IsNullOrEmpty(entry.Key))
            {
                renderer.RenderKey(entry.Key)
                .RenderInvariant(KeyValueSeparator);
            }

            renderer.RenderInvariant(ObjectOpening);

            if (entry.Entries.Count > 0)
            {
                foreach (var value in entry.Entries)
                {
                    FormatEntry(value, renderer);
                    renderer.RenderInvariant(EntrySeparator);
                }

                renderer.RemoveLastCharacter(); // Removes the last separator.
            }

            renderer.RenderInvariant(ObjectClosing);
        }
Example #12
0
 public static void SaveAndRenderData(IDataRenderer dataRenderer)
 {
     dataRenderer.SaveData();
     dataRenderer.RenderData();
     //...more...code..
 }
Example #13
0
 /// <summary>
 /// Formats the log level in the log.
 /// </summary>
 /// <param name="level">Log level name details.</param>
 /// <param name="renderer">Renderer for log data.</param>
 private void FormatLevel(LogLevelName level, IDataRenderer renderer)
 {
     renderer.RenderLevel(level.Level, string.Concat(ListOpening, level.Entry, ListClosing))
     .RenderInvariant(EntrySeparator);
 }
Example #14
0
 /// <summary>
 /// Formats the date/time in the log.
 /// </summary>
 /// <param name="date">Date/time to write to the log.</param>
 /// <param name="renderer">Renderer for log data.</param>
 public void FormatDate(DateTime date, IDataRenderer renderer)
 {
     renderer.RenderDate(date.ToString(DefaultDateTimeFormat))
     .RenderInvariant(EntrySeparator);
 }
Example #15
0
 /// <summary>
 /// Formats the log level in the log.
 /// </summary>
 /// <param name="entry">Log entry.</param>
 /// <param name="renderer">Renderer for log data.</param>
 private void FormatEntry(LogException entry, IDataRenderer renderer)
 {
     renderer.RemoveLastCharacter() // Always remove the last entry separator.
     .RenderInvariant(Environment.NewLine)
     .RenderException(entry.Details);
 }
        //public static string RenderTableOfContent(TableOfContent tableDeMatiere, IDataRenderer dataRenderer)
        //{
        //    int _lastLevel = 4;
        //    string _markdownTable = "";
        //    foreach (var titre in tableDeMatiere.Titres)
        //    {
        //        var titres = new List<string>();

        //        var title = dataRenderer.RenderLink(titre.Title, titre.LinkId);
        //        if (titre.Level == _lastLevel)
        //        {
        //            _markdownTable += "<ol type='I'><li>" + titre.Title + "</li>\n";
        //        }
        //    }
        //    return "</ol>" + _markdownTable;
        //}

        private static string RenderSite(Site site, List <CustomFeature> webAppFeatures, TableDeMatiere tableDeMatiere,
                                         IDataRenderer renderer)
        {
            var enable = "";
            var modele = "";

            switch (site.Template)
            {
            case "STS#1":
            {
                modele = "Blank Site(1033)";

                ;
                break;
            }

            case "STS#0":
            {
                modele = "Team Site (1033)";
                break;
            }

            case "GLOBAL#0":
            {
                modele = "Global template (1033)";
                break;
            }
            }
            string titre = string.Format("Site {0}", site.Name);
            string rendu = renderer.RenderTitle(titre, 4);

            rendu += string.Format(_formatSite, site.Description, modele);
            var fonctionnaliteSiteTable = new DataTable();

            fonctionnaliteSiteTable.Header.Add("Description");
            fonctionnaliteSiteTable.Header.Add("Activer");
            foreach (var sitefeature in site.Features)
            {
                if (sitefeature.Enable == true)
                {
                    enable = "Oui";
                }
                else
                {
                    enable = "Non";
                }
                var row = new List <string>();
                row.Add(sitefeature.Description);
                row.Add(enable);
                fonctionnaliteSiteTable.Rows.Add(row);
            }
            rendu += renderer.RenderTitle("Fonctionnalités du site", 5) + new HTMLRenderer().RenderTable(fonctionnaliteSiteTable);
            var fonctionnaliteWebTable = new DataTable();

            fonctionnaliteWebTable.Header.Add("Description");
            fonctionnaliteWebTable.Header.Add("Activer");
            foreach (var webfeature in site.WebFeatures)
            {
                if (webfeature.Enable == true)
                {
                    enable = "Oui";
                }
                else
                {
                    enable = "Non";
                }
                var row = new List <string>();
                row.Add(webfeature.Description);
                row.Add(enable);
                fonctionnaliteWebTable.Rows.Add(row);
            }
            rendu += renderer.RenderTitle("Fonctionnalités du web", 5) + new HTMLRenderer().RenderTable(fonctionnaliteWebTable);
            rendu += renderer.RenderTitle("Fonctionnalités personnalisées", 5);
            foreach (var customfeature in site.CustomFeatures)
            {
                var customFeatureInfo = webAppFeatures.FirstOrDefault(ft => ft.Name == customfeature);
                if (customFeatureInfo != null)
                {
                    rendu += RenderFeature(customFeatureInfo, tableDeMatiere, renderer);
                }
            }
            return(rendu);
        }
Example #17
0
 public HtmlRendererAdapter(IDataRenderer dataRenderer)
 {
     this.dataRenderer = dataRenderer;
     htmlRenderer      = new HtmlRender("My Page", dataRenderer.GetData()[0]);
 }
Example #18
0
 public static void SaveAndRenderData(IDataRenderer dataRenderer)
 {
     dataRenderer.SaveData();
     dataRenderer.RenderData();
     //...more...code..
 }
Example #19
0
 public HtmlRendererAdapter(IDataRenderer dataRenderer)
 {
     this.dataRenderer = dataRenderer;
     htmlRenderer = new HtmlRender("My Page", dataRenderer.GetData()[0]);
 }
        public static string RenderLists(List <List> lists, CustomFeature customFeature, IDataRenderer renderer)
        {
            if (lists.Count == 0)
            {
                return("");
            }
            string rendu = "";

            foreach (var list in lists)
            {
                rendu += RenderList(list, customFeature.ContentTypes, customFeature.SiteColumns, renderer);
                if (string.IsNullOrWhiteSpace(rendu))
                {
                    return("");
                }
                if (list.Views.Count > 0)
                {
                    var listViews = new List <string>();
                    foreach (var view in list.Views)
                    {
                        listViews.Add(view.Name);
                    }
                    rendu += renderer.RenderTitle("Vues :", 9) + new HTMLRenderer().RenderUnorderedList(listViews);
                }
            }
            return(renderer.RenderTitle("Listes :", 7) + rendu);
        }
        private static string RenderList(List list, List <ContentType> contentTypes, List <SiteColumn> siteColumns, IDataRenderer renderer)
        {
            var columnsTable = new DataTable();

            columnsTable.Header.Add("Colonne");
            columnsTable.Header.Add("Type");
            columnsTable.Header.Add("Remarque");
            var rows = new List <List <string> >();

            foreach (var item in list.ContentTypes)
            {
                var contentType = contentTypes.FirstOrDefault(ct => ct.Name == item);
                rows.AddRange(
                    GetContentTypeFields(contentType,
                                         siteColumns,
                                         list.SiteColumns,
                                         list.Fields,
                                         columnsTable));
            }
            columnsTable.Rows = rows;
            if (columnsTable.Rows.Count == 0)
            {
                return("");
            }
            return(renderer.RenderTitle($"Liste {list.Title} :", 8)
                   + renderer.RenderParagraphe(list.Description) + renderer.RenderTitle("Structure de données :", 9) + new HTMLRenderer().RenderTable(columnsTable));
        }
 public PatternRendererClient(IDataRenderer dataRenderer)
 {
     _dataRenderer = dataRenderer;
 }
        private static string RenderFeature(CustomFeature feature, TableDeMatiere tableDeMatiere, IDataRenderer renderer)
        {
            string rendu = "";

            if (feature.DependentOn.Count > 0)
            {
                rendu += "Cette fonctionnalité depend des fonctionnalités suivantes :\n" +
                         new HTMLRenderer().RenderUnorderedList(feature.DependentOn);
            }
            rendu += RenderGroups(feature.Groups, renderer);
            rendu += RenderLists(feature.Lists, feature, renderer);
            string tF = string.Format("Fonctionnalité {0}", feature.Name);

            if (string.IsNullOrWhiteSpace(rendu))
            {
                return("");
            }
            return(renderer.RenderTitle(tF, 6) + rendu);
        }