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()); }
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()); }