Ejemplo n.º 1
0
        private void UpdateContent(object senderx, TextChangedEventArgs ex)
        {
            registers       = new ObservableCollection <RegisterItemArchive>();
            registers_final = new ObservableCollection <RegisterItemArchive>();

            ComboBoxItem ci           = (ComboBoxItem)ItemsPerPage.SelectedItem;
            int          itemsPerPage = Convert.ToInt32(ci.Content);
            int          page         = 1;
            int          count        = 0;

            dbman = new DBConnectionManager();
            using (conn = new MySqlConnection(dbman.GetConnStr()))
            {
                conn.Open();
                if (conn.State == ConnectionState.Open)
                {
                    MySqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "SELECT * FROM registers WHERE " +
                                      "book_number LIKE @query OR " +
                                      "book_type LIKE @query OR " +
                                      "creation_date LIKE @query OR " +
                                      "addition_date LIKE @query OR " +
                                      "status LIKE @query;";
                    cmd.Parameters.AddWithValue("@query", "%" + SearchRegisterBox.Text + "%");
                    cmd.Prepare();
                    MySqlDataReader db_reader = cmd.ExecuteReader();
                    while (db_reader.Read())
                    {
                        int bookNum            = Convert.ToInt32(db_reader.GetString("book_number"));
                        RegisterItemArchive ri = new RegisterItemArchive();
                        if (db_reader.GetString("status") == "Archived")
                        {
                            ri.RegIcon.Kind    = MahApps.Metro.IconPacks.PackIconFontAwesomeKind.ArchiveSolid;
                            ri.RegIcon.ToolTip = "This register is archived.";
                        }
                        ri.BookTypeHolder.Content        = db_reader.GetString("book_type");
                        ri.BookNoHolder.Content          = "Book #" + db_reader.GetString("book_number");
                        ri.BookContentStatHolder.Content = CountEntries(Convert.ToInt32(db_reader.GetString("book_number"))) + " Entries | " + CountPages(Convert.ToInt32(db_reader.GetString("book_number"))) + " Pages";
                        ri.ArchiveRegisterButton.Click  += (sender, e) => { ArchiveRegister_Click(sender, e, bookNum); };
                        ri.RestoreRegisterButton.Click  += (sender, e) => { RestoreRegister_Click(sender, e, bookNum); };
                        ri.AccessFrequency.Content       = "Access Frequency: " + CheckFrequency(bookNum);
                        if (CheckFrequency(bookNum) == "Very Low")
                        {
                            ri.AccessFrequency.Foreground = Brushes.OrangeRed;
                        }
                        else if (CheckFrequency(bookNum) == "Low")
                        {
                            ri.AccessFrequency.Foreground = Brushes.Orange;
                        }
                        else if (CheckFrequency(bookNum) == "Moderate")
                        {
                            ri.AccessFrequency.Foreground = Brushes.ForestGreen;
                        }
                        else if (CheckFrequency(bookNum) == "High")
                        {
                            ri.AccessFrequency.Foreground = Brushes.DeepSkyBlue;
                        }
                        ri.Page.Content = page;
                        registers.Add(ri);

                        count++;
                        if (count == itemsPerPage)
                        {
                            page++;
                            count = 0;
                        }
                    }
                    foreach (var cur in registers)
                    {
                        if (Convert.ToInt32(cur.Page.Content) == CurrentPage.Value)
                        {
                            registers_final.Add(cur);
                        }
                    }
                    //close Connection
                    conn.Close();

                    RegistersItemContainer.Items.Refresh();
                    RegistersItemContainer.ItemsSource = registers_final;
                    RegistersItemContainer.Items.Refresh();
                }
                else
                {
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Updates the Register list.
        /// </summary>
        internal void SyncArcRegisters()
        {
            arcregisters       = new ObservableCollection <RegisterItemArchive>();
            arcregisters_final = new ObservableCollection <RegisterItemArchive>();

            ComboBoxItem ci           = (ComboBoxItem)ItemsPerPage.SelectedItem;
            int          itemsPerPage = Convert.ToInt32(ci.Content);
            int          page         = 1;
            int          count        = 0;

            dbman = new DBConnectionManager();
            using (conn = new MySqlConnection(dbman.GetConnStr()))
            {
                conn.Open();
                if (conn.State == ConnectionState.Open)
                {
                    MySqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "SELECT * FROM registers WHERE status = 'Archived';";
                    MySqlDataReader db_reader = cmd.ExecuteReader();
                    while (db_reader.Read())
                    {
                        int bookNum            = Convert.ToInt32(db_reader.GetString("book_number"));
                        RegisterItemArchive ri = new RegisterItemArchive();
                        if (db_reader.GetString("status") == "Archived")
                        {
                            ri.RestoreRegisterButton.Visibility = Visibility.Visible;
                            ri.RestoreRegisterButton.IsEnabled  = true;
                            ri.ArchiveRegisterButton.Visibility = Visibility.Hidden;
                            ri.ArchiveRegisterButton.IsEnabled  = false;

                            ri.RegIcon.Kind    = MahApps.Metro.IconPacks.PackIconFontAwesomeKind.ArchiveSolid;
                            ri.RegIcon.ToolTip = "This register is archived.";
                        }
                        else
                        {
                            ri.ArchiveRegisterButton.Visibility = Visibility.Visible;
                            ri.ArchiveRegisterButton.IsEnabled  = true;
                            ri.RestoreRegisterButton.Visibility = Visibility.Hidden;
                            ri.RestoreRegisterButton.IsEnabled  = false;
                        }
                        ri.BookTypeHolder.Content        = db_reader.GetString("book_type");
                        ri.BookNoHolder.Content          = "Book #" + db_reader.GetString("book_number");
                        ri.BookContentStatHolder.Content = CountEntries(Convert.ToInt32(db_reader.GetString("book_number"))) + " Entries | " + CountPages(Convert.ToInt32(db_reader.GetString("book_number"))) + " Pages";
                        ri.ArchiveRegisterButton.Click  += (sender, e) => { ArchiveRegister_Click(sender, e, bookNum); };
                        ri.RestoreRegisterButton.Click  += (sender, e) => { RestoreRegister_Click(sender, e, bookNum); };
                        ri.AccessFrequency.Content       = "Access Frequency: " + CheckFrequency(bookNum);
                        if (CheckFrequency(bookNum) == "Very Low")
                        {
                            ri.AccessFrequency.Foreground = Brushes.OrangeRed;
                        }
                        else if (CheckFrequency(bookNum) == "Low")
                        {
                            ri.AccessFrequency.Foreground = Brushes.Orange;
                        }
                        else if (CheckFrequency(bookNum) == "Moderate")
                        {
                            ri.AccessFrequency.Foreground = Brushes.ForestGreen;
                        }
                        else if (CheckFrequency(bookNum) == "High")
                        {
                            ri.AccessFrequency.Foreground = Brushes.DeepSkyBlue;
                        }
                        ri.Page.Content = page;
                        arcregisters.Add(ri);

                        count++;
                        if (count == itemsPerPage)
                        {
                            page++;
                            count = 0;
                        }
                    }
                    foreach (var cur in arcregisters)
                    {
                        if (Convert.ToInt32(cur.Page.Content) == CurrentPage.Value)
                        {
                            arcregisters_final.Add(cur);
                        }
                    }
                    //close Connection
                    conn.Close();

                    ArchivedRegistersItemContainer.Items.Refresh();
                    ArchivedRegistersItemContainer.ItemsSource = arcregisters_final;
                    ArchivedRegistersItemContainer.Items.Refresh();
                }
                else
                {
                }
            }
        }