Example #1
0
        /// Opens a new window used to edit issues in the database
        /// </summary>
        private void buttonEditIssues_Click(object sender, RoutedEventArgs e)
        {
            var LVI = listViewIssues.SelectedItem;

            if (LVI != null) //Checks if an issue is selected
            {
                //Types used to store data from the selected issue
                ClassComics CCLVI = LVI as ClassComics;
                CCLVI.GetIssuesData();
                string   Series    = CCLVI.SeriesIss;
                int      Number    = CCLVI.Number;
                string   Writer    = CCLVI.Writer;
                string   Penciller = CCLVI.Penciller;
                string   Format    = CCLVI.Format;
                string   Language  = CCLVI.Language;
                DateTime?Date      = CCLVI.Date;
                string   Comments  = CCLVI.Comments;
                byte[]   bytImage  = CCLVI.bytImageIss;

                MainWindow MW = this;

                EditIssue EI = new EditIssue(MW, Series, Number, Writer, Penciller, Format, Language, Date, Comments, bytImage, LVI, ID);
                EI.ShowDialog();
            }
            //Messagebox if a series is not selected
            else
            {
                MessageBox.Show("The Duck Council is dissapointed \n Choose an issue to update");
            }
        }
Example #2
0
        /// Opens a new window used to edit series in the database
        /// </summary>
        private void buttonEditSeries_Click(object sender, RoutedEventArgs e)
        {
            var LVI = listViewSeries.SelectedItem;

            if (LVI != null) //Checks if a series is selected
            {
                //Types used to store data of the selected series
                ClassComics CCLVI = LVI as ClassComics;
                CCLVI.GetSeriessData();
                string Publisher = CCLVI.Publisher;
                string Universe  = CCLVI.Universe;
                string Series    = CCLVI.Series;
                int    CollIss   = CCLVI.CollIss;
                int    Year      = CCLVI.Year;
                string Comments  = CCLVI.Comments;
                byte[] Image     = CCLVI.bytImage;

                MainWindow MW = this;

                EditSeries ES = new EditSeries(MW, Publisher, Universe, Series, CollIss, Year, Comments, Image, LVI);
                ES.ShowDialog();
            }
            //Messagebox if a series is not selected
            else
            {
                MessageBox.Show("The Duck Council is dissapointed \n Choose a series to update");
            }
        }
Example #3
0
        /// <summary>
        /// Updates listViewIssues with issues from the selected series
        /// </summary>
        private void listViewSeries_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var LVI = listViewSeries.SelectedItem;

            if (LVI != null) //Checks if a series is selected
            {
                ClassComics CCLVI = LVI as ClassComics;
                CCLVI.GetSeriessData();
                ID = CCLVI.ID;

                listViewIssues.ItemsSource = CB._listViewIssues;
                CB.UpdateListviewIssues(ID);
            }
        }
Example #4
0
        /// <summary>
        /// Opens an info window when double clicking on a series
        /// </summary>
        private void listViewSeries_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var LVI = listViewSeries.SelectedItem;

            if (LVI != null) //Checks if a series is selected
            {
                //Types used to store the data for the info window
                ClassComics CCLVI = LVI as ClassComics;
                CCLVI.GetSeriessData();
                int    Year     = CCLVI.Year;
                string Comments = CCLVI.Comments;
                byte[] bytImage = CCLVI.bytImage;

                InfoSeries IS = new InfoSeries(Year, Comments, bytImage);
                IS.ShowDialog();
            }
        }
Example #5
0
        /// <summary>
        /// Deletes the selected issue
        /// </summary>
        private void buttonDelIssues_Click(object sender, RoutedEventArgs e)
        {
            var LVI = listViewIssues.SelectedItem;

            if (LVI != null) //Checks if an issue is selected
            {
                ClassComics CCLVI = LVI as ClassComics;
                CCLVI.DeleteIssue();

                CB.UpdateListviewIssues(ID);
            }
            //Messagebox if an issue is not selected
            else
            {
                MessageBox.Show("The duck council is dissapointed \n Choose an issue to delete");
            }
        }
Example #6
0
        /// Deletes the selected series
        /// </summary>
        private void buttonDelSeries_Click(object sender, RoutedEventArgs e)
        {
            var LVI = listViewSeries.SelectedItem;

            if (LVI != null) //Checks if a series is selected
            {
                ClassComics CCLVI = LVI as ClassComics;
                CCLVI.DeleteSeries();

                //Updates the series listview
                CB.UpdateListviewSeries();
            }
            //Messagebox if a series is not selected
            else
            {
                MessageBox.Show("The duck council is dissapointed \n Choose a series to delete");
            }
        }
Example #7
0
        /// <summary>
        /// Edits a series in the database. The strings and ints store the edited data. LVIin stores the tag of the edited series
        /// </summary>
        public void EditSeries(string strPublisher, string strUniverse, string strSeries, int intCollIss, int intYear, string strComments, byte[] bytImage, object LVI)
        {
            this.LVI = LVI;

            ClassComics CC = LVI as ClassComics;

            //Sets the new values
            CC.SeriesData.strPublisher = strPublisher;
            CC.SeriesData.strUniverse  = strUniverse;
            CC.SeriesData.strSeries    = strSeries;
            CC.SeriesData.intCollIss   = intCollIss;
            CC.SeriesData.intYear      = intYear;
            CC.SeriesData.strComments  = strComments;
            CC.SeriesData.bytImage     = bytImage;

            //Sets the state of the entry to modified and saves changes
            CTX.Entry(CC.SeriesData).State = EntityState.Modified;
            CTX.SaveChanges();
        }
Example #8
0
        /// <summary>
        /// Opens an info window when double clicking on an issue
        /// </summary>
        private void listViewIssues_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var LVI = listViewIssues.SelectedItem;

            if (LVI != null) //Checks if an issue is selected
            {
                //Types used to store data for the info window
                ClassComics CCLVI = LVI as ClassComics;
                CCLVI.GetIssuesData();
                string   strFormat   = CCLVI.Format;
                string   strLanguage = CCLVI.Language;
                DateTime?dtDate      = CCLVI.Date;
                string   strComments = CCLVI.Comments;
                byte[]   bytImage    = CCLVI.bytImageIss;

                InfoIssue IF = new InfoIssue(strFormat, strLanguage, dtDate, strComments, bytImage);
                IF.ShowDialog();
            }
        }
Example #9
0
        /// <summary>
        /// Edits an issue in the database. The strings and int store the edited data. LVI stores the tag of the edited issue
        /// </summary>
        public void EditIssue(string strSeries, int intNumber, string strWriter, string strPenciller, string strFormat, string strLanguage, DateTime?dtDate, string strComments, byte[] bytImage, object LVI)
        {
            this.LVI = LVI;

            ClassComics CC = LVI as ClassComics;

            //Sets the new values
            CC.IssuesData.strSeries    = strSeries;
            CC.IssuesData.intNumber    = intNumber;
            CC.IssuesData.strWriter    = strWriter;
            CC.IssuesData.strPenciller = strPenciller;
            CC.IssuesData.strFormat    = strFormat;
            CC.IssuesData.strLanguage  = strLanguage;
            CC.IssuesData.dtDate       = dtDate;
            CC.IssuesData.strComments  = strComments;
            CC.IssuesData.bytImage     = bytImage;

            //Sets the state of the entry to modified and saves changes
            CTX.Entry(CC.IssuesData).State = EntityState.Modified;
            CTX.SaveChanges();
        }
