public static IQueryable ShowRecordsInProdDatabase(ConnectionDB_LINQDataContext db, int zam_index) { var results = from p in db.Produkty where p.zm_id == zam_index select new { p.pr_id, p.pr_nazwa, p.pr_cena, p.zm_id }; // tworzenie encji Produkty ze ściśle określonego zapytania (wyświetlanie danych); return(results); }
public static void DeleteNRecords(ConnectionDB_LINQDataContext db, List <int> indexes_to_delete) { for (int i = 0; i < indexes_to_delete.Count; i++) // pętla umożliwiająca usuwanie danych { try { var deleteOrder = (from zam in db.GetTable <Zamowienia>() where zam.zm_id == indexes_to_delete[i] select zam).Single <Zamowienia>(); // tworzenie encji Zamowienia ze ściśle określonego zapytania (usuwanie rekordu), jeśli nie ma dokładnie jednego elementu w sekwencji db.GetTable <Zamowienia>().DeleteOnSubmit(deleteOrder); // umieszcza encji (obiektu) Zamowienia w oczekiwaniu na usuwanie db.SubmitChanges(); // Oblicza zestaw zmodyfikowanych obiektów, które mają zostać usunięte, i wykonuje odpowiednie polecenia w celu zaimplementowania zmian w bazie danych } catch (Exception ex) { MessageBox.Show(ex.Message); // wyświetl w oknie błąd } } }
public static void InsertDataToZamDatabase(ConnectionDB_LINQDataContext db, Order order) { Zamowienia z = new Zamowienia(); // tworzenie encji zamówienia z.zm_nr_zamowienia = order.Get_Order_Nr(); // przypisanie wartości nr zamówienia w tabeli SQL z.zm_data_zamowienia = order.Get_Order_Date(); // przypisanie wartości daty zamówienia w tabeli SQL z.zm_koszt = (float)order.CalculateCost(); // przypisanie wartości całkowitego kosztu zamówienia w tabeli SQL z.zm_email = order.Email; db.Zamowienia.InsertOnSubmit(z); // dodaje obiekt w oczekiwaniu na zaakceptowanie dodania rekordów try { db.SubmitChanges(); // zatwierdź zmiany } catch (Exception exception) // wystąpi błąd wyświetl okno z zawartością błędu { MessageBox.Show(exception.Message, "Zamówienie", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void OrderRealization(object sender, EventArgs e) // funkcja realizująca zamówienie, która przesyła zawartość zamówienia na adres email i wstawia wartości do tabeli SQL { if (list_of_products.Count != 0) // gdy lista produktów nie jest pusta { User user = AppService.LoadSettings(); if (user != null) { Order order = new Order(list_of_products) { Email = user.Email_to };// stwórz zamówienie (obiekt) z listy produktów bool email_sent = MailSender.Email(MailSender.ContentEmail(order), user, order.Get_Order_Nr()); // prześlij zamówienie na maila if (email_sent) { // dodawanie rekordów do tabeli using (ConnectionDB_LINQDataContext db = new ConnectionDB_LINQDataContext()) //DataContext źródło wszystkich encji (Produkty, Zamowienia) mapowanych za pośrednictwem połączenia z bazą danych (connectionString) { AppService.InsertDataToZamDatabase(db, order); // przeszukaj tabelę w celu znalezienia id zamówienia var id_order = AppService.SearchForIdInZamDatabase(db, order.Get_Order_Nr()); // dla każdego produktu przypisz wartości poszczególnym kolumną AppService.InsertDataToProdDatabase(db, list_of_products, id_order); } } } } else // gdy lista produktów jest pusta to wyświetl okno { MessageBox.Show("Dodaj coś do listy", "Zamówienie", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public static void InsertDataToProdDatabase(ConnectionDB_LINQDataContext db, List <Product> list_of_products, int id_order) { // przeszukaj tabelę w celu znalezienia id zamówienia foreach (Product prod in list_of_products) { Produkty p = new Produkty(); p.pr_nazwa = prod.GetName(); p.pr_cena = (float)prod.CalculateCost(); p.zm_id = id_order; db.Produkty.InsertOnSubmit(p); } try { db.SubmitChanges(); // zatwierdź zmiany } catch (Exception exception) // wystąpi błąd wyświetl okno z zawartością błędu { MessageBox.Show(exception.Message, "Zamówienie", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public static IQueryable ShowRecordsInZamDatabase(ConnectionDB_LINQDataContext db) { var results = from z in db.Zamowienia select new { z.zm_id, z.zm_nr_zamowienia, z.zm_data_zamowienia, z.zm_koszt, z.zm_email }; return(results); }
// kod uzywany do dodawania usuwania i edycji danych w bazie #region CRD_DB public static int SearchForIdInZamDatabase(ConnectionDB_LINQDataContext table, int id) { var id_order = from zam in table.Zamowienia where zam.zm_nr_zamowienia == id select zam; // przeszukaj tabelę w celu znalezienia id zamówienia return(id_order.First().zm_id); }