/// <summary>
        /// Выдать продукт
        /// </summary>
        public void IssueProduct(int productId)
        {
            lock (locker)
            {
                var product = VmProducts.FirstOrDefault(o => o.Id == productId);
                if (product == null)
                {
                    this.Message = "Товар не найден";
                    return;
                }
                if (product.Count < 0)
                {
                    this.Message = string.Format("Товар \"{0}\" закончился", product.Name);
                    return;
                }

                if (product.Price > Deposit)
                {
                    this.Message = string.Format("На товар \"{0}\" не хватает денег", product.Name);
                    return;
                }

                // Списываем деньги с внесенного депозита
                Deposit -= product.Price;
                // Выдаем товар
                product.Count--;
                this.IssuedProducts.Add(product.Name);

                this.Message = null;
            }
        }
Esempio n. 2
0
        public ActionResult ShowProductDetails(Guid id)
        {
            VmProducts vm;

            using (var db = new DataContext())
            {
                var x = db.Products.Find(id);
                vm = new VmProducts()
                {
                    ProductID       = x.ProductID,
                    ProductName     = x.ProductName,
                    QuantityPerUnit = x.QuantityPerUnit,
                    UnitPrice       = x.UnitPrice
                };
            }

            return(View(vm));
        }
Esempio n. 3
0
        public ActionResult SaveProductDetails(VmProducts vm)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    using (var db = new DataContext())
                    {
                        var x = db.Products.Find(vm.ProductID);
                        x.Updatestuff(vm.ProductName, vm.QuantityPerUnit, vm.UnitPrice);
                        db.SaveChanges();
                    }

                    return(RedirectToAction("ShowProducts"));
                }
                catch (Exception e)
                {
                    return(RedirectToAction("ShowProductDetails", new { id = vm.ProductID }));
                }
            }

            return(RedirectToAction("ShowProductDetails", new { id = vm.ProductID }));
        }