Exemplo n.º 1
0
        public async Task Should_Return500Or404_When_InvalidRequest(
            UpdateTransferRequest updateTransferRequest,
            IDictionary <string, string> headers,
            IAccessTokenResult accessTokenResult,
            bool throws
            )
        {
            var(_, _, _, _, localization) = updateTransferRequest;

            mockAccessTokenValidator.SetupValidateToken(accessTokenResult);
            mockCoreContext.SetupLocalization(localization);
            mockTransfersService.SetupUpdateTransfer(throws);

            var response = await mockFunction.Run(updateTransferRequest, headers);

            switch (accessTokenResult)
            {
            case ValidAccessTokenResult _:
                Assert.That(response, Is.InstanceOf <InternalServerErrorMessageResult>());
                break;

            default:
                Assert.That(response, Is.InstanceOf <NotFoundResult>());
                break;
            }
        }
Exemplo n.º 2
0
        public async Task TransfersUpdateUpdate()
        {
            var request = new UpdateTransferRequest {
                Amount = 50000, // THB 500.00
            };

            var transfer = await Client.Transfers.Update("trsf_test_52yew5v158k3d4awmu2", request);

            Assert.AreEqual(50000, transfer.Amount);
        }
 public IActionResult Update([FromBody] UpdateTransferRequest req)
 {
     try
     {
         _handler.Update(req);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
 }
Exemplo n.º 4
0
        public async Task <IActionResult> Put(int id, [FromBody] UpdateTransferRequest value)
        {
            SAPContext context = HttpContext.RequestServices.GetService(typeof(SAPContext)) as SAPContext;

            SAPbobsCOM.StockTransfer request = (SAPbobsCOM.StockTransfer)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryTransferRequest);

            if (request.GetByKey(id))
            {
                request.Lines.SetCurrentLine(0);
                string from = request.Lines.FromWarehouseCode;
                string to   = request.Lines.WarehouseCode;
                request.Lines.Add();
                for (int i = 0; i < value.newProducts.Count; i++)
                {
                    request.Lines.ItemCode          = value.newProducts[i].code;
                    request.Lines.Quantity          = value.newProducts[i].quantity;
                    request.Lines.UoMEntry          = value.newProducts[i].uom;
                    request.Lines.UseBaseUnits      = (SAPbobsCOM.BoYesNoEnum)value.newProducts[i].uomBase;
                    request.Lines.FromWarehouseCode = from;
                    request.Lines.WarehouseCode     = to;
                    request.Lines.Add();
                }

                for (int i = 0; i < value.ProductsChanged.Count; i++)
                {
                    request.Lines.SetCurrentLine(value.ProductsChanged[i].LineNum);
                    if (request.Lines.Quantity != value.ProductsChanged[i].quantity)
                    {
                        request.Lines.Quantity = value.ProductsChanged[i].quantity;
                    }

                    if (request.Lines.UoMEntry != value.ProductsChanged[i].uom)
                    {
                        request.Lines.UseBaseUnits = (SAPbobsCOM.BoYesNoEnum)value.ProductsChanged[i].uomBase;
                        request.Lines.UoMEntry     = value.ProductsChanged[i].uom;
                    }
                }

                int result = request.Update();
                if (result == 0)
                {
                    return(Ok());
                }
                else
                {
                    string error = context.oCompany.GetLastErrorDescription();
                    return(BadRequest(new { error }));
                }
            }

            return(BadRequest(new { error = "No Existe Documento" }));
        }
Exemplo n.º 5
0
        public void Update(UpdateTransferRequest req)
        {
            var transfer = _repo.GetById(req.Id);

            if (transfer == null)
            {
                return;
            }

            transfer.Update(req);

            _repo.Update(transfer);

            _unitOfWork.Commit();
        }
Exemplo n.º 6
0
        public async Task Should_Return200_When_ValidRequest(
            UpdateTransferRequest updateTransferRequest,
            IDictionary <string, string> headers,
            IAccessTokenResult accessTokenResult,
            bool throws
            )
        {
            var(_, _, _, _, localization) = updateTransferRequest;

            mockAccessTokenValidator.SetupValidateToken(accessTokenResult);
            mockCoreContext.SetupLocalization(localization);
            mockTransfersService.SetupUpdateTransfer(throws);

            var response = await mockFunction.Run(updateTransferRequest, headers);

            Assert.That(response, Is.InstanceOf <OkResult>());
        }
Exemplo n.º 7
0
        internal static IEnumerable <TestCaseData> InvalidRequests()
        {
            updateTransferRequest = new UpdateTransferRequest
            {
                Type = "fieldComplete"
            };
            accessTokenResult = new Mock <ValidAccessTokenResult>().Object;
            throws            = true;

            yield return(GetTestCaseWhen("Token is valid, body is missing transferToken and client is requesting"));

            updateTransferRequest = new UpdateTransferRequest
            {
                TransferToken = "validToken"
            };

            yield return(GetTestCaseWhen("Token is valid, body is missing type and client is requesting"));
        }
Exemplo n.º 8
0
        public async Task <IActionResult> Run(
            [HttpTrigger(
                 "post",
                 Route = Routes.UpdateTransfer
                 )] UpdateTransferRequest updateTransferRequest,
            IDictionary <string, string> headers
            )
        {
            try
            {
                AccessTokenResult = await accessTokenValidator.ValidateToken(headers);

                switch (AccessTokenResult)
                {
                case ValidAccessTokenResult _:
                case NoAccessTokenResult _:
                    var(transferToken, field, type, messageItemCodename, localization) = updateTransferRequest;

                    if (localization != null)
                    {
                        coreContext.Localization = localization;
                    }

                    var updateType = Enum.Parse <UpdateType>(type ?? "", true);

                    await transfersService.UpdateTransfer(new UpdateTransferParameters
                    {
                        TransferToken       = transferToken,
                        Field               = field,
                        Type                = updateType,
                        MessageItemCodename = messageItemCodename
                    });

                    return(LogOk());

                default:
                    return(LogUnauthorized());
                }
            }
            catch (Exception ex)
            {
                return(LogException(ex));
            }
        }
Exemplo n.º 9
0
        public async Task Should_Return401Or404_When_UnauthorizedRequest(
            UpdateTransferRequest updateTransferRequest,
            IDictionary <string, string> headers,
            IAccessTokenResult accessTokenResult,
            bool throws
            )
        {
            mockAccessTokenValidator.SetupValidateToken(accessTokenResult);

            var response = await mockFunction.Run(updateTransferRequest, headers);

            switch (accessTokenResult)
            {
            case ExpiredAccessTokenResult _:
                Assert.That(response, Is.InstanceOf <UnauthorizedResult>());
                break;

            default:
                Assert.That(response, Is.InstanceOf <NotFoundResult>());
                break;
            }
        }
Exemplo n.º 10
0
 public async Task UpdateTransferById(int id, UpdateTransferRequest request)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 11
0
 public void Update(UpdateTransferRequest req)
 {
     Value        = req.Value;
     TransferDate = req.TransferDate;
     TransferType = Value >= 0 ? ETransferType.Profit : ETransferType.Loss;
 }