コード例 #1
0
        public void UpdateBookSeriesValidation(BookSery bookSeries)
        {
            if (String.IsNullOrEmpty(bookSeries.Name))
            {
                MessageBox.Show("The book series name is required. ", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (String.IsNullOrEmpty(bookSeries.Author))
            {
                MessageBox.Show("The book series author is required. ", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                try
                {
                    var bookSeriesId = GetBookSeriesId(bookSeries.Author, bookSeries.Name);

                    if (bookSeriesId != 0)
                    {
                        bookSeries.Id = bookSeriesId;
                    }

                    Reorder(bookSeries);
                    ReorderQueue(bookSeries);

                    UpdateBookSeries(bookSeries);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error when trying to add new book series. Details: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #2
0
        private void Reorder(BookSery bookSeries)
        {
            if (bookSeries.Id == 0)
            {
                using (Context db = new Context())
                {
                    var booksSeriesToReorder = db.BookSeries.Where(bs => bs.Registration_Order >= bookSeries.Registration_Order).ToList();

                    if (booksSeriesToReorder != null)
                    {
                        foreach (var item in booksSeriesToReorder)
                        {
                            item.Registration_Order = item.Registration_Order + 1;
                            db.SaveChanges();
                        }
                    }
                }
            }
            else
            {
                using (Context db = new Context())
                {
                    var booksSeriesToReorderAfterNewIndex = db.BookSeries.Where(bs => bs.Registration_Order >= bookSeries.Registration_Order).ToList();

                    if (booksSeriesToReorderAfterNewIndex != null)
                    {
                        foreach (var item in booksSeriesToReorderAfterNewIndex)
                        {
                            item.Registration_Order = item.Registration_Order + 1;
                            db.SaveChanges();
                        }
                    }

                    var booksSeriesToReorderBeforeNewIndex = db.BookSeries.Where(bs => bs.Registration_Order < bookSeries.Registration_Order).ToList();

                    if (booksSeriesToReorderBeforeNewIndex != null)
                    {
                        foreach (var item in booksSeriesToReorderBeforeNewIndex)
                        {
                            item.Registration_Order = item.Registration_Order - 1;
                            db.SaveChanges();
                        }
                    }
                }
            }
        }
コード例 #3
0
        private void ReorderQueue(BookSery bookSeries)
        {
            if (bookSeries.Id == 0)
            {
                using (Context db = new Context())
                {
                    var booksSeriesToReorder = db.BookSeries.Where(bs => bs.Queue >= bookSeries.Queue).ToList();

                    if (booksSeriesToReorder != null)
                    {
                        foreach (var item in booksSeriesToReorder)
                        {
                            item.Queue = item.Queue + 1;
                            db.SaveChanges();
                        }
                    }
                }
            }
            else
            {
                using (Context db = new Context())
                {
                    var booksSeriesToReorderAfterNewIndex = db.BookSeries.Where(bs => bs.Queue >= bookSeries.Queue).ToList();

                    if (booksSeriesToReorderAfterNewIndex != null)
                    {
                        foreach (var item in booksSeriesToReorderAfterNewIndex)
                        {
                            item.Queue = item.Queue + 1;
                            db.SaveChanges();
                        }
                    }

                    var booksSeriesToReorderBeforeNewIndex = db.BookSeries.Where(b => b.Queue < bookSeries.Queue).ToList();

                    if (booksSeriesToReorderBeforeNewIndex != null)
                    {
                        foreach (var item in booksSeriesToReorderBeforeNewIndex)
                        {
                            item.Queue = item.Queue - 1;
                            db.SaveChanges();
                        }
                    }
                }
            }
        }
コード例 #4
0
        private void UpdateBookSeries(BookSery bookSeries)
        {
            using (Context db = new Context())
            {
                if (bookSeries.Id == 0)
                {
                    db.BookSeries.Add(bookSeries);
                }
                else
                {
                    var model = db.BookSeries.Single(bs => bs.Id == bookSeries.Id);

                    if (!String.IsNullOrEmpty(bookSeries.Name))
                    {
                        model.Name = bookSeries.Name;
                    }
                    else
                    {
                        bookSeries.Name = model.Name;
                    }

                    if (!String.IsNullOrEmpty(bookSeries.Author))
                    {
                        model.Author = bookSeries.Author;
                    }
                    else
                    {
                        bookSeries.Author = model.Author;
                    }

                    if (bookSeries.Queue != null)
                    {
                        model.Queue = bookSeries.Queue;
                    }
                    else
                    {
                        bookSeries.Queue = model.Queue;
                    }

                    if (bookSeries.Registration_Order != null)
                    {
                        model.Registration_Order = bookSeries.Registration_Order;
                    }
                    else
                    {
                        bookSeries.Registration_Order = model.Registration_Order;
                    }

                    if (bookSeries.Total_Books != null)
                    {
                        model.Total_Books = bookSeries.Total_Books;
                    }
                    else
                    {
                        bookSeries.Total_Books = model.Total_Books;
                    }

                    if (bookSeries.Total_Read != null)
                    {
                        model.Total_Read = bookSeries.Total_Read;
                    }
                    else
                    {
                        bookSeries.Total_Read = model.Total_Read;
                    }

                    if (bookSeries.SerieStatus_Id != null)
                    {
                        model.SerieStatus_Id = bookSeries.SerieStatus_Id;
                    }
                    else
                    {
                        bookSeries.SerieStatus_Id = model.SerieStatus_Id;
                    }
                }

                db.SaveChanges();
            }
        }