예제 #1
0
        public async Task <int> AddQARespostaTerceiroAsync(PerguntasERespostasRespTerceiroRQ request)
        {
            object[] xParams =
            {
                new SqlParameter("@IdQuestion",         request.IdQuestion),
                new SqlParameter("@ClienteNome",        request.ClienteNome),
                new SqlParameter("@ClienteEmail",       request.ClienteEmail),
                new SqlParameter("@ClienteLocalizacao", request.ClienteLocalizacao.ToNullString()),
                new SqlParameter("@Resposta",           request.Resposta)
            };

            await DataContext.Database.ExecuteSqlCommandAsync("exec QAAAdicionarResposta @IdQuestion,@ClienteNome,@ClienteEmail,@ClienteLocalizacao,@Resposta ", xParams);

            return(1);
        }
예제 #2
0
        public async Task <IHttpActionResult> RespostaTerceiro(PerguntasERespostasRespTerceiroRQ request)
        {
            if (request == null)
            {
                return(BadRequest());
            }
            try
            {
                var result = await _qaService.RespostaTerceiro(request);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
예제 #3
0
        public async Task <PerguntasERespostasRespTerceiroRS> RespostaTerceiro(PerguntasERespostasRespTerceiroRQ request)
        {
            PerguntasERespostasRespTerceiroRS response = new PerguntasERespostasRespTerceiroRS();

            response.Mensagens        = new List <Mensagem>();
            response.ProtocoloRetorno = Guid.NewGuid();
            response.Valido           = true;
            response.StatusCode       = System.Net.HttpStatusCode.OK;
            if (request.IdQuestion < 0)
            {
                response.Valido = false;
                response.AdicionarMensagemErro("-1", "idquestion não pode ser 0", TipoMensagem.ErroValidacao);
            }
            if (request.Resposta.IsEmptyOrWhiteSpace() || request.ClienteEmail.IsEmptyOrWhiteSpace() || request.ClienteEmail.IsEmptyOrWhiteSpace())
            {
                response.Valido = false;
                response.AdicionarMensagemErro("-1", "resposta, e-mail ou nome não poder nulo", TipoMensagem.ErroValidacao);
            }
            try
            {
                if (response.Valido)
                {
                    if (response.Mensagens.All(m => m.Tipo == TipoMensagem.Negocio))
                    {
                        var idRetorno = await qaRepository.AddQARespostaTerceiroAsync(request);

                        response.CodigoRetorno = idRetorno;
                    }
                }
            }
            catch (Exception ex)
            {
                var jsonRequest = JsonConvert.SerializeObject(request);
                response.StatusCode = System.Net.HttpStatusCode.BadRequest;
                logService.AdicionarLogErro("RespostaTerceiro", response.ProtocoloRetorno.ToString(), CodigoMensagem.ERRO_APLICAO.CodigoErro, CodigoMensagem.ERRO_APLICAO.SetFormat(string.Format("MENSAGEM={0}\nINNER_EXCEPTION={1}\nSTACK_TRACE={2}\n JSON REQUEST=={3}", ex.Message, (ex.InnerException != null ? ex.InnerException.ToString() : ""), ex.StackTrace.ToString()), jsonRequest).Descricao, TipoMensagem.ErroAplicacao);
                response.AdicionarMensagemErro(CodigoMensagem.ERRO_APLICAO_GENERICO.CodigoErro, CodigoMensagem.ERRO_APLICAO_GENERICO.Descricao, TipoMensagem.ErroAplicacao);
            }

            response.Valido = response.Mensagens.All(m => m.Tipo == TipoMensagem.Negocio);

            return(response);
        }