private void AddStock(int amount) { using (var db = new DrinksModelContainer()) { List <Drinks> tempList = new List <Drinks>(); foreach (var row in selectedDrinks2) { tempList.Add(row); tester.ItemsSource = tempList.ToList(); } foreach (var row in tempList) { try { var query = from s in db.Drinks where s.Id == row.Id select s; foreach (Drinks drink in query) { if (drink.Stock != null) { drink.Stock = drink.Stock + amount; MessageBox.Show(string.Format("You have added {0} {1}", amount, drink.Name)); tbxStockQuantity.Text = null; selectedDrinks2.Clear(); } else { MessageBox.Show("There is no stock for this item"); } } // Submit the changes to the database. try { Console.WriteLine("Save Starting"); db.SaveChanges(); Console.WriteLine("Save Complete"); } catch (Exception e) { throw e; } } catch (Exception) { throw; } } } }
//THE ISSUE WITH THIS METHOD WAS IT WOULD -1 FROM THE STOCK LEVEL IN THE DATABASE BUT WOULD NOT READ THAT CHANGE //THROUGH EACH ITERATION OF THE FOR LOOP SO THAT THE NEXT TIME IT ITERATED IT WOULD -1 FROM THE ORIGINAL STOCK AMOUNT AS OPPOSED TO THE NEW STOCK AMOUNT //private void UpdateStock() //{ // foreach (var row in selectedDrinks) // { // if (row.Stock != null) // { // int stock = Convert.ToInt32(row.Stock - 1); // int id = Convert.ToInt32(row.Id); // string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=C:\USERS\JOHNATHON\SOURCE\REPOS\LAST_TRY_DATABASE.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; // string selectSql = "UPDATE Drinks SET Stock = @stock"; // using (var connection = new SqlConnection(connectionString)) // using (var command = new SqlCommand(selectSql, connection)) // { // command.CommandText = "UPDATE Drinks SET Stock = @stock WHERE Id=@rowID"; // command.Parameters.AddWithValue("@stock", stock); // command.Parameters.AddWithValue("@rowID", id); // connection.Open(); // command.ExecuteNonQuery(); // connection.Close(); // } // } // } //} private void lbxSelector_SelectionChanged(object sender, SelectionChangedEventArgs e) { using (var c = new DrinksModelContainer()) { int index = lbxSelector.SelectedIndex; if (index != -1) { tblkChangeDue.Text = null; List <Drinks> selectedDrinks1 = AddToList(index); selectedDrinks.Add(selectedDrinks1.First()); selectedDrinks1.Clear(); lbxCashier.ItemsSource = selectedDrinks.ToList(); lbxCashier.SelectedIndex = lbxCashier.Items.Count - 1; lbxCashier.ScrollIntoView(lbxCashier.SelectedItem); lbxSelector.SelectedItem = null; //immediateley nullifies selected item, making it empty with an index of -1. This way we can notice a change from //-1 to a new index in case one item is used more than one time CalculateTotal(); } } }
//updates the int property stock in the database private void UpdateStock() { using (var db = new DrinksModelContainer()) { List <Drinks> tempList = new List <Drinks>(); foreach (var row in selectedDrinks) { tempList.Add(row); } foreach (var row in tempList) { if (row.Stock != null) { var query = from s in db.Drinks where s.Id == row.Id select s; foreach (Drinks drink in query) { drink.Stock = drink.Stock - 1; } // Submit the changes to the database. try { Console.WriteLine("Save Starting"); db.SaveChanges(); Console.WriteLine("Save Complete"); } catch (Exception e) { Console.WriteLine(e); // Provide for exceptions. } } } } }
private static List <Drinks> AddToList(int index) { List <Drinks> checkID = new List <Drinks>(); using (var c = new DrinksModelContainer()) { if (type == "Minerals") { var query = from d in c.Drinks where d.Id == index + 33 select d; var query1 = query.ToList(); foreach (var item in query1) { checkID.Add(item); } } else if (type == "Draught") { var query = from d in c.Drinks where d.Id == index + 15 select d; var query1 = query.ToList(); foreach (var item in query1) { checkID.Add(item); } } else if (type == "Wines") { var query = from d in c.Drinks where d.Id == index + 71 select d; var query1 = query.ToList(); foreach (var item in query1) { checkID.Add(item); } } else if (type == "Teas and Coffees") { var query = from d in c.Drinks where d.Id == index + 56 select d; var query1 = query.ToList(); foreach (var item in query1) { checkID.Add(item); } } else if (type == "Bottled Beer") { var query = from d in c.Drinks where d.Id == index + 1 select d; var query1 = query.ToList(); foreach (var item in query1) { checkID.Add(item); } } else if (type == "Gins") { var query = from d in c.Drinks where d.Id == index + 27 select d; var query1 = query.ToList(); foreach (var item in query1) { checkID.Add(item); } } else if (type == "Vodkas") { var query = from d in c.Drinks where d.Id == index + 62 select d; var query1 = query.ToList(); foreach (var item in query1) { checkID.Add(item); } } else if (type == "Whiskeys") { var query = from d in c.Drinks where d.Id == index + 66 select d; var query1 = query.ToList(); foreach (var item in query1) { checkID.Add(item); } } else if (type == "Shots") { var query = from d in c.Drinks where d.Id == index + 48 select d; var query1 = query.ToList(); foreach (var item in query1) { checkID.Add(item); } } } return(checkID); }