Beispiel #1
0
        public void Update(int productID, ProductLogModel model)
        {
            using (var uow = new UnitOfWork(new DataContext()))
            {
                var product    = uow.Products.Get(productID);
                var productLog = new ProductLog();

                if (model.Action == "Stock In")
                {
                    product.Quantity = product.Quantity + model.Quantity;
                }
                else
                {
                    // quantity to remove
                    //check for limit to be remove
                    var newQuantity = product.Quantity - model.Quantity;
                    if (newQuantity < product.Limit)
                    {
                        throw new ApplicationException("Quantity result must be greater than product limit!");
                    }
                    else
                    {
                        product.Quantity = newQuantity;
                    }
                }
                productLog.Action          = model.Action;
                productLog.CreateTimeStamp = model.Date;
                productLog.ProductID       = productID;
                productLog.Quantity        = model.Quantity;
                productLog.Remarks         = model.Remarks;
                uow.ProductLogs.Add(productLog);
                uow.Products.Edit(product);
                uow.Complete();
            }
        }
Beispiel #2
0
 public List <ProductLogModel> GetAll(string criteria)
 {
     using (var uow = new UnitOfWork(new DataContext()))
     {
         var models   = new List <ProductLogModel>();
         var products = uow.ProductLogs.GetAll(criteria);
         foreach (var product in products)
         {
             var model = new ProductLogModel();
             model.ProductID   = product.ProductID;
             model.Action      = product.Action;
             model.ProductName = product.Product.Description;
             model.Quantity    = product.Quantity;
             model.Remarks     = product.Remarks;
             models.Add(model);
         }
         return(models);
     }
 }
Beispiel #3
0
 public List <ProductLogModel> GetAll(int _productID, string criteria)
 {
     using (var uow = new UnitOfWork(new DataContext()))
     {
         var models   = new List <ProductLogModel>();
         var products = uow.ProductLogs.GetAll(_productID, criteria).OrderByDescending(x => x.CreateTimeStamp);
         foreach (var product in products)
         {
             var model = new ProductLogModel();
             model.Date        = product.CreateTimeStamp;
             model.ProductID   = product.ProductID;
             model.Action      = product.Action;
             model.ProductName = product.Product.Description;
             model.Quantity    = product.Quantity;
             model.Remarks     = product.Remarks;
             models.Add(model);
         }
         return(models);
     }
 }
Beispiel #4
0
 private void Save()
 {
     try
     {
         if (!ValidatedFields())
         {
             return;
         }
         var model = new ProductLogModel();
         model.Date     = dtDate.Value;
         model.Quantity = Utils.ConvertToInteger(txtQuantity.Text);
         model.Remarks  = txtRemarks.Text;
         model.Action   = action;
         Factories.CreateProductLog().Update(productID, model);
         ProductUpdated();
         this.Close();
     }
     catch (Exception ex)
     {
         LocalUtils.ShowErrorMessage(this, ex.Message);
     }
 }