コード例 #1
0
 /// <summary>
 /// Metoda odpowiedzialna za dodawanie ilości produktu do bazy danych.
 /// </summary>
 /// <param name="product"></param>
 /// <param name="productID"></param>
 /// <param name="amount"></param>
 public void AddAmountOfProduct(String product, int amount)
 {
     //zmienna pozwalająca na dokonywanie operacji na bazie danych
     using (MichalSurmackiLab04Zad01Entities context = new MichalSurmackiLab04Zad01Entities())
     {
         //sprawdzenie czy produkt o zadanych parametrach istnieje w bazie
         var checkIfProductExist = context.ProductsForSales.Where(x => x.Product == product).Count();
         //jeśli istnieje zostają wykonane następujące isntrukcje
         if (checkIfProductExist == 1)
         {
             //modyfikacja rekordu z bazy danych
             ProductsForSale editingProduct = new ProductsForSale();
             editingProduct         = context.ProductsForSales.Where(x => x.Product.Equals(product)).FirstOrDefault();
             editingProduct.Product = product;
             int newAmount = Int32.Parse(editingProduct.InStock.ToString());
             newAmount += amount;
             editingProduct.InStock = newAmount;
             context.Entry(editingProduct).State = EntityState.Modified;
             context.SaveChanges();
         }
         //jeśli przedmiot o zadanych parametrach nie znajduje się w bazie danych - wyświetlenie komunikatu
         else
         {
             MessageBox.Show("Taki produkt nie istnieje!", "Komunikat");
         }
     }
 }
コード例 #2
0
 /// <summary>
 /// Funkcja dodająca nowy produkt do bazy danych
 /// </summary>
 /// <param name="price"></param>
 /// <param name="category"></param>
 /// <param name="product"></param>
 /// <param name="amountInStock"></param>
 public Boolean AddProtuctToBase(int price, String category, String product, int amountInStock)
 {
     using (MichalSurmackiLab04Zad01Entities context = new MichalSurmackiLab04Zad01Entities())
     {
         //zmienna pozwalająca dodać dane do bazy danych
         ProductsForSale newProduct = new ProductsForSale();
         //dodanie do zmiennej poszczególnych atrybutów
         newProduct.Price    = price;
         newProduct.Category = category;
         newProduct.Product  = product;
         newProduct.InStock  = amountInStock;
         //sprawdzenie czy w bazie jest może już produkt o danej nazwie
         var checkProductExist = context.ProductsForSales.Where(x => x.Product == product).Count();
         //jeśli w bazie nie ma produktu o takich parametrach - dodanie go do bazy
         if (checkProductExist < 1)
         {
             context.ProductsForSales.Add(newProduct);
             context.SaveChanges();
             return(true);
         }
         //jeśli parametry nie są unikatowe zostaje wyświetlony komunikat
         else
         {
             MessageBox.Show("Istnieje już taki produkt w bazie!", "Komunikat");
             return(false);
         }
     }
 }
コード例 #3
0
        /// <summary>
        /// Konstruktor klasy
        /// </summary>
        public FormAddNewProduct()
        {
            InitializeComponent();
            //utworzenie zmiennej do przeprowadzania operacji na bazie danych
            MichalSurmackiLab04Zad01Entities context = new MichalSurmackiLab04Zad01Entities();
            //wczytanie i zapisanie do listy wszystkich kategorii produktów znajdujących się w bazie
            List <String> list = context.ProductsForSales.Select(x => x.Category).ToList();
            //utworzenie listy w której wyeliminowane będą powtórki
            List <String> goodList = new List <String>();

            //wyeliminowanie powtarzających się kategorii
            foreach (String s in list)
            {
                bool ifAdd = true;
                for (int i = 0; i < goodList.Count; i++)
                {
                    if (s.Equals(goodList[i]))
                    {
                        ifAdd = false;
                    }
                }
                if (ifAdd)
                {
                    //dodanie kategorii do nowej listy
                    goodList.Add(s);
                }
            }
            //dodanie do comboboxa kategorii (wyeliminowane powtórki), które już znajdują się w bazie
            foreach (String s in goodList)
            {
                //dodanie obiektu do comboBoxCategory i ustawienie wartości początkowej w  comboBoxCategory
                comboBoxCategory.Items.Add(s);
                comboBoxCategory.SelectedItem = s;
            }
        }
コード例 #4
0
        /// <summary>
        /// Konstruktor klasy.
        /// </summary>
        public FormBuyProduct()
        {
            InitializeComponent();
            //utworzenie zmiennej do przeprowadzania operacji na bazie danych
            MichalSurmackiLab04Zad01Entities context = new MichalSurmackiLab04Zad01Entities();
            //wczytanie i zapisanie do listy wszystkich produktów znajdujących się w bazie
            List <String> list = context.ProductsForSales.Select(x => x.Product).ToList();

            //dodanie wszystkich produktów do combo boxa
            foreach (String s in list)
            {
                comboBoxProduct.Items.Add(s);
                comboBoxProduct.SelectedItem = s;
            }
        }
