Exemplo n.º 1
0
        public ActionResult ChangeBullet([Bind(Include = "EntityId,InventoryTypeId,EndQuantity,Change,Date")] BulletQuantity entity)
        {
            if (ModelState.IsValid)
            {
                this.changeInventory(entity, new BulletCost(), this.bulletService);
                return(RedirectToAction("BulletIndex"));
            }

            var bullets = from bullet in this.bulletService.GetBulletViews()
                          where !(from q in this.bulletService.GetAllQuantities().OfType <BulletQuantity>()
                                  select q.EntityId).Contains(bullet.Id)
                          select bullet;

            ViewBag.EntityId = new SelectList(bullets, "BulletId", "BulletFullName");
            return(View());
        }
Exemplo n.º 2
0
        public ActionResult ChangeCartridge([Bind(Include = "EntityId,InventoryTypeId,EndQuantity,Change,Date")] CartridgeQuantity entity)
        {
            if (ModelState.IsValid)
            {
                var cost = Request.Form["Cost"];
                if (!String.IsNullOrEmpty(cost))
                {
                    this.changeInventory(entity, new CartridgeCost(), this.cartridgeService);
                    return(RedirectToAction("CartridgeIndex"));
                }

                using (var transaction = new TransactionScope())
                {
                    try
                    {
                        var cartridgeColl = from cartridge in this.cartridgeService.GetAll().OfType <Cartridge>()
                                            where cartridge.Id == entity.EntityId
                                            select cartridge;
                        var singleCartridge = cartridgeColl.First();
                        var quan            = this.cartridgeService.GetQuantityUnits().OfType <Unit>().Where(u => u.Abbreviation == "ea.").First();
                        var negChange       = entity.Change * -1;

                        entity.QuantityUnitId = quan.Id;
                        entity.StartQuantity  = entity.EndQuantity;
                        entity.EndQuantity    = entity.EndQuantity + entity.Change;
                        this.cartridgeService.AddQuantity(entity);

                        var brassQ    = this.brassService.GetAllQuantities().OfType <BrassQuantity>().Where(b => b.EntityId == singleCartridge.BrassId).OrderByDescending(b => b.Date).First();
                        var newBrassQ = new BrassQuantity();
                        newBrassQ.EntityId        = brassQ.EntityId;
                        newBrassQ.Date            = entity.Date;
                        newBrassQ.Change          = negChange;
                        newBrassQ.InventoryTypeId = entity.InventoryTypeId;
                        newBrassQ.StartQuantity   = brassQ.EndQuantity;
                        newBrassQ.EndQuantity     = (brassQ.EndQuantity - entity.Change);
                        newBrassQ.QuantityUnitId  = quan.Id;
                        this.brassService.AddQuantity(newBrassQ);

                        var bulletQ    = this.bulletService.GetAllQuantities().OfType <BulletQuantity>().Where(b => b.EntityId == singleCartridge.CartridgeLoad.BulletId).OrderByDescending(b => b.Date).First();
                        var newBulletQ = new BulletQuantity();
                        newBulletQ.EntityId        = bulletQ.EntityId;
                        newBulletQ.Date            = entity.Date;
                        newBulletQ.Change          = negChange;
                        newBulletQ.InventoryTypeId = entity.InventoryTypeId;
                        newBulletQ.StartQuantity   = bulletQ.EndQuantity;
                        newBulletQ.EndQuantity     = (bulletQ.EndQuantity - entity.Change);
                        newBulletQ.QuantityUnitId  = quan.Id;
                        this.bulletService.AddQuantity(newBulletQ);

                        var primerQ    = this.primerService.GetAllQuantities().OfType <PrimerQuantity>().Where(p => p.EntityId == singleCartridge.PrimerId).OrderByDescending(p => p.Date).First();
                        var newPrimerQ = new PrimerQuantity();
                        newPrimerQ.EntityId        = primerQ.EntityId;
                        newPrimerQ.Date            = entity.Date;
                        newPrimerQ.Change          = negChange;
                        newPrimerQ.InventoryTypeId = entity.InventoryTypeId;
                        newPrimerQ.StartQuantity   = primerQ.EndQuantity;
                        newPrimerQ.EndQuantity     = (primerQ.EndQuantity - entity.Change);
                        newPrimerQ.QuantityUnitId  = quan.Id;
                        this.primerService.AddQuantity(newPrimerQ);

                        var powderQ       = this.powderService.GetAllQuantities().OfType <PowderQuantity>().Where(p => p.EntityId == singleCartridge.CartridgeLoad.PowderId).OrderByDescending(p => p.Date).First();
                        var cartridgeLoad = this.cartridgeLoadService.GetAll().OfType <CartridgeLoad>().Where(c => c.Id == singleCartridge.CartridgeLoad.Id).First();
                        var powderChange  = (int)(entity.Change * cartridgeLoad.PowderWeight);
                        var newPowderQ    = new PowderQuantity();
                        newPowderQ.EntityId        = powderQ.EntityId;
                        newPowderQ.Date            = entity.Date;
                        newPowderQ.Change          = powderChange * -1;
                        newPowderQ.InventoryTypeId = entity.InventoryTypeId;
                        newPowderQ.StartQuantity   = powderQ.EndQuantity;
                        newPowderQ.EndQuantity     = (powderQ.EndQuantity - powderChange);
                        newPowderQ.QuantityUnitId  = powderQ.QuantityUnitId;
                        this.powderService.AddQuantity(newPowderQ);

                        transaction.Complete();
                    }
                    catch
                    {
                    }
                }

                return(RedirectToAction("CartridgeIndex"));
            }

            var finalEntities = this.cartridgeService.GetAllQuantityViewsWithNoInventory();

            ViewBag.EntityId        = new SelectList(finalEntities, "Id", "CartridgeName");
            ViewBag.InventoryTypeId = new SelectList(this.inventoryTypes, "Id", "Description");
            ViewBag.BrassId         = new SelectList(this.brassViews, "Id", "BrassName");
            ViewBag.PrimerId        = new SelectList(this.primerViews, "Id", "PrimerName");

            return(View());
        }