Exemplo n.º 1
0
        private void getOrderDetails()
        {
            //retrieve individual order details to populate the listview
            orderDetailsList.Items.Clear();
            int orderNumber = int.Parse(orderHistoryListView.SelectedItems[0].Text);

            Gelato2UEntitiesA db         = new Gelato2UEntitiesA();
            List <OrderItem>  orderItems = db.OrderItems.Where(x => x.OrderNumber == orderNumber).ToList();

            foreach (OrderItem orderItem in orderItems)
            {
                Product product = db.Products.FirstOrDefault(x => x.ProductNumber == orderItem.ProductNumber);

                ListViewItem item = new ListViewItem(new[]
                {
                    orderItem.OrderNumber.ToString(),
                    orderItem.ProductNumber.ToString(),
                    product.ProductName,
                    orderItem.Quantity.ToString(),
                    product.Price.ToString("C"),
                    (orderItem.Quantity * product.Price).ToString("C")
                });

                orderDetailsList.Items.Add(item);
            }
        }
Exemplo n.º 2
0
        private void getOrders()
        {
            //retrieve orders to populate the listview
            string            statusText = "";
            Gelato2UEntitiesA db         = new Gelato2UEntitiesA();
            List <Order>      orders     = db.Orders.Where(x => x.CustomerNumber == CurrentCustomer.CustomerNumber).ToList();

            foreach (Order order in orders)
            {
                if (order.OrderStatus == 1)
                {
                    statusText = "Taken";
                }
                else
                {
                    statusText = "Dispatched";
                }
                ListViewItem item = new ListViewItem(new[]
                {
                    order.OrderNumber.ToString(),
                    order.OrderDate.ToLongDateString(),
                    statusText,
                    order.CustomerDiscount.ToString(),
                    order.OrderTotalBeforeDiscount.ToString("C2"),
                    order.OrderTotalBeforeDiscount.ToString("C2")
                });

                orderHistoryListView.Items.Add(item);
                orderHistoryListView.FullRowSelect = true;
            }
        }
Exemplo n.º 3
0
        private void CustomerForm_Load(object sender, EventArgs e)
        {
            Gelato2UEntitiesA db = new Gelato2UEntitiesA();
            List <Customer>   cl = db.Customers.ToList();

            custListBox.DataSource     = cl;
            custListBox.DisplayMember  = "CustomerName";
            takeNewOrderButton.Enabled = false;
            orderHistButton.Enabled    = false;
        }
Exemplo n.º 4
0
        private void CheckOutButton_Click(object sender, EventArgs e)
        {
            if (ob.NumberOfItems == 0)
            {
                MessageBox.Show("The basket is currently empty!", "Basket Empty", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                return;
            }

            Gelato2UEntitiesA db = new Gelato2UEntitiesA();

            List <OrderItem> itemsToAdd = new List <OrderItem>();

            //create list populate with orderbasket
            foreach (BasketItem item in ob.BasketItems)
            {
                itemsToAdd.Add(new OrderItem
                {
                    ProductNumber = item.ProductNumber,
                    Quantity      = item.Quantity
                });
            }

            //create an order object - needs to match the format of database table
            Order order = new Order
            {
                OrderDate                = DateTime.Now,
                CustomerNumber           = cust.CustomerNumber,
                CustomerDiscount         = cust.Discount,
                OrderStatus              = 1,
                OrderTotalBeforeDiscount = ob.BasketTotal,
                OrderItems               = itemsToAdd
            };

            //save changes to db
            db.Orders.Add(order);
            db.SaveChanges();
            MessageBox.Show("The order has been successfully confirmed");

            OrderHistoryForm ohf = new OrderHistoryForm(cust);

            ohf.Show();
            this.Hide();
        }
Exemplo n.º 5
0
        public OrderBasketForm(Customer customer)
        {
            //set initial state of the form and reset counters
            InitializeComponent();
            cust = customer;
            ob   = new OrderBasket();
            Gelato2UEntitiesA db = new Gelato2UEntitiesA();
            List <Product>    pl = db.Products.ToList();

            label2.Text                  = cust.CustomerName;
            discValue.Text               = cust.Discount.ToString() + "%";
            productNameBox.DataSource    = pl;
            productNameBox.DisplayMember = "ProductName";
            checkOutButton.Enabled       = false;
            clearButton.Enabled          = false;
            removeButton.Enabled         = false;
            numOfProducts.Text           = "0";
            numOfItems.Text              = "0";
            totalBox.Text                = "£0.00";
            discTotal.Text               = "£0.00";
        }
Exemplo n.º 6
0
        private void SubmitButton_Click(object sender, EventArgs e)
        {
            //Validate the fields have entries upon submission
            TextBox[] newTextBox = { nameBox, secQuestBox, secAnswerBox, postcodeBox, emailBox };
            for (int i = 0; i < newTextBox.Length; i++)
            {
                if (newTextBox[i].Text == string.Empty)
                {
                    MessageBox.Show("Please complete all fields, blank fields are not accepted");
                    newTextBox[i].Focus();
                    return;
                }
            }

            if (phoneNumberBox.Text == string.Empty)
            {
                MessageBox.Show("Please enter a Customer Phone Number");
                return;
            }
            // validate that the content is numeric for phone numbers
            else if (Regex.IsMatch(phoneNumberBox.Text, "[^0-9]"))
            {
                MessageBox.Show("Please Add a valid phone number, this field only accepts numbers");
                return;
            }

            //TextBox[] newIntBox = { phoneNumberBox };
            //for (int i = 0; i < newIntBox.Length; i++)
            //{
            //    if (newIntBox[i].Text == string.Empty)
            //    {
            //        MessageBox.Show("Please add the customers phone number");
            //        newIntBox[i].Focus();
            //        return;
            //    }
            //}

            //bool eCheck = IsValidEmail(emailBox.Text);
            //if (!eCheck)
            //{
            //    MessageBox.Show("Please Enter a valid email address in the format e.g [email protected]");
            //}

            //bool pCheck = IsValidPostcode(postcodeBox.Text);
            //if (!pCheck)
            //{
            //    MessageBox.Show("Please Enter a valid Postcode e.g AB123XY");
            //}

            //WORKING VALUDATION BELOW - not great way to do it
            //if (nameBox.Text == string.Empty)
            //{
            //    MessageBox.Show("Please enter a Customer Name!");
            //    return;
            //}
            //else if (secQuestBox.Text == string.Empty)
            //{
            //    MessageBox.Show("Please Add a Security Question!");
            //    return;
            //}

            //else if (secAnswerBox.Text == string.Empty)
            //{
            //    MessageBox.Show("Please Add a Security Answer");
            //    return;
            //}

            Gelato2UEntitiesA db = new Gelato2UEntitiesA();

            Customer customer = new Customer
            {
                CustomerName           = nameBox.Text,
                AddressLine1           = addressBox.Text,
                Postcode               = postcodeBox.Text,
                Phone                  = phoneNumberBox.Text,
                Email                  = emailBox.Text,
                SecurityQuestion       = secQuestBox.Text,
                SecurityQuestionAnswer = secAnswerBox.Text
            };


            if (validateCheck())
            {
                db.Customers.Add(customer);


                try
                {
                    db.SaveChanges();
                    MessageBox.Show("New Customer Details Saved");
                    this.Hide();
                    CustomerForm cf = new CustomerForm();
                    cf.Show();
                }
                catch (Exception)
                {
                    MessageBox.Show("Failed to Save new Cutomer");
                }
            }//end of validationcheck
            else
            {
                MessageBox.Show("Failed Validation");
            }
        }