示例#1
0
        public ActionResult Create(PurchaseItem purchaseItem)
        {
            try
            {
                SKURepository skuRepo = new SKURepository();

                if (!ModelState.IsValid)
                {
                    var viewModel = new PurchaseItemFormViewModel()
                    {
                        SKUs         = skuRepo.GetSKUs(),
                        PurchaseItem = purchaseItem
                    };

                    return(View(viewModel));
                }

                PurchaseItemsRepository purchaseItemsRepo = new PurchaseItemsRepository();

                var sku = skuRepo.GetSKUs().Find(x => x.Id == purchaseItem.SKUId);
                purchaseItem.Price           = sku.UnitPrice * purchaseItem.Quantity;
                purchaseItem.PurchaseOrderId = Convert.ToInt32(Session["PurchaseOrderId"]);

                purchaseItemsRepo.Insert(purchaseItem);

                Session.Clear();

                return(RedirectToAction("Edit", "Order", new { @id = purchaseItem.PurchaseOrderId }));
            }
            catch
            {
                return(View());
            }
        }
示例#2
0
        // GET: SKU/Edit/5
        public ActionResult Edit(int id)
        {
            SKURepository skuRepo = new SKURepository();
            var           sku     = skuRepo.GetSKUs().Find(m => m.Id == id);

            return(View(sku));
        }
示例#3
0
        // GET: SKU
        public ActionResult Index()
        {
            SKURepository skuRepo = new SKURepository();
            var           skus    = skuRepo.GetSKUs();

            return(View(skus));
        }
示例#4
0
        // GET: Items/Create
        public ActionResult Create()
        {
            SKURepository skuRepo = new SKURepository();

            var viewModel = new PurchaseItemFormViewModel()
            {
                SKUs = skuRepo.GetSKUs(),
            };

            return(View(viewModel));
        }
示例#5
0
        // GET: Items/Edit/5
        public ActionResult Edit(int id)
        {
            SKURepository           skuRepo           = new SKURepository();
            PurchaseItemsRepository purchaseItemsRepo = new PurchaseItemsRepository();

            var viewModel = new PurchaseItemFormViewModel()
            {
                SKUs         = skuRepo.GetSKUs(),
                PurchaseItem = purchaseItemsRepo.GetPurchaseItems().Find(x => x.Id == id)
            };

            return(View(viewModel));
        }
示例#6
0
        // POST: SKU/Delete/5
        public ActionResult Delete(int id)
        {
            try
            {
                SKURepository skuRepo = new SKURepository();
                skuRepo.Delete(id);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
示例#7
0
        // GET: Order/Edit/5
        public ActionResult Edit(int id)
        {
            OrderStatusRepository   orderStatusRepo   = new OrderStatusRepository();
            CustomerRepository      custRepo          = new CustomerRepository();
            PurchaseOrderRepository purchaseOrder     = new PurchaseOrderRepository();
            PurchaseItemsRepository purchaseItemsRepo = new PurchaseItemsRepository();
            SKURepository           skuRepo           = new SKURepository();

            var list = new List <ItemListViewModel>();

            var order         = purchaseOrder.GetPurchaseOrders().Find(m => m.Id == id);
            var purchaseItems = purchaseItemsRepo.GetPurchaseItems().Where(x => x.PurchaseOrderId == order.Id).ToList();
            var skus          = skuRepo.GetSKUs();

            var itemList = from purchaseItem in purchaseItems
                           join sku in skus on purchaseItem.SKUId equals sku.Id
                           select new
            {
                SKU            = sku.Name,
                Quantity       = purchaseItem.Quantity,
                Price          = purchaseItem.Price,
                PurchaseItemId = purchaseItem.Id
            };

            foreach (var item in itemList)
            {
                list.Add(
                    new ItemListViewModel
                {
                    SKU            = item.SKU,
                    Quantity       = item.Quantity,
                    Price          = item.Price,
                    PurchaseItemId = item.PurchaseItemId
                });
            }
            order.AmountDue = purchaseItemsRepo.GetPurchaseItems().Where(x => x.PurchaseOrderId == order.Id).Sum(x => x.Price);
            var viewModel = new OrderTakingEditForm()
            {
                PurchaseOrder = order,
                OrderStatuses = orderStatusRepo.GetOrderStatus(),
                Customers     = custRepo.GetCustomers(),
                Items         = list
            };

            Session["PurchaseOrderId"] = order.Id;

            return(View(viewModel));
        }
示例#8
0
        public ActionResult Edit(SKU sku)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(sku));
                }

                SKURepository skuRepo = new SKURepository();
                skuRepo.Update(sku);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
示例#9
0
        public ActionResult Edit(OrderTakingEditForm order)
        {
            try
            {
                OrderStatusRepository   orderStatusRepo   = new OrderStatusRepository();
                CustomerRepository      custRepo          = new CustomerRepository();
                PurchaseItemsRepository purchaseItemsRepo = new PurchaseItemsRepository();
                PurchaseOrderRepository purchaseOrderRepo = new PurchaseOrderRepository();
                SKURepository           skuRepo           = new SKURepository();

                if (!ModelState.IsValid)
                {
                    var items = purchaseItemsRepo.GetPurchaseItems().Where(x => x.PurchaseOrderId == order.PurchaseOrder.Id).ToList();
                    var skus  = skuRepo.GetSKUs();
                    var list  = new List <ItemListViewModel>();

                    var itemList = from purchaseItem in items
                                   join sku in skus on purchaseItem.SKUId equals sku.Id
                                   select new
                    {
                        SKU            = sku.Name,
                        Quantity       = purchaseItem.Quantity,
                        Price          = purchaseItem.Price,
                        PurchaseItemId = purchaseItem.Id
                    };

                    foreach (var item in itemList)
                    {
                        list.Add(
                            new ItemListViewModel
                        {
                            SKU            = item.SKU,
                            Quantity       = item.Quantity,
                            Price          = item.Price,
                            PurchaseItemId = item.PurchaseItemId
                        });
                    }

                    var viewModel = new OrderTakingEditForm()
                    {
                        Customers     = custRepo.GetCustomers(),
                        OrderStatuses = orderStatusRepo.GetOrderStatus(),
                        PurchaseOrder = order.PurchaseOrder,
                        Items         = list
                    };

                    return(View(viewModel));
                }

                order.PurchaseOrder.AmountDue = 0;

                var purchaseItems = purchaseItemsRepo.GetPurchaseItems().Where(x => x.PurchaseOrderId == order.PurchaseOrder.Id);;

                foreach (var item in purchaseItems)
                {
                    order.PurchaseOrder.AmountDue += item.Price;
                }

                purchaseOrderRepo.Update(order);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }