Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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();
            }
        }
Beispiel #4
0
        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);
                }
            }
        }
Beispiel #5
0
        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();
            }
        }
Beispiel #6
0
 public ShoppingCart(HttpContextBase httpContext, StoreDatabaseContext storeContext)
 {
     _db     = storeContext;
     _cartId = GetCartId(httpContext);
 }
Beispiel #7
0
 public GenericRepository()
 {
     this.dbcontext = new StoreDatabaseContext();
     this.dbtable   = dbcontext.Set <E>();
 }
Beispiel #8
0
        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();
             **/
        }
Beispiel #9
0
        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();
            }
        }