public ActionResult Create([Bind(Include = "PersonKey,PersonLastName,PersonFirstName,PersonEmail,PersonPhone,PersonDateAdded")] Person person)
        {
            if (ModelState.IsValid)
            {
                db.People.Add(person);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(person));
        }
        public ActionResult Create([Bind(Include = "ProductKey,ProductName,ProductPrice")] Product product)
        {
            if (ModelState.IsValid)
            {
                db.Products.Add(product);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(product));
        }
示例#3
0
 public ActionResult Index([Bind(Include = "SaleDate, CustomerKey, EmployeeKey")] Sale sale)
 {
     try
     {
         sale.CustomerKey = (int)Session["PersonKey"];
         sale.SaleDate    = DateTime.Now;
         db.Sales.Add(sale);
         db.SaveChanges();
         Session["SaleKey"] = sale.SaleKey;
     } catch (Exception e) {}
     return(RedirectToAction("Details"));
 }
示例#4
0
 public ActionResult Create([Bind(Include = "ProductKey,ProductName,ProductPrice,SaleKey,SaleDate,CustomerKey,EmployeeKey")] Sale sale)
 {
     if (ModelState.IsValid)
     {
         db.Sales.Add(sale);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProductKey  = new SelectList(db.Sales, "ProductKey", "ProductName", sale.ProductKey);
     ViewBag.EmployeeKey = new SelectList(db.Employees, "EmployeeKey", "EmployeeTitle", sale.EmployeeKey);
     ViewBag.CustomerKey = new SelectList(db.People, "PersonKey", "PersonLastName", sale.CustomerKey);
     return(View(sale));
 }
        public ActionResult Index([Bind(Include = " PersonKey, PersonLastName, PersonFirstName,PersonEmail, PersonPhone,PersonDateAdded")] CustomerRegister cr)
        {   //connecting database of bakery
            BakeryEntities db = new BakeryEntities();
            Person         p  = new Person();

            p.PersonLastName  = cr.PersonLastName;
            p.PersonFirstName = cr.PersonFirstName;
            var email = (from pl in db.People
                         where pl.PersonLastName.Equals(cr.PersonLastName) || pl.PersonFirstName.Equals(cr.PersonFirstName) || pl.PersonEmail.Equals(cr.PersonEmail)
                         select pl.PersonEmail).FirstOrDefault();
            var phone = (from pl in db.People
                         where pl.PersonLastName.Equals(cr.PersonLastName) || pl.PersonFirstName.Equals(cr.PersonFirstName) || pl.PersonPhone.Equals(cr.PersonPhone)
                         select pl.PersonPhone).FirstOrDefault();


            //checking if the personkey existed by comparing the input email and phone

            if (email == cr.PersonEmail || phone == cr.PersonPhone)
            {
                Message msg = new Message("Account Existed");
                return(RedirectToAction("Result", msg));
            }
            p.PersonEmail     = cr.PersonEmail;
            p.PersonPhone     = cr.PersonPhone;
            p.PersonDateAdded = DateTime.Now;
            db.People.Add(p);
            db.SaveChanges();
            Message m = new Message();

            m.MessageText = "Thank you, the book has been added";


            return(View("Result", m));
        }
        public ActionResult Index([Bind(Include = "CustomerKey, EmployeeKey, SaleDetailQuantity, ProductKey")] NewOrder no)
        {
            Sale sale = new Sale();

            sale.SaleDate    = DateTime.Now;
            sale.CustomerKey = no.CustomerKey;
            sale.EmployeeKey = no.EmployeeKey;
            db.Sale.Add(sale);

            SaleDetail sd      = new SaleDetail();
            int        salekey = (from order in db.Sale
                                  where order.SaleDate == (sale.SaleDate)
                                  select order.SaleKey).FirstOrDefault();

            sd.SaleKey = salekey;
            sd.SaleDetailPriceCharged = (from product in db.Products
                                         where product.ProductKey.Equals(no.ProductKey)
                                         select product.ProductPrice).FirstOrDefault();
            sd.ProductKey               = no.ProductKey;
            sd.SaleDetailQuantity       = no.SaleDetailQuantity;
            sd.SaleDetailSaleTaxPercent = (decimal)0.09;
            db.SaleDetail.Add(sd);
            db.SaveChanges();

            Message m = new Message();

            m.MessageText = "Order Complete!";

            return(View("Result", m));
        }
示例#7
0
        public ActionResult Index([Bind(Include = "SaleKey,ProductKey,SaleDetailPriceCharged, SaleDetailQuantity, SaleDetailDiscount, SaleDetailSaleTaxPercent, SaleDetailEatInTax")] SaleDetail s)
        {
            try
            {
                Sale sale = new Sale();
                sale.SaleDate    = DateTime.Now;
                sale.CustomerKey = (int)Session["PersonKey"];
                sale.EmployeeKey = (int)2;
                s.Sale           = sale;


                s.SaleDetailDiscount       = (int)0;
                s.SaleDetailSaleTaxPercent = (decimal).1;
                s.SaleDetailEatInTax       = (decimal).1;
                db.SaleDetails.Add(s);
                db.SaveChanges();

                Message msg = new Message("Thank you for your purchase");
                return(RedirectToAction("Result", msg));
            }
            catch (Exception e)
            {
                Message msg = new Message();
                msg.MessageText = e.Message;
                return(RedirectToAction("Result", msg));
            }
        }
示例#8
0
        public ActionResult Register([Bind(Include = "PersonLastName, PersonFirstName, PersonEmail, PersonPhone, PersonDateAdded")] Person a)
        {
            a.PersonDateAdded = DateTime.Now;
            db.People.Add(a);
            db.SaveChanges();

            return(View());
        }
示例#9
0
        public ActionResult Index([Bind(Include = "ProductName, ProductPrice")] Product p)
        {
            BakeryEntities db = new BakeryEntities();

            db.Products.Add(p);
            db.SaveChanges();
            return(View());
        }
        public ActionResult Index([Bind(Include = "ProductName, ProductPrice")] Product p)
        {
            db.Products.Add(p);
            db.SaveChanges();
            Message msg = new Message();

            msg.MessageText = p.ProductName + " was added.";
            return(View("Result", msg));
        }
        public ActionResult Register([Bind(Include = "ProductName, ProductPrice, ProductKey")] Product pr)
        {
            db.Products.Add(pr);
            db.SaveChanges();

            Message msg = new Message("Thank you for registering!");

            return(View("Result", msg));
        }
示例#12
0
        public ActionResult Index([Bind(Include = "EmployeeKey, SaleDate, ProductKey, SaleDetailPriceCharged,SaleDetailDiscount,SaleKey")] PointOfSale pos)
        {
            db.SaveChanges();

            //Receipt sent through the Message class to result page
            Message msg = new Message("Thank you for your purchase! Total price is " + pos.SaleDetailPriceCharged + " with  discount of " + pos.SaleDetailDiscount + " for item #" + pos.ProductKey);

            return(View("Result", msg));
        }
示例#13
0
        public ActionResult Index([Bind(Include = "PersonLastName, PersonFirstName," +
                                                  "PersonEmail, PersonPhone")] Person p)
        {
            db.People.Add(p);
            db.SaveChanges();



            return(RedirectToAction("Index"));
        }
示例#14
0
        public ActionResult Index([Bind(Include = "PersonFirstName, PersonLastName, PersonEmail,PersonPhone,Personkey")] Person p)
        {
            p.PersonDateAdded = DateTime.Now;
            db.People.Add(p);
            db.SaveChanges();

            Message msg = new Message("Thank you for registering!");

            return(View("Result", msg));
        }
示例#15
0
        public ActionResult Index([Bind(Include = "ProductKey, ProductName, ProductPrice")] Product p)

        {
            db.Products.Add(p);
            db.SaveChanges();
            Message m = new Message();

            m.MessageText = "The product was successfully added.";
            return(View("Result", m));
        }
        public ActionResult Register([Bind(Include = "PersonKey, PersonLastName, PersonFirstName, PersonEmail, PersonPhone, PersonDateAdded")] Person newPerson)
        {
            newPerson.PersonDateAdded = DateTime.Now;
            db.People.Add(newPerson);
            db.SaveChanges();

            Message registrationSuccess = new Message();

            registrationSuccess.MessageText = "Thank you for registering!";
            return(RedirectToAction("Result", registrationSuccess));
        }
示例#17
0
        public ActionResult Index([Bind(Include = "PersonFirstName, PersonLastName, PersonEmail, PersonDateAdded")] Person p)
        {
            p.PersonDateAdded = DateTime.Now;
            b.People.Add(p);
            b.SaveChanges();

            Message m = new Message();

            m.MessageText = "You are now registered.";
            return(RedirectToAction("Result", m));
        }
        public ActionResult Index([Bind(Include = "PersonLastName, PersonFirstName, PersonEmail, PersonPhone, PersonDateAdded")] Person np)
        {
            np.PersonDateAdded = DateTime.Now;
            be.People.Add(np);
            be.SaveChanges();

            Message m = new Message();

            m.MessageTitle = "Registration";
            m.MessageText  = "Thank you, your registration is successful.";
            return(RedirectToAction("Result", m));
        }
示例#19
0
        public ActionResult Index([Bind(Include = "ProductName, ProductPrice")]Product formProduct)
        {
            BakeryEntities db = new BakeryEntities();
            Product dbProduct = new Product();

            dbProduct.ProductName = formProduct.ProductName;
            dbProduct.ProductPrice = formProduct.ProductPrice;

            db.Products.Add(dbProduct);
            db.SaveChanges();

            return View("Verification");
        }
示例#20
0
        public ActionResult Index([Bind(Include = "SaleKey")] string sk)

        {
            var  resultMessage = new Message();
            Sale sl;

            if (Request["SaleKey"] == "")
            {
                sl          = new Sale();
                sl.SaleDate = DateTime.Now;
                db.Sales.Add(sl);
            }
            else
            {
                sl = db.Sales.Find(Int32.Parse(Request["SaleKey"]));
            }

            if (ModelState.IsValid)
            {
                var slDet = new SaleDetail();
                sl.CustomerKey                 = Int32.Parse(Request["CustomerKey"]);
                sl.EmployeeKey                 = Int32.Parse(Request["EmployeeKey"]);
                slDet.ProductKey               = Int32.Parse(Request["Products"]);
                slDet.SaleDetailPriceCharged   = db.Products.Find(Int32.Parse(Request["Products"])).ProductPrice;
                slDet.SaleDetailQuantity       = Request["Quantity"] == "" ? 0 : Int32.Parse(Request["Quantity"]);
                slDet.SaleDetailDiscount       = Request["Discount"] == "" ? 0 : Int32.Parse(Request["Discount"]);
                slDet.SaleDetailSaleTaxPercent = 10;
                slDet.SaleDetailEatInTax       = 20;
                sl.SaleDetails.Add(slDet);
                db.SaveChanges();

                if (Request["addmore"] == "Confirm and Add Another Product")
                {
                    return(View(sl));
                }
                else
                {
                    db.Entry(sl).Reference(r => r.Person).Load();
                    db.Entry(sl).Reference(r => r.Employee).Load();
                    db.Entry(sl.Employee).Reference(r => r.Person).Load();

                    return(View("Receipt", sl));
                }
            }

            else
            {
                resultMessage.MessageText = "We're so sorry, something seems to have gone wrong. Please try again.";
                return(View("Result", resultMessage));
            }
        }
示例#21
0
        //CustomerID and EmployeeID check


//Order Page in put product Quantity by assigned Product ID
        public ActionResult Purchase(int?id)
        {
            Session["ProductOrderID"] = id;
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Product p = db.Products.Find(id);

            ViewBag.ProductOrder = p;
            // Order order = new Order();
            if (p == null)
            {
                return(HttpNotFound());
            }

            if (Session["CustomerID"] == null)
            {
                Message m = new Message("Customer must be logged in to purchase");
                return(View("Result", m));
            }

            if (Session["EmployeeID"] == null)
            {
                Message m1 = new Message("Employee must be logged in to operate the system");
                return(View("Result", m1));
            }
            s.EmployeeKey = (int)Session["EmployeeID"];
            s.CustomerKey = (int)Session["CustomerID"];
            s.SaleDate    = DateTime.Now;
            db.Sales.Add(s);
            db.SaveChanges();
            int saleID = db.Sales.Max(s => s.SaleKey);

            Session["salekey"] = saleID;

            return(View());
        }
        public ActionResult Index
            ([Bind(Include =
                       "PersonLastName, " +
                       "PersonFirstName, " +
                       "PersonEmail, " +
                       "PersonPhone, ")
            ] Person p)

        {
            p.PersonDateAdded = DateTime.Now;
            db.People.Add(p);
            db.SaveChanges();

            return(View("Result"));
        }
示例#23
0
        public ActionResult Index([Bind(Include = "ProductName, ProductPrice")] Product np)
        {
            Product newproduct = new Product();

            newproduct.ProductName  = np.ProductName;
            newproduct.ProductPrice = np.ProductPrice;

            db.Products.Add(newproduct);
            db.SaveChanges();

            Message m = new Message();

            m.MessageText = "Thank you for adding your product to our menu!";
            return(View("Result", m));
        }
示例#24
0
        public ActionResult Index([Bind(Include = "PersonLastName, PersonFirstName," +
                                                  "PersonEmail, PersonPhone")] Person formPerson)
        {
            BakeryEntities db       = new BakeryEntities();
            Person         dbPerson = new Person();

            dbPerson.PersonLastName  = formPerson.PersonLastName;
            dbPerson.PersonFirstName = formPerson.PersonFirstName;
            dbPerson.PersonEmail     = formPerson.PersonEmail;
            dbPerson.PersonPhone     = formPerson.PersonPhone;
            dbPerson.PersonDateAdded = DateTime.Now;

            db.People.Add(dbPerson);
            db.SaveChanges();

            return(View("Validation"));
        }
示例#25
0
        public ActionResult FinishOrder()
        {
            //This will write the sale and saledetail to the database
            //and then pass the order onto the Reciept view
            Sale sale = new Sale();

            sale.EmployeeKey = 1;
            sale.SaleDate    = DateTime.Now;
            sale.CustomerKey = (int)Session["PersonKey"];
            db.Sales.Add(sale);

            //get the order back from the Session
            Order o = (Order)Session["orders"];
            //get the items list from the order object
            List <Item> saleItems = o.GetItems();

            //Loop through them and write the values
            //to the SaleDetails object
            foreach (Item i in saleItems)
            {
                SaleDetail sd = new SaleDetail();
                sd.Sale                     = sale;
                sd.ProductKey               = i.ProductKey;
                sd.SaleDetailPriceCharged   = i.Price;
                sd.SaleDetailQuantity       = i.Quantity;
                sd.SaleDetailDiscount       = (decimal)i.Discount;
                sd.SaleDetailSaleTaxPercent = .09m;
                sd.SaleDetailEatInTax       = .01m;

                db.SaleDetails.Add(sd);
            }
            //save all the changes
            db.SaveChanges();

            //Make sure all the calculations are done
            //before passing the Orders object
            //to the reciept
            o.CalculateSubTotal();
            o.CalculateDiscount();
            o.CalculateSubAfterDiscount();
            o.CalculateTax();
            o.CalculateTotal();

            return(View("Receipt", o));
        }
        public ActionResult Register([Bind(Include = "PersonLastName, PersonFirstName, PersonEmail, PersonPhone")] NewPerson np)
        {
            Person p = new Person
            {
                PersonLastName  = np.PersonLastName,
                PersonFirstName = np.PersonFirstName,
                PersonEmail     = np.PersonEmail,
                PersonPhone     = np.PersonPhone,
                PersonDateAdded = DateTime.Now
            };

            db.People.Add(p);
            db.SaveChanges();

            Message m = new Message();

            m.MessageText = "User successfully registered!";

            return(View("Result", m));
        }
示例#27
0
        public ActionResult FinishOrder()
        {
            // Final Order
            Sale sale = new Sale();

            sale.EmployeeKey = 1;
            sale.SaleDate    = DateTime.Now;
            sale.CustomerKey = (int)Session["PersonKey"];
            db.Sales.Add(sale);

            Order       o         = (Order)Session["orders"];
            List <Item> saleItems = o.GetItems();

            // Sale Details
            foreach (Item i in saleItems)
            {
                SaleDetail sd = new SaleDetail();
                sd.Sale                     = sale;
                sd.ProductKey               = i.ProductKey;
                sd.SaleDetailPriceCharged   = i.Price;
                sd.SaleDetailQuantity       = i.Quantity;
                sd.SaleDetailDiscount       = (decimal)i.Discount;
                sd.SaleDetailSaleTaxPercent = .09m;
                sd.SaleDetailEatInTax       = .01m;

                db.SaleDetails.Add(sd);
            }

            db.SaveChanges();

            o.CalculateSubTotal();
            o.CalculateDiscount();
            o.CalculateSubAfterDiscount();
            o.CalculateTax();
            o.CalculateTotal();

            return(View("Receipt", o));
        }
示例#28
0
 public ActionResult Index([Bind(Include = "ProductKey, SaleDetailQuantity"
                                 )] SaleDetail r)
 {
     try
     {
         Sale s = new Sale();
         s.SaleDate    = DateTime.Now;
         s.CustomerKey = (int)Session["NewPersonKey"];
         s.EmployeeKey = 1;
         db.Sales.Add(s);
         r.Sale = s;
         db.SaleDetails.Add(r);
         db.SaveChanges();
         Message m = new Message();
         m.MessageText = "Thank you for your business";
         return(RedirectToAction("Result", m));
     }
     catch (Exception e)
     {
         Message m = new Message();
         m.MessageText = e.Message;
         return(RedirectToAction("Result", m));
     }
 }
示例#29
0
        public ActionResult Index([Bind(Include = "CustomerKey, Date, FirstName, LastName, Phone,  Email, ProductKey, ProductName, " +
                                                  "PriceCharged, Quantity, Discount, SalesTaxPercent, SalesTax, EatInTax, IsSenior, IsEatIn")] Order o)
        {
            //Populate order for receipt, create Sale and SaleDetail records
            o.Date        = DateTime.Now;
            o.CustomerKey = (int)Session["personKey"];
            o.FirstName   = (String)Session["personName"];
            o.Phone       = (String)Session["personPhone"];
            o.Email       = (String)Session["personEmail"];

            //get product price
            decimal priceEach = (from p in db.Products
                                 where p.ProductKey.Equals((int)o.ProductKey)
                                 select p.ProductPrice).FirstOrDefault();

            o.ProductName = (from p in db.Products
                             where p.ProductKey.Equals((int)o.ProductKey)
                             select p.ProductName).FirstOrDefault();

            o.LastName = (from p in db.People
                          where p.PersonKey.Equals(o.CustomerKey)
                          select p.PersonLastName).FirstOrDefault();

            /*Calculate order amounts where
             * Price = Product price each
             * PriceCharged = Total order price, before any discounts or additions
             * Discount = Total amount of discounts applied
             * EatInTax = total amount of premium added to PriceCharged for Dine-In privilege
             * SalesTax = Total amount of sales tax
             * SalesTaxPercent = Applicable Sales Tax rate (if area code 206 salesTax = 105 else salesTax = 0%)
             * Total = Final receipt total, after all discounts or additions
             */


            o.Price        = priceEach;
            o.PriceCharged = o.Quantity * priceEach;

            // give 15% discount if Senior
            if (o.IsSenior)
            {
                o.Discount = o.Quantity * priceEach * Settings.Default.SeniorDiscountPercent;
            }

            // charge 25% premium for Dine-In orders
            if (o.IsEatIn)
            {
                o.EatInTax = (o.PriceCharged - o.Discount) * Settings.Default.EatInPremium;
            }

            // charge 10% sales tax if phone starts with 206
            if (o.Phone.Substring(0, 3) == Settings.Default.SalesTaxArea)
            {
                o.SalesTaxPercent = Settings.Default.SalesTax206;
                o.SalesTax        = (o.PriceCharged + o.EatInTax - o.Discount) * o.SalesTaxPercent;
            }
            else
            {
                o.SalesTaxPercent = (decimal)0.0;
                o.SalesTax        = (decimal)0.0;
            }

            o.Total = o.PriceCharged + o.EatInTax - o.Discount + o.SalesTax;

            //create, populate and add new Sale record
            Sale s = new Sale()
            {
                SaleDate    = o.Date,
                CustomerKey = o.CustomerKey
            };

            db.Sales.Add(s);

            //create, populate add new SaleDetail record
            SaleDetail sd = new SaleDetail()
            {
                Sale                     = s,
                ProductKey               = o.ProductKey,
                SaleDetailQuantity       = o.Quantity,
                SaleDetailPriceCharged   = o.PriceCharged,
                SaleDetailDiscount       = o.Discount,
                SaleDetailSaleTaxPercent = o.SalesTaxPercent,
                SaleDetailEatInTax       = o.EatInTax
            };

            db.SaleDetails.Add(sd);

            //update database
            db.SaveChanges();

            //use Result for now, TODO add receipt page
            Message m = new Message();

            m.MessageTitle = "Purchase Checkout";
            m.MessageText  = "Thank you, your purchase was successful and we will begin preparing your order.";
            return(RedirectToAction("Receipt", o));
        }