示例#1
0
        /// <summary>
        /// Updates the form by reading the current control information.
        /// </summary>
        private void UpdateFromControlInformation()
        {
            this.trvHierarchy.Nodes.Clear();
            // Create root node
            RootTreeNode root = new RootTreeNode();

            root.ControlInformation = _controlInformation;
            root.Tag  = _controlInformation;
            root.Text = _controlInformation.FaxName;

            // Create sections
            foreach (SectionDefinition sd in _controlInformation.Sections)
            {
                SectionTreeNode section = new SectionTreeNode();
                section.Tag        = sd;
                section.Definition = sd;

                foreach (AreaDefinition ad in sd.Areas)
                {
                    AreaTreeNode area = new AreaTreeNode();
                    area.Tag        = ad;
                    area.Definition = ad;

                    section.Nodes.Add(area);
                }

                root.Nodes.Add(section);
            }

            this.trvHierarchy.Nodes.Add(root);
            this.trvHierarchy.SelectedNode = root;
            this.trvHierarchy.ExpandAll();
        }
示例#2
0
        // .VRE files are for ASG-Remote Desktop (prevously visionapp Remote Desktop)
        private void SaveToVRE()
        {
            if (Runtime.IsConnectionsFileLoaded == false)
            {
                return;
            }

            var tN = (TreeNode)RootTreeNode.Clone();

            var tNC = tN.Nodes;

            _xmlTextWriter             = new XmlTextWriter(ConnectionFileName, Encoding.UTF8);
            _xmlTextWriter.Formatting  = Formatting.Indented;
            _xmlTextWriter.Indentation = 4;

            _xmlTextWriter.WriteStartDocument();

            _xmlTextWriter.WriteStartElement("vRDConfig");
            _xmlTextWriter.WriteAttributeString("Version", "", "2.0");

            _xmlTextWriter.WriteStartElement("Connections");
            SaveNodeVRE(tNC);
            _xmlTextWriter.WriteEndElement();

            _xmlTextWriter.WriteEndElement();
            _xmlTextWriter.WriteEndDocument();
            _xmlTextWriter.Close();
        }
 private void PopulateTreeview()
 {
     Windows.treeForm.tvConnections.BeginUpdate();
     AddNodeFromXml(_xmlDocument.DocumentElement, RootTreeNode);
     RootTreeNode.Expand();
     ExpandPreviouslyOpenedFolders();
     Windows.treeForm.tvConnections.EndUpdate();
 }
