예제 #1
0
        private void buttonOk_Click(object sender, EventArgs e)
        {
            foreach (var control in Controls.OfType <TextBox>())
            {
                if (control.Text.Length == 0)
                {
                    MessageBox.Show(this,
                                    "Ett eller fler fält är tomma.",
                                    "Tomt textfält",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }
            }

            using var db = new BokhandelContext();

            if (!db.Database.CanConnect())
            {
                return;
            }

            if (editedPublisher)
            {
                publisherToEdit.Namn          = textBoxName.Text;
                publisherToEdit.Adress        = textBoxAdress.Text;
                publisherToEdit.Stad          = textBoxCity.Text;
                publisherToEdit.Postnummer    = textBoxPostcode.Text;
                publisherToEdit.Kontaktperson = textBoxContactPerson.Text;
                publisherToEdit.Telefonnummer = textBoxPhoneNumber.Text;

                db.Förlag.Update(publisherToEdit);
                db.SaveChanges();

                ParentForm.Close();
            }
            else
            {
                var publisher = new Förlag
                {
                    Namn          = textBoxName.Text,
                    Adress        = textBoxAdress.Text,
                    Stad          = textBoxCity.Text,
                    Postnummer    = textBoxPostcode.Text,
                    Kontaktperson = textBoxContactPerson.Text,
                    Telefonnummer = textBoxPhoneNumber.Text
                };

                Publisher = publisher;

                db.Förlag.Add(publisher);

                db.SaveChanges();

                OnPublisherCreated(EventArgs.Empty);

                ParentForm.Close();
            }
        }
        private void buttonOk_Click(object sender, EventArgs e)
        {
            foreach (var control in Controls.OfType <TextBox>())
            {
                if (control.Text.Length == 0)
                {
                    MessageBox.Show(this,
                                    "Ett eller fler fält är tomma.",
                                    "Tomt textfält",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }
            }

            using var db = new BokhandelContext();

            if (!db.Database.CanConnect())
            {
                return;
            }

            if (editedAuthor)
            {
                authorToEdit.Förnamn      = textBoxFirstname.Text;
                authorToEdit.Efternamn    = textBoxLastname.Text;
                authorToEdit.Födelsedatum = dateTimePickerBirthdate.Value;

                db.Författare.Update(authorToEdit);
                db.SaveChanges();
            }
            else
            {
                var author = new Författare
                {
                    Förnamn      = textBoxFirstname.Text,
                    Efternamn    = textBoxLastname.Text,
                    Födelsedatum = dateTimePickerBirthdate.Value
                };

                Author = author;

                db.Författare.Add(author);
                db.SaveChanges();

                OnAuthorCreated(EventArgs.Empty);
            }

            ParentForm.Close();
        }
예제 #3
0
        private void CreateStockBalance()
        {
            using var db = new BokhandelContext();

            if (!db.Database.CanConnect())
            {
                return;
            }

            var selectedBook = userControlBooks.SelectedBook;

            var stockBalance = new LagerSaldo
            {
                ButikerId = SelectedBookstore.Id,
                Isbn      = selectedBook.Isbn,
                Antal     = (int)numericUpDownAmount.Value
            };

            StockBalance = stockBalance;

            db.LagerSaldo.Add(stockBalance);
            db.SaveChanges();

            numericUpDownAmount.Value = 0;

            OnStockBalanceCreated(EventArgs.Empty);
        }
예제 #4
0
        private void buttonRemoveBook_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show(this,
                                "Vill du ta bort vald bok från lagret?",
                                "Ta bort bok från lager",
                                MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                using var db = new BokhandelContext();

                if (!db.Database.CanConnect())
                {
                    return;
                }

                db.LagerSaldo.Remove(SelectedStockBalance);
                db.SaveChanges();

                ReloadStockBalance(selectedBookstore);
            }
        }
예제 #5
0
        private void buttonStockBalanceEditConfirm_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show(this,
                                "Vill du ändra saldo på vald bok?",
                                "Ändra lagersaldo för bok",
                                MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                using var db = new BokhandelContext();

                if (!db.Database.CanConnect())
                {
                    return;
                }

                SelectedStockBalance.Antal = (int)numericUpDownStockBalance.Value;

                db.Update(SelectedStockBalance);
                db.SaveChanges();

                ReloadStockBalance(selectedBookstore);
            }
        }
        private void buttonAdd_Click(object sender, EventArgs e)
        {
            foreach (var control in Controls.OfType <TextBox>())
            {
                if (control.Text.Length == 0)
                {
                    MessageBox.Show(this,
                                    "Ett eller fler fält är tomma.",
                                    "Tomt textfält",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }
            }

            if (listBoxAuthors.Items.Count == 0 || comboBoxPublishers.SelectedItem == null)
            {
                MessageBox.Show(this,
                                "Ett eller fler val är tomma.",
                                "Tomt val",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);

                return;
            }

            using var db = new BokhandelContext();

            if (!db.Database.CanConnect())
            {
                return;
            }

            if (editedBook)
            {
                bookToEdit.Isbn             = textBoxISBN.Text;
                bookToEdit.Titel            = textBoxTitle.Text;
                bookToEdit.Språk            = textBoxLanguage.Text;
                bookToEdit.Pris             = decimal.Parse(textBoxPrice.Text);
                bookToEdit.Utgivningsdatum  = dateTimePickerPublishingDate.Value;
                bookToEdit.BöckerFörfattare = new List <BöckerFörfattare>();

                foreach (Författare author in listBoxAuthors.Items)
                {
                    bookToEdit.BöckerFörfattare.Add(new BöckerFörfattare
                    {
                        Isbn         = bookToEdit.Isbn,
                        FörfattareId = author.Id
                    });
                }

                foreach (var item in db.BöckerFörfattare)
                {
                    if (item.Isbn == bookToEdit.Isbn)
                    {
                        db.BöckerFörfattare.Remove(item);
                    }
                }

                db.Böcker.Update(bookToEdit);
                db.SaveChanges();

                ParentForm.Close();
            }
            else
            {
                if (db.Böcker.Find(textBoxISBN.Text) == null)
                {
                    var publisher = comboBoxPublishers.SelectedItem as Förlag;

                    var book = new Böcker
                    {
                        Isbn             = textBoxISBN.Text,
                        FörlagId         = publisher.Id,
                        Titel            = textBoxTitle.Text,
                        Språk            = textBoxLanguage.Text,
                        Pris             = decimal.Parse(textBoxPrice.Text),
                        Utgivningsdatum  = dateTimePickerPublishingDate.Value,
                        BöckerFörfattare = new List <BöckerFörfattare>()
                    };

                    foreach (Författare author in listBoxAuthors.Items)
                    {
                        book.BöckerFörfattare.Add(new BöckerFörfattare
                        {
                            Isbn         = book.Isbn,
                            FörfattareId = author.Id
                        });
                    }

                    Book = book;

                    db.Böcker.Add(book);
                    db.SaveChanges();

                    OnBookCreated(EventArgs.Empty);

                    ParentForm.Close();
                }
                else
                {
                    MessageBox.Show(this,
                                    "Boken finns redan i sortimentet.",
                                    "Bok finns redan.",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }
            }
        }
예제 #7
0
        private void buttonRemove_Click(object sender, EventArgs e)
        {
            switch (tabControl.SelectedIndex)
            {
            case 0:
                if (MessageBox.Show(this,
                                    "Vill du ta bort vald bok från sortimentet?",
                                    "Ta bort bok från sortiment",
                                    MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    using var db = new BokhandelContext();

                    if (!db.Database.CanConnect())
                    {
                        return;
                    }

                    if (db.LagerSaldo.Any(l => l.Isbn == SelectedBook.Isbn))
                    {
                        MessageBox.Show(this,
                                        "Boken finns i ett lager och kan därför inte tas bort.",
                                        "Kan inte ta bort bok",
                                        MessageBoxButtons.OK, MessageBoxIcon.Warning);

                        return;
                    }

                    foreach (var item in db.BöckerFörfattare.Where(b => b.Isbn == SelectedBook.Isbn))
                    {
                        db.BöckerFörfattare.Remove(item);
                    }

                    db.Böcker.Remove(userControlBooks.SelectedBook);
                    db.SaveChanges();
                    userControlBooks.ReloadBooks();
                }
                break;

            case 1:
                if (MessageBox.Show(this,
                                    "Vill du ta bort vald författare?",
                                    "Ta bort författare",
                                    MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    using var db = new BokhandelContext();

                    if (!db.Database.CanConnect())
                    {
                        return;
                    }

                    if (db.BöckerFörfattare.Any(b => b.FörfattareId == SelectedAuthor.Id))
                    {
                        MessageBox.Show(this,
                                        "Författaren har böcker i sortimentet och kan därför inte tas bort.",
                                        "Kan inte ta bort författare",
                                        MessageBoxButtons.OK, MessageBoxIcon.Warning);

                        return;
                    }

                    db.Författare.Remove(userControlAuthors.SelectedAuthor);
                    db.SaveChanges();
                    userControlAuthors.ReloadAuthors();
                }
                break;

            case 2:
                if (MessageBox.Show(this,
                                    "Vill du ta bort valt förlag?",
                                    "Ta bort förlag",
                                    MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    using var db = new BokhandelContext();

                    if (!db.Database.CanConnect())
                    {
                        return;
                    }

                    if (db.Böcker.Any(b => b.FörlagId == SelectedPublisher.Id))
                    {
                        MessageBox.Show(this,
                                        "Förlaget har böcker i sortimentet och kan därför inte tas bort.",
                                        "Kan inte ta bort förlag",
                                        MessageBoxButtons.OK, MessageBoxIcon.Warning);

                        return;
                    }

                    db.Förlag.Remove(userControlPublishers.SelectedPublisher);
                    db.SaveChanges();
                    userControlPublishers.ReloadPublishers();
                }
                break;
            }
        }