Esempio n. 1
0
        public ActionResult SalesOrderCreate(SOCreateVM soCreateVM , string complete, string cancel, string clearall)
        {
            // get rid of SalesOrder in VM
            if (ModelState.IsValid)
            {
                if (!string.IsNullOrEmpty(complete))
                {
                    SalesOrder so = new SalesOrder();
                    so.OrderDetails = new List<SalesOrderDetail>();
                    so.OrderNo = soCreateVM.OrderNo;
                    so.DateOrdered = DateTime.Now;

                    foreach (OrderedProduct prod in soCreateVM.OrderedProducts)
                    {
                        // if returned product exist, then create new SalesOrderDetail and insert to table
                        //if (prod.ProductID != 0 && !String.IsNullOrEmpty(prod.ProductID.ToString()))
                        if(!String.IsNullOrEmpty(prod.Quantity.ToString()))
                        {
                            // TODO : Add GUID to SalesOrderDetail + SOVM + View
                            SalesOrderDetail soDetail = new SalesOrderDetail();
                            // soDetail.OrderID = soCreateVM.Order.OrderID ?? null;
                            soDetail.ProductID = prod.ProductID ?? null ;
                            soDetail.SKU = prod.SKU ?? "";
                            soDetail.ProductName = prod.Name ?? "";
                            soDetail.Quantity = prod.Quantity;
                            soDetail.Total = prod.SubTotal;

                            //if (!String.IsNullOrEmpty(prod.Price))
                            //{ soDetail.Price = Decimal.Parse(prod.Price.TrimStart('$')); }

                            soDetail.Price = prod.Price ?? null;

                            so.OrderDetails.Add(soDetail);
                        }
                    }

                    soRepo.SaveSalesOrder(so);

                    // return RedirectToAction("NewSalesOrder");
                    // return Redirect("/Main/SalesOrder");
                    return View("OrderCompleted");
                }
            }

            if (!string.IsNullOrEmpty(cancel))
            {
                return RedirectToAction("SalesOrderCreate");
                //return Redirect("/Main/SalesOrder");
            }
            //else
            //{
            //    return RedirectToAction("NewSalesOrder");
            //    // return Redirect("/Main/SalesOrder");

            //}

            return View(soCreateVM);
        }
Esempio n. 2
0
        public ViewResult SalesOrderCreate()
        {
            // create new SOCreateVieModel => fill with data => send to View
            SOCreateVM soVM = new SOCreateVM();
            int orderNo = Int32.Parse(soRepo.SalesOrders
                                            .OrderByDescending(o => o.OrderID)
                                            .First()
                                            .OrderNo);

            soVM.OrderNo = (orderNo + 1).ToString();
            soVM.Buttons = btnRepo.Buttons
                                     //.Include("Variant")
                                     .Include(b => b.Variant)
                                     .OrderBy(b => b.ButtonID)
                                     .Take(9)
                                     .ToList();

            soVM.OrderedProducts = CreateEmptyProducts();

            return View(soVM);
        }