コード例 #1
0
 private static void LocalUsers(ComputerHardwareScan sc, StringBuilder fileContentTemplate)
 {
     if (sc.IsWindowsLocalUsersPresent)
     {
         fileContentTemplate.AppendLine(GetHeader("LOCAL USERS"));
         foreach (var node in sc.WindowsLocalUsers)
         {
             fileContentTemplate.AppendLine(GetLocalUserValue("Name", node.Name, "Caption", node.Caption, "Description", node.Description, "Active", node.IsActive.ToString(), "Status", node.Status, "Changeable", node.PasswordChangeable.ToString(), "Expires", node.PasswordExpires.ToString(), "Required", node.PasswordRequired.ToString()));
             if (sc.WindowsLocalUsers.IndexOf(node) != sc.WindowsLocalUsers.Count - 1)
             {
                 fileContentTemplate.AppendLine("<hr class=\"separator\">");
             }
         }
     }
 }
コード例 #2
0
 private static void Printers(ComputerHardwareScan sc, StringBuilder fileContentTemplate)
 {
     if (sc.IsPrintersPresent)
     {
         fileContentTemplate.AppendLine(GetHeader("PRINTERS"));
         foreach (var node in sc.Printers)
         {
             fileContentTemplate.AppendLine(GetPrinterValue("Name", node.DefaultPrinter, "Port", node.DefaultPrinterPortName, "Local", node.IsLocal.ToString(), "Network", node.IsNetwork.ToString(), "Shared", node.IsShared.ToString()));
             if (sc.Printers.IndexOf(node) != sc.Printers.Count - 1)
             {
                 fileContentTemplate.AppendLine("<hr class=\"separator\">");
             }
         }
     }
 }
コード例 #3
0
 private static void LocalGroups(ComputerHardwareScan sc, StringBuilder fileContentTemplate)
 {
     if (sc.IsWindowsLocalGroupsPresent)
     {
         fileContentTemplate.AppendLine(GetHeader("LOCAL GROUPS"));
         foreach (var node in sc.WindowsLocalGroups)
         {
             fileContentTemplate.AppendLine(GetLocalGroupValue("Name", node.Name, "Caption", node.Caption, "Description", node.Description, "Local", node.IsLocal.ToString(), "Status", node.Status, "Users", string.Join("<br>", node.MembersInOneLine.Split('\n'))));
             if (sc.WindowsLocalGroups.IndexOf(node) != sc.WindowsLocalGroups.Count - 1)
             {
                 fileContentTemplate.AppendLine("<hr class=\"separator\">");
             }
         }
     }
 }