示例#4
0
        private void PrepareFaxHierarchy()
        {
            RootTreeNode rootNode = new RootTreeNode();

            rootNode.ControlInformation = _controlInformation;
            rootNode.Tag = _controlInformation;
            this.trvHierarchy.Nodes.Add(rootNode);
            this.trvHierarchy.SelectedNode = rootNode;
        }
        public void LoadFromXml(bool import)
        {
            try
            {
                if (!import)
                {
                    Runtime.IsConnectionsFileLoaded = false;
                }


                // SECTION 1. Create a DOM Document and load the XML data into it.
                LoadXmlConnectionData();
                ValidateConnectionFileVersion();

                // SECTION 2. Initialize the treeview control.
                var rootInfo = InitializeRootNode();

                if (!ConnectionsFileIsAuthentic(rootInfo))
                {
                    return;
                }

                if (import && !IsExportFile())
                {
                    Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, Language.strCannotImportNormalSessionFile);
                    return;
                }

                if (!IsExportFile())
                {
                    RootTreeNode.ImageIndex         = (int)TreeImageType.Root;
                    RootTreeNode.SelectedImageIndex = (int)TreeImageType.Root;
                }

                // SECTION 3. Populate the TreeView with the DOM nodes.
                PopulateTreeview();
                RootTreeNode.EnsureVisible();
                Windows.treeForm.InitialRefresh();
                SetSelectedNode(RootTreeNode);

                //open connections from last mremote session
                OpenConnectionsFromLastSession();


                if (!import)
                {
                    Runtime.IsConnectionsFileLoaded = true;
                }
            }
            catch (Exception ex)
            {
                Runtime.IsConnectionsFileLoaded = false;
                Runtime.MessageCollector.AddExceptionStackTrace(Language.strLoadFromXmlFailed, ex);
                throw;
            }
        }
 /// <summary>
 /// 加载树的选择节点下的数据
 /// </summary>
 /// <param name="node"></param>
 private void LoadTreeData(TreeNodeModel node)
 {
     SelectedFlag = false;
     if (node != null && !RootTreeNode.Equals(node))
     {
         SelectedTreeNode = node;
         DischesWayName dwn = _DataService.FindDishesWayNameById(int.Parse(node.Id));
         LoadBaseData(dwn, 1);
     }
     else
     {
         //重新加载数据
         InitTreeByDishesWayData();
     }
 }
        private void UpdateTreeView()
        {
            DateTime startDate = m_startDate.Value;
            DateTime endDate   = m_endDate.Value;

            //DateTime timesheetStartDate = new DateTime(startDate.Year, startDate.Month, 1);
            //DateTime timesheetEndDate = endDate.AddMonths(1).AddDays(-endDate.Day);

            RangeTimesheets rangeTimesheets = new RangeTimesheets(startDate, endDate);

            this.RangeTimesheets = rangeTimesheets;

            int totalTimesheets = rangeTimesheets.Count;

            RootTreeNode rootNode = new RootTreeNode("Root", DefaultImageList.Instance.GetRootIconIndex());

            // Monthly Timesheets...
            foreach (MonthlyTimesheets monthlyTimesheets in rangeTimesheets.MonthlyTimesheets)
            {
                // Timesheets...
                foreach (Timesheet timesheet in monthlyTimesheets.Timesheets)
                {
                    // TimesheetDates...
                    foreach (TimesheetDate timesheetDate in timesheet.Dates.Where(p => p.IsValidDate))
                    {
                        if (timesheetDate.Date < startDate || timesheetDate.Date > endDate)
                        {
                            continue;
                        }

                        Color foreColor = DayTypes.GetDayTypeForeColor(timesheetDate.DayType);

                        TimesheetDateTreeNode treeNode = new TimesheetDateTreeNode(timesheetDate, DefaultImageList.Instance.GetCalendarIconIndex());
                        treeNode.ForeColor = foreColor;

                        AddTimesheetDateTreeNodeDetailNodes(treeNode, timesheetDate, foreColor);

                        rootNode.Nodes.Add(treeNode);
                    }
                }
            }

            rootNode.Expand();
            m_treeView.Nodes.Add(rootNode);
        }
        public void LoadFromRoot()
        {
            Blocks.Clear();
            if (RootTreeNode != null)
            {
                /*
                 * LoadFromRootAction action = new LoadFromRootAction();
                 * bool wasCancelled;
                 * ProgressWindow.ExecuteProgressAction(action, out wasCancelled);
                 * if (wasCancelled)
                 * {
                 *  Shutdown(-1);
                 *  return;
                 * }
                 */

                HtmlBlockExtractionVisitor blockVisitor = new HtmlBlockExtractionVisitor(TextChannel);
                RootTreeNode.AcceptDepthFirst(blockVisitor);
                Blocks.AddRange(blockVisitor.ExtractedBlocks);
            }
        }
        private bool ConnectionsFileIsAuthentic(RootNodeInfo rootInfo)
        {
            if (!(_confVersion > 1.3))
            {
                return(true);
            }
            var protectedString               = _xmlDocument.DocumentElement.Attributes["Protected"].Value;
            var cryptographyProvider          = new LegacyRijndaelCryptographyProvider();
            var connectionsFileIsNotEncrypted = cryptographyProvider.Decrypt(protectedString, _pW) == "ThisIsNotProtected";

            if (connectionsFileIsNotEncrypted)
            {
                return(true);
            }
            if (Authenticate(protectedString, false, rootInfo))
            {
                return(true);
            }
            mRemoteNG.Settings.Default.LoadConsFromCustomLocation = false;
            mRemoteNG.Settings.Default.CustomConsPath             = "";
            RootTreeNode.Remove();
            return(false);
        }
