Ejemplo n.º 1
0
        /// <summary>
        /// Set-up for changing to a new table
        /// </summary>
        private void Setup()
        {
            tableName      = cmbTable.SelectedItem.ToString();
            editingSidebar = null;

            columns = DBMethods.MetaRequests.GetColumnDataFromTable(tableName);

            // Allow the user to search through all columns or a specific column for the table
            List <string> colSearch = new List <string> {
                "All Columns"
            };

            colSearch.AddRange(columns.Select(c => c.Name));

            if (editingSidebar != null)
            {
                editingSidebar.Close();
            }

            editingSidebar     = new DataEditingSidebar(columns, tableName, this);
            lblSidebar.Content = editingSidebar.Content;

            if (!(filterableDataGrid is null))
            {
                filterableDataGrid.Close();
            }
            filterableDataGrid = new FilterableDataGrid(columns, this);
            filterableDataGrid.SetMaxHeight(700);
            lblSearchData.Content = filterableDataGrid.Content;
        }
Ejemplo n.º 2
0
        private void Initialise(object _parent, string _tableName)
        {
            InitializeComponent();
            parent = _parent;
            dtg    = new FilterableDataGrid(_tableName, this);
            dtg.SetMaxHeight(600);
            lblDtg.Content = dtg.Content;

            Height = double.NaN;
            Width  = double.NaN;

            Button btnConfirm = new Button()
            {
                Content             = "Confirm Selection",
                FontSize            = 20,
                HorizontalAlignment = HorizontalAlignment.Center,
                Margin = new Thickness(0, 5, 0, 10)
            };

            btnConfirm.Click += BtnConfirm_Click;
            stp.Children.Add(btnConfirm);
        }
Ejemplo n.º 3
0
        public ClientManagement()
        {
            InitializeComponent();

            // Initialise each table and set them to all be equal sizes until the user picks one to edit

            contactsColumns = DBMethods.MetaRequests.GetColumnDataFromTable("Contact");
            dtgContacts     = new FilterableDataGrid(contactsColumns, this);
            dtgContacts.SetMaxHeight(300);
            dtgContacts.HideCount();
            lblContacts.Content = dtgContacts.Content;

            dogsColumns = DBMethods.MetaRequests.GetColumnDataFromTable("Dog");
            dtgDogs     = new FilterableDataGrid(dogsColumns, this);
            dtgDogs.SetMaxHeight(300);
            dtgDogs.HideCount();
            lblDogs.Content = dtgDogs.Content;

            clientsColumns = DBMethods.MetaRequests.GetColumnDataFromTable("Client");
            dtgClients     = new FilterableDataGrid(clientsColumns, this);
            dtgClients.SetMaxHeight(300);
            dtgClients.HideCount();
            lblClients.Content = dtgClients.Content;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Move the user to editing whichever table they have selected
        /// </summary>
        private void UpdateMode(string newMode)
        {
            // Whenever a new item in the same table is selected:
            if (newMode == mode)
            {
                // Display the contacts/dogs/clients related to the selected item
                if (mode == contactString)
                {
                    string[] selectedData = dtgContacts.GetSelectedData();
                    if (selectedData is null)
                    {
                        return;
                    }
                    if (selectedData[0] != "No Results!")
                    {
                        dtgDogs.ChangeSearch(1, selectedData[1]);
                        dtgClients.ChangeSearch(0, selectedData[1]);
                    }
                }
                else if (mode == dogString)
                {
                    string[] selectedData = dtgDogs.GetSelectedData();
                    if (selectedData is null)
                    {
                        return;
                    }
                    if (selectedData[0] != "No Results!")
                    {
                        dtgContacts.ChangeSearch(1, selectedData[1]);
                        dtgClients.ChangeSearch(0, selectedData[1]);
                    }
                }
                else if (mode == clientString)
                {
                    string[] selectedData = dtgClients.GetSelectedData();
                    if (selectedData is null)
                    {
                        return;
                    }
                    if (selectedData[0] != "No Results!")
                    {
                        dtgContacts.ChangeSearch(1, selectedData[0]);
                        dtgDogs.ChangeSearch(1, selectedData[0]);
                    }
                }
            }
            else
            {
                mode = newMode;

                if (mode == "")
                {
                    return;
                }

                double notSelMax = 200;
                double selMax    = 650;

                lblEditBtn.Content        = $"Editing {mode}";
                lblStartAddingBtn.Content = $"Add New {mode}";

                // Display the selected data
                // Show related items in the other tables
                // Resize the tables

                if (mode == contactString)
                {
                    string[] selectedData = dtgContacts.GetSelectedData();
                    if (selectedData[0] == "No Results!")
                    {
                        return;
                    }
                    dtgContacts.ClearSearch();
                    if (selectedData is null)
                    {
                        return;
                    }
                    dtgDogs.ChangeSearch(1, selectedData[1]);
                    dtgClients.ChangeSearch(0, selectedData[1]);
                    dtgContacts.SetMaxHeight(selMax);
                }
                else if (mode == dogString)
                {
                    string[] selectedData = dtgDogs.GetSelectedData();
                    if (selectedData[0] == "No Results!")
                    {
                        return;
                    }
                    dtgDogs.ClearSearch();
                    if (selectedData is null)
                    {
                        return;
                    }
                    dtgContacts.ChangeSearch(1, selectedData[1]);
                    dtgClients.ChangeSearch(0, selectedData[1]);
                    dtgDogs.SetMaxHeight(selMax);
                }
                else if (mode == clientString)
                {
                    string[] selectedData = dtgClients.GetSelectedData();
                    if (selectedData[0] == "No Results!")
                    {
                        return;
                    }
                    dtgClients.ClearSearch();
                    if (selectedData is null)
                    {
                        return;
                    }
                    dtgContacts.ChangeSearch(1, selectedData[0]);
                    dtgDogs.ChangeSearch(1, selectedData[0]);
                    dtgClients.SetMaxHeight(selMax);
                }

                if (mode != contactString)
                {
                    dtgContacts.SetMaxHeight(notSelMax);
                }
                if (mode != dogString)
                {
                    dtgDogs.SetMaxHeight(notSelMax);
                }
                if (mode != clientString)
                {
                    dtgClients.SetMaxHeight(double.NaN);
                }
            }
        }