Example #1
0
        public ActionResult ConfirmIssue(int id)
        {
            var item = InventoryIssue.TryFind(id);

            if (item == null || item.IsCompleted || item.IsCancelled)
            {
                return(RedirectToAction("Issues"));
            }

            item.Store = item.Warehouse.Store;

            try {
                item.Serial = (from x in InventoryIssue.Queryable
                               where x.Store.Id == item.Store.Id
                               select x.Serial).Max() + 1;
            } catch {
                item.Serial = 1;
            }

            item.IsCompleted      = true;
            item.ModificationTime = DateTime.Now;

            using (var scope = new TransactionScope()) {
                item.UpdateAndFlush();

                foreach (var x in item.Details)
                {
                    InventoryHelpers.ChangeNotification(TransactionType.InventoryIssue, item.Id,
                                                        item.ModificationTime, item.Warehouse, null, x.Product, -x.Quantity);
                }
            }

            return(RedirectToAction("Issues"));
        }
Example #2
0
 public ActionResult DiscardIssueChanges(int id)
 {
     return(PartialView("Issues/_MasterView", InventoryIssue.TryFind(id)));
 }