Esempio n. 1
0
        public async void TestaDesfazimento()
        {
            var requestEGift = new GerarCompraRequest()
            {
                GerarEGift = GerarEGiftDtoPadrao()
            };

            var responseEGift = await ObterService().GerarCodigo(requestEGift);

            Assert.NotEmpty(responseEGift.EGift.RequisicaoId);

            var request = new DesfazimentoRequest()
            {
                RequisicaoId = responseEGift.EGift.RequisicaoId
            };

            var response = await ObterService().Desfazimento(request);

            Assert.True(response.Valido);
        }
Esempio n. 2
0
        public async Task <DesfazimentoResponse> Desfazimento(DesfazimentoRequest request)
        {
            var response = new DesfazimentoResponse();

            try
            {
                var validationResult = request.Validate();
                if (!validationResult.IsValid)
                {
                    response.Valido = false;
                    foreach (var failure in validationResult.Errors)
                    {
                        response.AdicionarMensagemErro(TipoMensagem.Validacao, failure.ErrorMessage);
                    }
                }
                else
                {
                    var desfazimentoResponse = await _httpService.DesfazimentoEGift(new DesfazimentoEGiftRequest()
                    {
                        RequisicaoId = request.RequisicaoId
                    });

                    response.Valido = true;

                    return(response);
                }
            }
            catch (ApplicationException appEx)
            {
                response.Valido = false;
                response.AdicionarMensagemErro(TipoMensagem.ErroNegocio, appEx.Message);
            }
            catch (Exception ex)
            {
                response.Valido = false;
                response.AdicionarMensagemErro(TipoMensagem.ErroAplicacao, ex.StackTrace);
            }
            return(response);
        }