public ActionResult GenerateTransferProducts(BoradTransferProducts data)
        {
            Api API = new Api();

            Dictionary <string, string> arg = new Dictionary <string, string>()
            {
                { "String1", JsonConvert.SerializeObject(data) },
                { "Int1", ViewBag.USER.NodeId.ToString() },
                { "Int2", ViewBag.USER.SystemUserId.ToString() },
            };

            var result = API.Post <string>("ProductWarehouse/GenerateMovementTransfer", arg);

            return(new JsonResult {
                Data = result, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
        public string ProcessTransfer(BoradTransferProducts data)
        {
            try
            {
                string movemenstId = "";
                foreach (var item in data.List)
                {
                    item.NodeId       = data.NodeId;
                    item.InsertUserId = data.InsertUserId;
                    if (item.MovementTypeId == (int)Enumeratores.MovementType.Ingreso)
                    {
                        string movementId = _InputOutput.AddMovement(item);

                        if (movementId != null)
                        {
                            _InputOutput.AddMovementDetail(item, movementId);
                            _InputOutput.ProcessMovementInput(movementId, data.InsertUserId.Value);
                        }
                        movemenstId = movemenstId + movementId;
                    }
                    else if (item.MovementTypeId == (int)Enumeratores.MovementType.Egreso)
                    {
                        string movementId = _InputOutput.AddMovement(item);
                        if (movementId != null)
                        {
                            _InputOutput.AddMovementDetail(item, movementId);
                            _InputOutput.ProcessMovementOutput(movementId, data.InsertUserId.Value);
                        }
                        movemenstId = movemenstId + "|" + movementId;
                    }
                }

                return(movemenstId);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }