public async Task <ActionResult> Put([FromBody] StatusAceiteRequest request)
        {
            request.ProcessRequest(Request, HttpContext);

            var response = await _service.AlterarStatusAceite(request);

            return(this.GetHttpResponse(response));
        }
Ejemplo n.º 2
0
        public static CompraParceiro Map(this StatusAceiteRequest entity)
        {
            if (entity == null)
            {
                return(null);
            }

            return(new CompraParceiro()
            {
                IdCompra = entity.IdCompra,
                IdCompraEntregaSku = entity.IdCompraSKU,
                StatusAceite = entity.StatusAceite
            });
        }
Ejemplo n.º 3
0
        public async Task <StatusAceiteResponse> AlterarStatusAceite(StatusAceiteRequest request)
        {
            var response = new StatusAceiteResponse();

            var validationResult = request.Validate();

            if (!validationResult.IsValid)
            {
                response.Valido = false;
                foreach (var failure in validationResult.Errors)
                {
                    response.AdicionarMensagemErro(TipoMensagem.Validacao, failure.ErrorMessage);
                }

                return(response);
            }

            try
            {
                var compraParceiro = request.Map();

                string correlationId = System.Guid.NewGuid().ToString();

                var result = await compraParceiro.AlterarStatusAceite(correlationId);

                if (!result.Valido)
                {
                    response.Valido = false;
                    response.AdicionarMensagemErro(TipoMensagem.ErroNegocio, "Não foi possível alterar status aceite.");
                }
                else
                {
                    response.AlterarStatus = true;
                    response.Valido        = true;
                }
            }
            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);
        }