示例#1
0
        public ActionResult Save(Requisition requisition)
        {
            Requisition req = new Requisition
            {
                DepartmentId = User.Identity.GetDepartmentId(),
                Remark       = requisition.Remark,
                Status       = CustomStatus.PendingApproval
            };

            requisitionService.Save(req);

            //get the department
            var department = departmentService.Get(req.DepartmentId);

            foreach (ItemRequisition ir in requisition.ItemRequisitions)
            {
                ItemRequisition itemRequisition = new ItemRequisition
                {
                    RequisitionId = req.Id,
                    Quantity      = ir.Quantity,
                    ItemId        = ir.ItemId
                };
                itemRequisitionService.Save(itemRequisition);
            }
            return(Json(new { req = req, dept = department }));
        }
示例#2
0
        public static List <ItemRequisition> MapToClient(List <ItemRequisition> itemRequisition)
        {
            List <ItemRequisition> onlyitemRequisition = new List <ItemRequisition>();

            itemRequisition.ForEach(i =>
            {
                ItemRequisition itemReq = ModelMapper.MapToClient(i);
                onlyitemRequisition.Add(itemReq);
            });

            return(onlyitemRequisition);
        }
示例#3
0
        public JsonResult UpdateRequisitionItemFromAdmin(ItemRequisition requisitionItem)
        {
            // requisitionItem.UserId = GetLoggedinUserInfo().UserId;

            requisitionItem.Item       = null;
            requisitionItem.ApprovedBy = GetLoggedinUserInfo().UserId;

            using (Repository <ItemRequisition> repository = new Repository <ItemRequisition>())
            {
                repository.Update(requisitionItem);

                return(Json("Requisition item update successfull", JsonRequestBehavior.AllowGet));
            }
        }
示例#4
0
        public JsonResult UpdateRequisitionItem(ItemRequisition requisitionItem)
        {
            requisitionItem.UserId            = GetLoggedinUserInfo().UserId;
            requisitionItem.Item              = null;
            requisitionItem.Inventory         = null;
            requisitionItem.MeasurementUnit   = null;
            requisitionItem.Requisition       = null;
            requisitionItem.RequisitionStatus = null;
            requisitionItem.ApprovedByUser    = null;

            using (Repository <ItemRequisition> repository = new Repository <ItemRequisition>())
            {
                repository.Update(requisitionItem);

                return(Json("Requisition item update successfull", JsonRequestBehavior.AllowGet));
            }
        }
示例#5
0
        public static ItemRequisition MapToClientWithoutInventory(ItemRequisition itemReq)
        {
            ItemRequisition onlyItemRequisition = new ItemRequisition()
            {
                Id                  = itemReq.Id,
                ItemId              = itemReq.ItemId,
                InventoryId         = itemReq.InventoryId,
                RequisitionId       = itemReq.RequisitionId,
                ApprovedBy          = itemReq.ApprovedBy,
                ApprovalDate        = itemReq.ApprovalDate,
                Quantity            = itemReq.Quantity,
                MeasurementUnitId   = itemReq.MeasurementUnitId,
                RequisitionStatusId = itemReq.RequisitionStatusId,
                UserId              = itemReq.UserId,
                Item                = itemReq.Item != null?MapToClient(itemReq.Item) : null
            };

            return(onlyItemRequisition);
        }
示例#6
0
        public void Save(ItemRequisition itemRequisition)
        {
            //Check if itemCategory is in DB
            var ir = itemRequisitionContext.Get(itemRequisition.Id);

            //If not in DB, create new
            if (ir == null)
            {
                itemRequisitionContext.Add(itemRequisition);
            }
            //If in DB, update
            else
            {
                ir.Quantity = itemRequisition.Quantity;
                ir.ItemId   = itemRequisition.ItemId;
            }

            //Commit changes
            itemRequisitionContext.Commit();
        }
示例#7
0
        public JsonResult GetRequistionsItemsWithoutInventory(long requisitionId)
        {
            List <ItemRequisition> onlyRequsitionItems = new List <ItemRequisition>();

            using (Repository <ItemRequisition> repository = new Repository <ItemRequisition>())
            {
                Expression <Func <ItemRequisition, bool> > lambda;
                lambda = (x => x.Active == true && x.RequisitionId == requisitionId);

                Func <IQueryable <ItemRequisition>, IOrderedQueryable <ItemRequisition> > orderingFunc = query => query.OrderBy(m => m.Item.Name);

                List <ItemRequisition> requisitonItemList = repository.GetByQuery(lambda, orderingFunc).ToList();

                requisitonItemList.ForEach(r =>
                {
                    ItemRequisition requisitionItem = ModelMapper.MapToClientWithoutInventory(r);
                    onlyRequsitionItems.Add(requisitionItem);
                });
            }

            return(Json(onlyRequsitionItems, JsonRequestBehavior.AllowGet));
        }
示例#8
0
        public JsonResult ApproveRequisition(Inventory inventory, InventoryItem inventoryItem, ItemRequisition requisitionItem, Requisition requistion)
        {
            CreateInventory(inventory);
            CreateInventoryItem(inventoryItem);
            UpdateRequisitionItem(requisitionItem);
            Inventory sourceInventory = GetInventoryByItemAndStore(requisitionItem.ItemId, requistion.ToStoreId);

            if (sourceInventory.Id > 0)
            {
                sourceInventory.Quantity = sourceInventory.Quantity - requisitionItem.Quantity;
                CreateInventory(sourceInventory);
            }
            var updateReq = true;

            foreach (ItemRequisition reqitem in requistion.ItemRequisitions)
            {
                if (reqitem.RequisitionStatusId != 130)
                {
                    updateReq = false;
                }
            }
            if (updateReq)
            {
                requistion.IsOpen = false;
                UpdateRequisition(requistion);
            }

            return(Json("Successfull Approve requistion", JsonRequestBehavior.AllowGet));
        }