コード例 #5
0
 /// <summary>
 /// Funckja odpowiedzialna za dodanie do bazy transakcji.
 /// </summary>
 /// <param name="money"></param>
 public void AddTransactionToBase(int money)
 {
     //zmienna pozwalająca na operacje na bazie danych
     using (MichalSurmackiLab04Zad01Entities context = new MichalSurmackiLab04Zad01Entities())
     {
         //tworzenie mowego rekordu
         SoldProduct newTransaction = new SoldProduct();
         DateTime    date           = DateTime.Now;
         newTransaction.DateOfTransaction = date;
         newTransaction.Price             = money;
         //dodanie nowego rekordu do bazy danych, zapisanie zmian
         context.SoldProducts.Add(newTransaction);
         context.SaveChanges();
     }
 }
コード例 #6
0
 /// <summary>
 /// Funkcja odpowiedzialna za odświerzenie dataGridView znajdującego się w głównym okienku
 /// </summary>
 private void RefreshDataGridView()
 {
     //jeśli w comboBoxTables wartość wybranej opcji to "Produkty na sprzedaż" wyświetlenie/odświerzenie danych z tabeli - ProductsForSale
     if (comboBoxTables.Text.Equals("Produkty na sprzedaż"))
     {
         //odświerzenie tabeli - formatowanie wyświetlania w dataGridViewTables
         //użycie zmiennej context dzięki której można wyciągnąć dane z bazy
         using (MichalSurmackiLab04Zad01Entities context = new MichalSurmackiLab04Zad01Entities())
         {
             dataGridViewData.Columns.Clear();
             dataGridViewData.AutoGenerateColumns = false;
             dataGridViewData.Columns.Add("Category", "Kategoria");
             dataGridViewData.Columns["Category"].DataPropertyName = "Category";
             dataGridViewData.Columns.Add("Product", "Produkt");
             dataGridViewData.Columns["Product"].DataPropertyName = "Product";
             dataGridViewData.Columns["Product"].AutoSizeMode     = DataGridViewAutoSizeColumnMode.Fill;
             dataGridViewData.Columns.Add("Price", "Cena [zł]");
             dataGridViewData.Columns["price"].DataPropertyName = "Price";
             dataGridViewData.Columns.Add("InStock", "Ilość w magazynie");
             dataGridViewData.Columns["InStock"].DataPropertyName = "InStock";
             dataGridViewData.DataSource = context.ProductsForSales.ToList <ProductsForSale>();
         }
     }
     //jeśli w comboBoxTables wartość wybranej opcji to "Sprzedane produkty" wyświetlenie/odświerzenie danych z tabeli - SoldProducts
     else if (comboBoxTables.Text.Equals("Sprzedane produkty"))
     {
         //odświerzenie tabeli - formatowanie wyświetlania w dataGridViewTables
         //użycie zmiennej context dzięki której można wyciągnąć dane z bazy
         using (MichalSurmackiLab04Zad01Entities context = new MichalSurmackiLab04Zad01Entities())
         {
             dataGridViewData.Columns.Clear();
             dataGridViewData.AutoGenerateColumns = false;
             dataGridViewData.Columns.Add("DateOfTransaction", "Data transakcji");
             dataGridViewData.Columns["DateOfTransaction"].DataPropertyName = "DateOfTransaction";
             dataGridViewData.Columns.Add("Price", "Pozyskane środki [zł]");
             dataGridViewData.Columns["Price"].DataPropertyName = "Price";
             dataGridViewData.DataSource = context.SoldProducts.ToList();
         }
     }
     //jeśli nie ma wybranej żadnej opcji w comboBoxTables - wyczyszczenie dataGridViewTables
     else
     {
         dataGridViewData.Columns.Clear();
     }
 }
コード例 #7
0
 /// <summary>
 /// Funckja odpowiedzialna za usuwanie zadanej ilości produktu z bazy danych.
 /// </summary>
 /// <param name="product"></param>
 /// <param name="amount"></param>
 public Boolean DeleteProduct(String product, int amount)
 {
     //zmienna pozwalająca na wykonywanie operacji na bazie danych
     using (MichalSurmackiLab04Zad01Entities context = new MichalSurmackiLab04Zad01Entities())
     {
         //wyszukanie produktu o zadanych parametrach w bazie danych
         var checkIfProductExist = context.ProductsForSales.Where(x => x.Product == product).Count();
         //jeśli produkt istnieje wykonanie instrukcji
         if (checkIfProductExist == 1 && amount != 0)
         {
             //modyfikacja rekordu z bazy danych
             ProductsForSale editingProduct = new ProductsForSale();
             editingProduct         = context.ProductsForSales.Where(x => x.Product.Equals(product)).FirstOrDefault();
             editingProduct.Product = product;
             int newAmount = Int32.Parse(editingProduct.InStock.ToString());
             newAmount -= amount;
             //jeśli pożądana do kupna ilość nie jest większa niż ilość przedmiotu na stanie - zakup jest możliwy
             if (newAmount >= 0)
             {
                 editingProduct.InStock = newAmount;
                 context.Entry(editingProduct).State = EntityState.Modified;
                 context.SaveChanges();
                 return(true);
             }
             //jeśli dokonano próby zakupu przedmiotu, którego ilość jest mniejsza niż pożądana - zakup jest niemożliwy
             else
             {
                 return(false);
             }
         }
         //jeśli produkt nie istnieje zwrócenie wartości false.
         else
         {
             return(false);
         }
     }
 }