示例#10
0
 public void Translate(RootTreeNode node, StringBuilder textBuilder)
 {
     TranslateChildren(node, textBuilder);
 }
        public void LoadFromSql()
        {
            if (Windows.treeForm == null || Windows.treeForm.tvConnections == null)
            {
                return;
            }
            if (Windows.treeForm.tvConnections.InvokeRequired)
            {
                Windows.treeForm.tvConnections.Invoke(new LoadFromSqlDelegate(LoadFromSql));
                return;
            }

            try
            {
                Runtime.IsConnectionsFileLoaded = false;
                _sqlConnection = !string.IsNullOrEmpty(DatabaseUsername) ? new SqlConnection("Data Source=" + DatabaseHost + ";Initial Catalog=" + DatabaseName + ";User Id=" + DatabaseUsername + ";Password="******"Data Source=" + DatabaseHost + ";Initial Catalog=" + DatabaseName + ";Integrated Security=True");

                _sqlConnection.Open();
                _sqlQuery      = new SqlCommand("SELECT * FROM tblRoot", _sqlConnection);
                _sqlDataReader = _sqlQuery.ExecuteReader(CommandBehavior.CloseConnection);
                _sqlDataReader.Read();

                if (_sqlDataReader.HasRows == false)
                {
                    Runtime.SaveConnections();
                    _sqlQuery      = new SqlCommand("SELECT * FROM tblRoot", _sqlConnection);
                    _sqlDataReader = _sqlQuery.ExecuteReader(CommandBehavior.CloseConnection);
                    _sqlDataReader.Read();
                }

                _confVersion = Convert.ToDouble(_sqlDataReader["confVersion"], CultureInfo.InvariantCulture);
                const double maxSupportedSchemaVersion = 2.5;
                if (_confVersion > maxSupportedSchemaVersion)
                {
                    CTaskDialog.ShowTaskDialogBox(
                        frmMain.Default,
                        Application.ProductName,
                        "Incompatible database schema",
                        $"The database schema on the server is not supported. Please upgrade to a newer version of {Application.ProductName}.",
                        string.Format("Schema Version: {1}{0}Highest Supported Version: {2}", Environment.NewLine, _confVersion, maxSupportedSchemaVersion),
                        "",
                        "",
                        "",
                        "",
                        ETaskDialogButtons.Ok,
                        ESysIcons.Error,
                        ESysIcons.Error
                        );
                    throw (new Exception($"Incompatible database schema (schema version {_confVersion})."));
                }

                RootTreeNode.Name = Convert.ToString(_sqlDataReader["Name"]);

                var rootInfo = new RootNodeInfo(RootNodeType.Connection)
                {
                    Name     = RootTreeNode.Name,
                    TreeNode = RootTreeNode
                };

                RootTreeNode.Tag                = rootInfo;
                RootTreeNode.ImageIndex         = (int)TreeImageType.Root;
                RootTreeNode.SelectedImageIndex = (int)TreeImageType.Root;

                var cryptographyProvider = new LegacyRijndaelCryptographyProvider();
                if (cryptographyProvider.Decrypt(Convert.ToString(_sqlDataReader["Protected"]), _pW) != "ThisIsNotProtected")
                {
                    if (Authenticate(Convert.ToString(_sqlDataReader["Protected"]), false, rootInfo) == false)
                    {
                        mRemoteNG.Settings.Default.LoadConsFromCustomLocation = false;
                        mRemoteNG.Settings.Default.CustomConsPath             = "";
                        RootTreeNode.Remove();
                        return;
                    }
                }

                _sqlDataReader.Close();
                Windows.treeForm.tvConnections.BeginUpdate();

                // SECTION 3. Populate the TreeView with the DOM nodes.
                AddNodesFromSql(RootTreeNode);
                RootTreeNode.Expand();

                //expand containers
                foreach (ContainerInfo contI in ContainerList)
                {
                    if (contI.IsExpanded)
                    {
                        contI.TreeNode.Expand();
                    }
                }

                Windows.treeForm.tvConnections.EndUpdate();

                //open connections from last mremote session
                if (mRemoteNG.Settings.Default.OpenConsFromLastSession && !mRemoteNG.Settings.Default.NoReconnect)
                {
                    foreach (ConnectionInfo conI in ConnectionList)
                    {
                        if (conI.PleaseConnect)
                        {
                            Runtime.OpenConnection(conI);
                        }
                    }
                }

                Runtime.IsConnectionsFileLoaded = true;
                Windows.treeForm.InitialRefresh();
                SetSelectedNode(_selectedTreeNode);
            }
            finally
            {
                _sqlConnection?.Close();
            }
        }