Exemplo n.º 1
0
        public void SetStorageMappingAsync(ObjectId productId, ObjectId storageId, Action reloadAction)
        {
            Task.Factory.StartNew(() =>
            {
                GetLock();

                _longOperationHandler.Start("SettingStorageOperation");
                Guid articleId = productId;

                using (StoreKeeperDataContext dataContext = new StoreKeeperDataContext())
                {
                    ProductArticle productArticle = dataContext.ProductArticles.FirstOrDefault(pa => pa.ArticleId == articleId);
                    if (productArticle == null)
                    {
                        throw new ProductArticleNotFoundException(GetType(), productId);
                    }
                    foreach (
                        ProductArticleItem item in
                        productArticle.ProductArticleItems.Where(
                            i => i.Article.Type == (int)ArticleType.Card && !i.SkipCalculation))
                    {
                        item.StorageId = storageId;
                    }
                    dataContext.SaveChanges();
                }

                _longOperationHandler.End(new LongOperationResult
                {
                    CustomAction = reloadAction
                });
            });
        }
        public ActionResult DeleteConfirmed(int id)
        {
            ProductArticle productarticle = db.ProductArticle.Find(id);

            db.ProductArticle.Remove(productarticle);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "IdProduct,IdArticle,Id,Quantity,InsertedBy,InsertedOn,UpdatedBy,UpdatedOn")] ProductArticle productarticle)
 {
     if (ModelState.IsValid)
     {
         db.Entry(productarticle).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IdArticle = new SelectList(db.Article, "Id", "Number", productarticle.IdArticle);
     return(View(productarticle));
 }
Exemplo n.º 4
0
 public IProductStorageMapping GetProductStorageMapping(ObjectId productId)
 {
     using (StoreKeeperDataContext dataContext = new StoreKeeperDataContext())
     {
         Guid           articleId      = productId;
         ProductArticle productArticle = dataContext.ProductArticles.FirstOrDefault(pa => pa.ArticleId == articleId);
         if (productArticle == null)
         {
             throw new ProductArticleNotFoundException(GetType(), productId);
         }
         return(new ProductStorageMapping(new ProductStorageMappingDataProxy(this, productArticle.Id)));
     }
 }
        // GET: /ProductArticle/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProductArticle productarticle = db.ProductArticle.Find(id);

            if (productarticle == null)
            {
                return(HttpNotFound());
            }
            return(View(productarticle));
        }
        // GET: /ProductArticle/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProductArticle productarticle = db.ProductArticle.Find(id);

            if (productarticle == null)
            {
                return(HttpNotFound());
            }
            ViewBag.IdArticle = new SelectList(db.Article, "Id", "Number", productarticle.IdArticle);
            return(View(productarticle));
        }
Exemplo n.º 7
0
        public IEnumerable <IProductOrderItem> GetProductOrderDetailItems(ObjectId productItemId, ObjectId productOrderId)
        {
            List <IProductOrderItem> items = new List <IProductOrderItem>();

            using (StoreKeeperDataContext dataContext = new StoreKeeperDataContext())
            {
                ProductArticle productArticle = dataContext.ProductArticles.First(pa => pa.ArticleId == (Guid)productItemId);
                foreach (ProductArticleItem item in productArticle.ProductArticleItems.Where(i => !i.SkipCalculation).OrderBy(i => i.Article.Code))
                {
                    items.Add(new ProductOrderItem(new ProductOrderItemDataProxy(this, item.Id, productOrderId)));
                }
            }

            return(items);
        }
        internal override void Load()
        {
            using (StoreKeeperDataContext dataContext = new StoreKeeperDataContext())
            {
                Guid           id             = ProductArticleId;
                ProductArticle productArticle = dataContext.ProductArticles.Find(id);
                ProductId = productArticle.ArticleId;
                Name      = productArticle.Article.Name;

                _itemProxies.Clear();
                foreach (ProductArticleItem item in productArticle.ProductArticleItems)
                {
                    _itemProxies.Add(new ProductStorageMappingItemDataProxy(DataChange, item.Id));
                }
            }
        }
Exemplo n.º 9
0
        public IProductOrder CreateProductOrder(string code, double count = 0)
        {
            GetLock();
            ProductArticleOrder order;

            using (StoreKeeperDataContext dataContext = new StoreKeeperDataContext())
            {
                Article article = dataContext.Articles.FirstOrDefault(a => a.Code.ToUpper() == code.ToUpper());
                if (article == null || (article.ArticleType != ArticleType.Product))
                {
                    throw new ProductArticleNotFoundException(GetType(), code);
                }

                ProductArticle productArticle =
                    dataContext.ProductArticles.FirstOrDefault(pa => pa.ArticleId == article.Id);
                if (productArticle == null)
                {
                    throw new ProductArticleNotFoundException(GetType(), code);
                }

                order    = new ProductArticleOrder();
                order.Id = ObjectId.NewId();
                order.ProductArticleId = productArticle.Id;
                order.Count            = count;
                order.Priority         = dataContext.ProductArticleOrders.Count() + 1;
                order.UserId           = UserContext.UserId;

                dataContext.ProductArticleOrders.Add(order);
                dataContext.SaveChanges();
            }

            IProductOrder productOrder = new ProductOrder(new ProductOrderDataProxy(this, order.Id));

            _productOrders.Add(productOrder);
            RequestForCalculation();
            return(productOrder);
        }