Ejemplo n.º 1
0
        public async Task <ActionResult> Index(int?page, string busca)
        {
            await PopulaBadges();

            var response = new ListarPerguntaRS();

            response.Pagination = new PaginationDTO();
            response.Perguntas  = new List <QAProdutoDTO>();
            response.Pagination.ActualPageNumber = page ?? 1;
            response.Pagination.RowsPerPage      = 25;

            response = await _QAService.ListarPerguntaAdmin(new ListarPerguntaRQ
            {
                ActualPageNumber = response.Pagination.ActualPageNumber,
                IdCliente        = AppUserManager.Usuario.IdCliente,
                Busca            = busca
            });

            response.Pagination.ActualPageNumber = page ?? 1;

            var result = new StaticPagedList <QAProdutoDTO>(response.Perguntas.ToList(), response.Pagination.ActualPageNumber, 25, response.Pagination.TotalRows);

            ViewBag.TotalRows  = response.Pagination.TotalRows;
            ViewBag.Avaliacoes = result;



            return(View(result));
        }
Ejemplo n.º 2
0
        public async Task <ListarPerguntaRS> ListarPerguntaAdmin(ListarPerguntaRQ request)
        {
            var qa = new ListarPerguntaRS();

            qa.Mensagens        = new List <Mensagem>();
            qa.ProtocoloRetorno = Guid.NewGuid();
            qa.Pagination       = new PaginationDTO();
            qa.Perguntas        = new List <QAProdutoDTO>();

            using (var ctx = new DataBaseContext())
            {
                object[] xParams =
                {
                    new SqlParameter("@IdCliente",        request.IdCliente),
                    new SqlParameter("@ActualPageNumber", request.ActualPageNumber),
                    new SqlParameter("@Busca",            request.Busca.IfEmptyOrWhiteSpace("")),
                    new SqlParameter("@IdQAStatus",       StatusQAEnum.PendenteRevisao)
                };
                var db = await ctx.Database.SqlQuery <QAListarPaginaDataMapper>("exec QAListarAdmin @IdCliente, @ActualPageNumber, @Busca,@IdQAStatus", xParams).ToListAsync();

                if (db.Any())
                {
                    qa.Pagination.TotalRows         = db.FirstOrDefault().TotalRows;
                    qa.Pagination.ActualPageNumber  = request.ActualPageNumber;
                    qa.Pagination.RowsPerPage       = (int)Math.Ceiling(qa.Pagination.TotalRows / (double)25);
                    qa.Pagination.BtnPaginationName = "btnQAGetPage";

                    foreach (var item in db)
                    {
                        qa.Perguntas.Add(new QAProdutoDTO
                        {
                            IDQuestion         = item.IdQA,
                            ClienteNome        = item.ClienteNome.ToUpperFirstLetter(),
                            ClienteEmail       = item.ClienteEmail,
                            ClienteLocalizacao = item.ClienteLocalizacao,
                            Badge                          = item.Badge,
                            ClientePergunta                = item.ClientePergunta,
                            DtPergunta                     = item.DtPergunta,
                            DTResposta                     = item.DtPergunta,
                            QtdRespAjudou                  = item.QtdAjudou,
                            QtdRespNaoAjudou               = item.QtdNaoAjudou,
                            Resposta                       = item.Resposta,
                            RespostaNome                   = item.NomeModerador,
                            RespondidoPorOutroCliente      = item.RespTerceiroStatus == 1 ? true: false,
                            RespTerceiroClienteEmail       = item.RespTerceiroClienteEmail,
                            RespTerceiroClienteLocalizacao = item.RespTerceiroClienteLocalizacao,
                            RespTerceiroClienteNome        = item.RespTerceiroClienteNome,
                            Produto                        = new ProdutoDTO {
                                PrdCodigo = item.ProdCodigo,
                                PrdNome   = item.PrdNome,
                                PrdLink   = item.PrdLink
                            },
                            Loja = new LojaDTO
                            {
                                LojaCodigo      = item.CodigoLoja,
                                LojaNome        = item.LojaNome,
                                LojaMarketPlace = item.LojaMktPlace
                            }
                        });
                    }
                }
            }

            return(qa);
        }