示例#1
0
        public ActionResult Move(MoveStockModel input, HttpPostedFileBase requisitionDoc, HttpPostedFileBase authorizationDoc)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.LocationId = new SelectList(Db.Locations, "Id", "Name");
                return(View(input));
            }

            var stock = _stockRepo.Find(input.StockId);

            if (stock == null)
            {
                return(new HttpNotFoundResult("Cannot find Stock with given ID"));
            }

            var movement = new Movement
            {
                DateCreated  = DateTime.UtcNow,
                StockId      = input.StockId,
                ToLocationId = input.LocationId,
                Notes        = input.Notes,
            };

            movement = _itemRepo.MoveStock(movement);

            var movementRepo = new MovementRepository(Db);

            if (requisitionDoc != null)
            {
                movementRepo.AttachRequisitionDoc(movement.Id, _pictureSaver.Save(requisitionDoc));
            }

            if (authorizationDoc != null)
            {
                movementRepo.AttachAuthorizationDoc(movement.Id, _pictureSaver.Save(authorizationDoc));
            }
            var toLocation = Db.Locations.Find(input.LocationId);

            if (toLocation != null)
            {
                LogActivity("moved ", movement.ToString(), movement.Id);

                FlashSuccess(string.Format("Stock item '{0}' has been moved to the location '{1}' successfully", stock.Item.Name,
                                           toLocation.Name));
            }
            return(RedirectToAction("Details", "Items", new { id = stock.ItemId }));
        }
示例#2
0
 public MovementController(MovementRepository provierRepo)
 {
     this.movementRepo = provierRepo;
 }
示例#3
0
 public MovementsController()
 {
     _movementRepo = new MovementRepository(Db);
 }