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(); }
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); }
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); } }
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); } } }
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; } }