Example #10
0
        /// Opens a new window used to add issues to the database
        /// </summary>
        private void buttonAddIssues_Click(object sender, RoutedEventArgs e)
        {
            var LVI = listViewSeries.SelectedItem;

            if (LVI != null)
            {
                ClassComics CCLVI = LVI as ClassComics;
                CCLVI.GetSeriessData();
                string strSeries = CCLVI.Series;
                int    ID        = CCLVI.ID;

                MainWindow MW = this;

                AddIssue AI = new AddIssue(MW, strSeries, ID);
                AI.ShowDialog();
            }
            else
            {
                MessageBox.Show("The Duck Council is dissapointed \n Choose a series to add issues");
            }
        }
Example #11
0
        /// <summary>
        /// Adds issues to an observable collection for each entry int the database
        /// </summary>
        /// <param name="ID">The ID of the selected series. Acts as a foreign key</param>
        #region Update Listview Issues
        public void UpdateListviewIssues(int ID)
        {
            //Clears listViewIssues if entries already exist
            if (listViewIssues.Count > 0)
            {
                listViewIssues.Clear();
            }

            //Uses strSQL to select all entries and adds them to listViewIssues
            string strSQL = $"SELECT * FROM Issues WHERE SeriesID = '{ID}'";

            using (var ctx = new ComicsContext())
            {
                var Issues = ctx.Issues.SqlQuery(strSQL);
                foreach (Issues i in Issues)
                {
                    ClassComics CC = new ClassComics(i);
                    CC.IssuesData = i;
                    listViewIssues.Add(CC);
                }
            }
        }
Example #12
0
        /// <summary>
        /// Adds series to an observable collection for each entry in the database
        /// </summary>
        #region Update Listview Series
        public void UpdateListviewSeries()
        {
            //Clears listViewSeries if entries already exist
            if (listViewSeries.Count > 0)
            {
                listViewSeries.Clear();
            }

            //Uses strSQL to select all entries and adds them to listViewSeries
            string strSQL = "SELECT * FROM Series";

            using (var ctx = new ComicsContext())
            {
                var Series = ctx.Series.SqlQuery(strSQL);
                foreach (Series s in Series)
                {
                    ClassComics CC = new ClassComics(s);
                    CC.SeriesData = s;
                    listViewSeries.Add(CC);
                }
            }
        }
Example #13
0
        /// <summary>
        /// Finds entries in the table issues matching the search query. Int version
        /// </summary>
        /// <param name="strSearch">The search query used</param>
        public void SearchIssues(int intSearch)
        {
            //Checks if items are already present in listViewIssues and clears if true
            if (listViewIssues.Count > 0)
            {
                listViewIssues.Clear();
            }

            //Uses strSQL to find all entries related to the search query and adds them to listViewIssues
            string strSQL = $"SELECT * FROM Issues WHERE ((intNumber LIKE '%{intSearch}%') OR (dtDate LIKE '%{intSearch}%'))";

            using (var ctx = new ComicsContext())
            {
                var issue = ctx.Issues.SqlQuery(strSQL);
                foreach (Issues i in issue)
                {
                    ClassComics CC = new ClassComics(i);
                    CC.IssuesData = i;
                    listViewIssues.Add(CC);
                }
            }
        }
Example #14
0
        /// <summary>
        /// Finds entries in the table series matching the search query. Int version
        /// </summary>
        /// <param name="strSearch">The search query used</param>
        public void SearchSeries(int intSearch)
        {
            //Checks if items are already present in listViewSeries and clears if true
            if (listViewSeries.Count > 0)
            {
                listViewSeries.Clear();
            }

            //Uses strSQL to find all entries related to the search query and adds them to listViewSeries
            string strSQL = $"SELECT * FROM Series WHERE ((intCollIss LIKE '%{intSearch}%') OR (intYear LIKE '%{intSearch}%'))";

            using (var ctx = new ComicsContext())
            {
                var series = ctx.Series.SqlQuery(strSQL);
                foreach (Series s in series)
                {
                    ClassComics CC = new ClassComics(s);
                    CC.SeriesData = s;
                    listViewSeries.Add(CC);
                }
            }
        }