Exemple #1
0
        public Network(string NumberOf, string AlgorithmType)
        {
            InitializeComponent();
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            TXTname.Text = AlgorithmType;
            // TODO: Complete member initialization
            this.AlgorithmType = AlgorithmType;
            Random rnd = new Random();

            //initualizing Network
            TablesDataGrid.AddColumn("NodeState       ", ColumnType.ComboBox, 110.0);
            TablesDataGrid.AddColumn("NodeName       ", ColumnType.TextBlock, 130.0);

            this.NumberOfNodes = int.Parse(NumberOf);
            for (int i = 0; i < NumberOfNodes; i++)
            {
                ComboBox combo = new ComboBox();
                combo.Items.Add("EventuallyUp");
                combo.Items.Add("EventuallyDown");
                combo.Items.Add("Unstable");
                int t = rnd.Next(0, 4);
                switch (t.ToString())
                {
                case "1":
                    combo.Text = NodeType.EventuallyUp.ToString();
                    break;

                case "2":
                    combo.Text = NodeType.EventuallyDown.ToString();
                    break;

                case "3":
                    combo.Text = NodeType.Unstable.ToString();
                    break;

                default:
                    combo.Text = NodeType.EventuallyUp.ToString();
                    break;
                }
                if (i == 0)
                {
                    combo.Text = NodeType.EventuallyUp.ToString();
                    TablesDataGrid.AddRow(new object[] { combo, "P" });
                }
                else
                {
                    TablesDataGrid.AddRow(new object[] { combo, "Node " + (i).ToString() });
                }
            }
        }
Exemple #2
0
        private void Confirm_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtNetTime.Text))
            {
                txtNetTime.BorderBrush = Brushes.Red;
            }
            else
            {
                //Create network
                Confirm.IsEnabled       = false;
                NetworkFinalRunningTime = int.Parse(txtNetTime.Text);
                Random rnd         = new Random();
                int    nuberOfRows = TablesDataGrid.GetRowCount(0);
                for (int i = 0; i < nuberOfRows; i++)
                {
                    Node node = new Node();
                    node.NodeType = ((ComboBox)TablesDataGrid.GetControl(i, 0)).Text;
                    node.NodeName = ((Label)TablesDataGrid.GetControl(i, 1)).Content.ToString();
                    for (int j = 0; j < NumberOfNodes && j != i; j++)
                    {
                        node.Recovered[i] = rnd.Next(0, 4);
                    }
                    _networksNodes.Add(node);
                }

                if (this.AlgorithmType == "Near Communication Efficient")
                {
                    NearCommunicationEfficient();
                }
                else if (this.AlgorithmType == "Communication Efficient")
                {
                    CommunicationEfficient();
                }
                string leaderName = null;
                if (Pnode.LEADER == "0")
                {
                    leaderName = "P";
                }
                else
                {
                    leaderName = "Node " + Pnode.LEADER;
                }
                MessageBox.Show("Leader Of Network : " + leaderName + "\n" + "Number Of Comunications Messages : " + NetworkMessagesCount, "Network Resualts",
                                MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK, MessageBoxOptions.RightAlign);
                this.Confirm.IsEnabled = true;
                this.Close();
            }
        }
        private void FilterTablesButton_Click(object sender, System.EventArgs e)
        {
            SqlServer server = SqlServer.CurrentServer;

            try
            {
                server.Connect();
            }
            catch (System.Exception ex)
            {
                //Response.Redirect("Error.aspx?errorPassCode=" + 2002);
                Response.Redirect(String.Format("error.aspx?errormsg={0}&stacktrace={1}", Server.UrlEncode(ex.Message), Server.UrlEncode(ex.StackTrace)));
            }

            SqlDatabase database = SqlDatabase.CurrentDatabase(server);

            SqlObjectType objectTypeFilter;

            switch (TableTypeDropDownList.SelectedIndex)
            {
            case 0:
                objectTypeFilter = SqlObjectType.User;
                break;

            case 1:
                objectTypeFilter = SqlObjectType.User | SqlObjectType.System;
                break;

            default:
                throw new Exception("Invalid TableType selected");
            }

            // Get table list
            AddNewTableHyperLink.NavigateUrl = String.Format("createtable.aspx?database={0}", Server.UrlEncode(Request["database"]));

            SqlTableCollection tables = database.Tables;

            // Create DataSet from result
            DataSet ds = new DataSet();

            ds.Tables.Add();
            ds.Tables[0].Columns.Add("name");
            ds.Tables[0].Columns.Add("encodedname");
            ds.Tables[0].Columns.Add("owner");
            ds.Tables[0].Columns.Add("type");
            ds.Tables[0].Columns.Add("createdate");
            ds.Tables[0].Columns.Add("rows");
            for (int i = 0; i < tables.Count; i++)
            {
                SqlTable table = tables[i];

                // Only add objects that we want (system or user)
                if ((table.TableType & objectTypeFilter) > 0)
                {
                    ds.Tables[0].Rows.Add(new object[] { Server.HtmlEncode(table.Name), Server.UrlEncode(table.Name), Server.HtmlEncode(table.Owner), Server.HtmlEncode(table.TableType.ToString()), Server.HtmlEncode(table.CreateDate.ToString()), table.Rows });
                }
            }

            // Show message if there are no tables, otherwise show datagrid
            if (ds.Tables[0].Rows.Count == 0)
            {
                TablesDataGrid.Visible      = false;
                TableTypeErrorLabel.Visible = true;
            }
            else
            {
                TableTypeErrorLabel.Visible = false;
                TablesDataGrid.Visible      = true;

                TablesDataGrid.DataSource = ds;
                TablesDataGrid.DataBind();
            }

            server.Disconnect();
        }