コード例 #4
0
        /*
         * Of course, i shouldn't write html serialization this way, but how to make serialization exactly in the same form as the scan is displayed in the program?
         * If I find another way, this section will be rewritten.
         */
        public static string Serialize(string name, ComputerHardwareScan sc, Dictionary <string, fakeColor> BrushList, ObservableCollection <object> ViewModes, string description = "", string ipaddres = "", string fqdn = "", bool includeFullInfo = false)
        {
            var fileContentTemplate = new StringBuilder();

            fileContentTemplate.AppendLine("<!DOCTYPE html>");
            fileContentTemplate.AppendLine("<head>");
            fileContentTemplate.AppendLine("    <style>");
            fileContentTemplate.AppendLine("        HTML { margin: 0 !important; border: none !important; }");
            fileContentTemplate.AppendLine("        body { background-color: " + BrushList["Background"].GetHEXFromBytes() + ";");
            fileContentTemplate.AppendLine("               color: " + BrushList["Text"].GetHEXFromBytes() + ";");
            fileContentTemplate.AppendLine("               font-family: Segoe UI;");
            fileContentTemplate.AppendLine("               font-size: 12px;");
            fileContentTemplate.AppendLine("             }");
            fileContentTemplate.AppendLine("        .headerStyle { width: 100%; border-collapse: collapse;}");
            fileContentTemplate.AppendLine("        .headerStyle th { background-color: " + BrushList["Header"].GetFromARGB(BrushList["Background"]).GetHEXFromBytes() + "; width: 135px; text-align: right; height: 22px;}");
            fileContentTemplate.AppendLine("        .headerStyle td { height: 0px;}");
            fileContentTemplate.AppendLine("        .dataStyle { width: 100%; border-collapse: collapse;}");
            fileContentTemplate.AppendLine("        hr.separator { margin-left: 145px; border: 3px solid " + BrushList["Header"].GetFromARGB(BrushList["Background"]).GetHEXFromBytes() + ";}");
            fileContentTemplate.AppendLine("    </style>");
            fileContentTemplate.AppendLine("    <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">");
            fileContentTemplate.AppendLine("    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">");
            fileContentTemplate.AppendLine("    <meta name=\"google\" value=\"notranslate\">");
            fileContentTemplate.AppendLine("    <meta name=\"gwt:property\" content=\"locale=ru_RU\">");
            fileContentTemplate.AppendLine("    <title>" + name + "</title>");
            fileContentTemplate.AppendLine("</head>");
            fileContentTemplate.AppendLine("<body>");

            if (includeFullInfo)
            {
                fileContentTemplate.AppendLine(GetHeader("GENERAL"));
                fileContentTemplate.AppendLine(GetOneValue("Name", name));
                fileContentTemplate.AppendLine(GetOneValue("Description", description));
                fileContentTemplate.AppendLine(GetOneValue("IP Address", ipaddres));
                fileContentTemplate.AppendLine(GetOneValue("FQDN", fqdn));
            }

            if (ViewModes != null)
            {
                if (ViewModes.Count != 0)
                {
                    bool showAll = false;

                    foreach (var node in ViewModes)
                    {
                        if (Equals(node, UIViewModeEnum.All))
                        {
                            showAll = true;
                        }
                    }

                    if (showAll)
                    {
                        SystemEnclosure(sc, fileContentTemplate);
                        CPUs(sc, fileContentTemplate);
                        MemoryDevices(sc, fileContentTemplate);
                        VideoControllers(sc, fileContentTemplate);
                        Displays(sc, fileContentTemplate);
                        NetworkAdapters(sc, fileContentTemplate);
                        PhysicalDrives(sc, fileContentTemplate);
                        Partitions(sc, fileContentTemplate);
                        Licenses(sc, fileContentTemplate);
                        Printers(sc, fileContentTemplate);
                        LocalUsers(sc, fileContentTemplate);
                        LocalGroups(sc, fileContentTemplate);
                    }
                    else
                    {
                        foreach (var node in ViewModes)
                        {
                            if (Equals(node, UIViewModeEnum.SystemEnclosure))
                            {
                                SystemEnclosure(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.CPUs))
                            {
                                CPUs(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.MemoryDevices))
                            {
                                MemoryDevices(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.VideoControllers))
                            {
                                VideoControllers(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.Displays))
                            {
                                Displays(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.NetworkAdapters))
                            {
                                NetworkAdapters(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.PhysicalDrives))
                            {
                                PhysicalDrives(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.Partitions))
                            {
                                Partitions(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.Licenses))
                            {
                                Licenses(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.Printers))
                            {
                                Printers(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.LocalUsers))
                            {
                                LocalUsers(sc, fileContentTemplate);
                            }
                            else if (Equals(node, UIViewModeEnum.LocalGroups))
                            {
                                LocalGroups(sc, fileContentTemplate);
                            }
                        }
                    }
                }
                else
                {
                    SystemEnclosure(sc, fileContentTemplate);
                    CPUs(sc, fileContentTemplate);
                    MemoryDevices(sc, fileContentTemplate);
                    VideoControllers(sc, fileContentTemplate);
                    Displays(sc, fileContentTemplate);
                    NetworkAdapters(sc, fileContentTemplate);
                    PhysicalDrives(sc, fileContentTemplate);
                    Partitions(sc, fileContentTemplate);
                    Licenses(sc, fileContentTemplate);
                    Printers(sc, fileContentTemplate);
                    LocalUsers(sc, fileContentTemplate);
                    LocalGroups(sc, fileContentTemplate);
                }
            }
            else
            {
                SystemEnclosure(sc, fileContentTemplate);
                CPUs(sc, fileContentTemplate);
                MemoryDevices(sc, fileContentTemplate);
                VideoControllers(sc, fileContentTemplate);
                Displays(sc, fileContentTemplate);
                NetworkAdapters(sc, fileContentTemplate);
                PhysicalDrives(sc, fileContentTemplate);
                Partitions(sc, fileContentTemplate);
                Licenses(sc, fileContentTemplate);
                Printers(sc, fileContentTemplate);
                LocalUsers(sc, fileContentTemplate);
                LocalGroups(sc, fileContentTemplate);
            }

            fileContentTemplate.AppendLine("</body>");

            return(fileContentTemplate.ToString());
        }