private async void OrderTab_CompleteOrder_Click(object sender, EventArgs e) { var basketItems = OrderTab_BasketBox.Items.OfType <BasketItem>(); var inventoryIds = basketItems.Select(i => i.InventoryId); using (var dbContext = new StoreDatabaseContext()) { var inventories = await dbContext.Inventories .Where(i => inventoryIds.Contains(i.Id)) .ToListAsync(); foreach (var inventory in inventories) { var basketItem = basketItems.FirstOrDefault(b => b.InventoryId == inventory.Id); inventory.Count -= basketItem.TotalCount; dbContext.Inventories.AddOrUpdate(inventory); } await dbContext.SaveChangesAsync(); LoadData(false, true); OrderTab_BasketPanel.Enabled = true; OrderTab_OrderPanel.Enabled = true; OrderTab_BasketBox.Items.Clear(); MessageBox.Show("Užsakymas patvirtintas"); OrderTab_OrderConfirmationPanel.Visible = false; } }
private async void AddNewTab_SaveNewItemButton_Click(object sender, EventArgs e) { if (String.IsNullOrEmpty(AddNewItemTab_Count.Text) || String.IsNullOrEmpty(AddNewItemTab_InventoryName.Text) || String.IsNullOrEmpty(AddNewItemTab_Price.Text) || String.IsNullOrEmpty(AddNewItemTab_CategorySelectionBox.Text)) { MessageBox.Show("Visos reikšmės turi būti įvestos", "Klaida", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { int parsedValueForCount; if (!int.TryParse(AddNewItemTab_Count.Text, out parsedValueForCount)) { MessageBox.Show("Įvesti kiekį priima tik skaičių reikšmes, prašome pataisyti"); return; } double parsedValueForPrice; if (!double.TryParse(AddNewItemTab_Price.Text, out parsedValueForPrice)) { MessageBox.Show("Kaina priima tik skaičių reikšmes, prašome pataisyti"); return; } var selectedCategory = AddNewItemTab_CategorySelectionBox.SelectedItem as StoreInventoryCategory; var inventoryName = AddNewItemTab_InventoryName.Text; var newInventoryItem = new Inventory() { CategoryId = selectedCategory.Id, Count = parsedValueForCount, InventoryName = inventoryName, Price = parsedValueForPrice }; using (var dbContext = new StoreDatabaseContext()) { dbContext.Inventories.Add(newInventoryItem); await dbContext.SaveChangesAsync(); } MessageBox.Show("Prekė išsaugota"); AddNewItemTab_Count.Clear(); AddNewItemTab_InventoryName.Clear(); AddNewItemTab_Price.Clear(); LoadData(false, true); } }
private static void DisplayData(int choice) { try { using var context = new StoreDatabaseContext(Options); switch (choice) { //display order details case 4: break; // display store's order history case 5: List <Orders> orders = context.Orders.ToList(); foreach (Orders x in orders) { if (x.StoreId == currentStoreId) { Console.WriteLine($"OrderId: {x.OrderId} / CustomerId: {x.CustomerId} / OrderDate: {x.OrderDate} / " + $"Cost: {String.Format("{0:C2}", x.Cost)} / StoreId: {x.StoreId}\n"); } } break; // display customer's order history case 6: List <Orders> orders2 = context.Orders.ToList(); foreach (Orders x in orders2) { if (x.CustomerId == currentCustomerId) { Console.WriteLine($"OrderId: {x.OrderId} / CustomerId: {x.CustomerId} / OrderDate: {x.OrderDate} / " + $"Cost: {String.Format("{0:C2}", x.Cost)} / StoreId: {x.StoreId}\n"); } } break; } } catch (Exception e) { Console.WriteLine("Exception caught: {0}", e); DisplayMenu(); } }
private async Task LoadData(bool loadCategories, bool loadInventories) { using (var dbContext = new StoreDatabaseContext()) { if (loadCategories) { var categories = dbContext.Categories.AsNoTracking().ToListAsync(); var storeCategories = StoreInventoryCategoryMapper.Map(await categories); SetCategoryList(storeCategories); } if (loadInventories) { var inventories = dbContext.Inventories.AsNoTracking().ToListAsync(); var storeInventories = StoreInventoryMapper.Map(await inventories); SetInventoryList(storeInventories); } } }
private static void AddNewCustomer() { try { Console.WriteLine("Enter first name"); var firstname = Console.ReadLine(); Console.WriteLine("Enter last name"); var lastname = Console.ReadLine(); using var context = new StoreDatabaseContext(Options); var customer = new Customer { Firstname = firstname, Lastname = lastname }; context.Customer.Add(customer); context.SaveChanges(); } catch (Exception e) { Console.WriteLine("Exception caught: {0}", e); DisplayMenu(); } }
public ShoppingCart(HttpContextBase httpContext, StoreDatabaseContext storeContext) { _db = storeContext; _cartId = GetCartId(httpContext); }
public GenericRepository() { this.dbcontext = new StoreDatabaseContext(); this.dbtable = dbcontext.Set <E>(); }
private static void SearchForCustomer() { try { Console.WriteLine("1) Search by firstname."); Console.WriteLine("2) Search by lastname."); Console.WriteLine("3) Search by Id."); using var context = new StoreDatabaseContext(Options); // Get DBContext List <Customer> customers = context.Customer.ToList(); // Get a list of customers from the Customer DBSet within the DBContext int choice = int.Parse(Console.ReadLine()); while (choice < 1 || choice > 3) //validation { Console.WriteLine("!!! Enter an appropriate choice !!!\n"); Console.WriteLine("1) Search by firstname."); Console.WriteLine("2) Search by lastname."); Console.WriteLine("3) Search by Id."); choice = int.Parse(Console.ReadLine()); } switch (choice) { case 1: Console.WriteLine("Enter first name: "); string firstname = Console.ReadLine(); foreach (Customer x in customers) { if (x.Firstname == firstname) { Console.WriteLine($"Id: {x.CustomerId} / Firstname: {x.Firstname} / Lastname: {x.Lastname} \n"); } } break; case 2: Console.WriteLine("Enter last name: "); string lastname = Console.ReadLine(); foreach (Customer x in customers) { if (x.Lastname == lastname) { Console.WriteLine($"Id: {x.CustomerId} / Firstname: {x.Firstname} / Lastname: {x.Lastname} \n"); } } break; case 3: Console.WriteLine("Enter customer Id: "); int id = int.Parse(Console.ReadLine()); foreach (Customer x in customers) { if (x.CustomerId == id) { Console.WriteLine($"Id: {x.CustomerId} / Firstname: {x.Firstname} / Lastname: {x.Lastname} \n"); } } break; default: Console.WriteLine("Invalid Choice \n"); break; } } catch (Exception e) { Console.WriteLine("Exception caught: {0}", e); DisplayMenu(); } /** * Console.WriteLine("Enter last name: "); * string lastname = Console.ReadLine(); * List<Customer> customers2 = context.Customer * .Where(e => e.Lastname == lastname) * .ToList(); **/ }
private static void PlaceOrder() { try { using var context = new StoreDatabaseContext(Options); // Get DBContext List <Products> products = context.Products.ToList(); //get list of products Console.WriteLine("Select product by id"); foreach (Products x in products) { Console.WriteLine($"Id: {x.ProductId} / Product: {x.ProductName} / Price: ${String.Format("{0:C2}", x.ProductPrice)} \n"); } int choice = int.Parse(Console.ReadLine()); while (choice < 1 || choice > 3) //validation { Console.WriteLine("!!! Enter an appropriate choice !!!\n"); foreach (Products x in products) { Console.WriteLine($"Id: {x.ProductId} / Product: {x.ProductName} / Price: ${String.Format("{0:C2}", x.ProductPrice)} \n"); } choice = int.Parse(Console.ReadLine()); } switch (choice) { case 1: var order = new Orders { CustomerId = currentCustomerId, OrderDate = DateTime.Now, Cost = 200, StoreId = currentStoreId, OrderInfo = "Phone" }; context.Orders.Add(order); context.SaveChanges(); break; case 2: var order2 = new Orders { CustomerId = currentCustomerId, OrderDate = DateTime.Now, Cost = 2, StoreId = currentStoreId, OrderInfo = "Eraser" }; context.Orders.Add(order2); context.SaveChanges(); break; case 3: var order3 = new Orders { CustomerId = currentCustomerId, OrderDate = DateTime.Now, Cost = 1, StoreId = currentStoreId, OrderInfo = "Pencil" }; context.Orders.Add(order3); context.SaveChanges(); break; default: Console.WriteLine("Invalid Choice \n"); break; } } catch (Exception e) { Console.WriteLine("Exception caught: {0}", e); DisplayMenu(); } }