예제 #1
0
        public async Task <Models.TbAvaliacaoLivro> InserirAvaliacaoDatabase(Models.TbAvaliacaoLivro avaliacaolivro)
        {
            await db.TbAvaliacaoLivro.AddAsync(avaliacaolivro);

            await db.SaveChangesAsync();

            return(avaliacaolivro);
        }
예제 #2
0
        public async Task <Models.TbAvaliacaoLivro> RemoverAvaliacaoDatabase(int idavaliacao)
        {
            Models.TbAvaliacaoLivro avaliacao = await this.ConsultarAvaliacaoPorIdDatabase(idavaliacao);

            db.TbAvaliacaoLivro.Remove(avaliacao);
            await db.SaveChangesAsync();

            return(avaliacao);
        }
예제 #3
0
        public Models.TbAvaliacaoLivro ConversorTabela(Models.Request.AvaliacaoLivro request)
        {
            Models.TbAvaliacaoLivro tabela = new Models.TbAvaliacaoLivro();

            tabela.VlAvaliacao  = request.avaliacao;
            tabela.IdVendaLivro = request.venda_livro;
            tabela.DsComentario = request.comentario;
            tabela.DtComentario = DateTime.Now;

            return(tabela);
        }
예제 #4
0
        public Models.Response.AvaliacaoLivroResponse ConversorResponse(Models.TbAvaliacaoLivro tabela)
        {
            Models.Response.AvaliacaoLivroResponse response = new Models.Response.AvaliacaoLivroResponse();

            response.avaliacao       = tabela.VlAvaliacao;
            response.venda_livro     = tabela.IdVendaLivro;
            response.comentario      = tabela.DsComentario;
            response.data_publicacao = tabela.DtComentario;

            return(response);
        }
예제 #5
0
        public async Task <Models.TbAvaliacaoLivro> AlterarAvaliacaoDatabase(int idavaliacao, Models.TbAvaliacaoLivro novo)
        {
            Models.TbAvaliacaoLivro avaliacao = await this.ConsultarAvaliacaoPorIdDatabase(idavaliacao);

            novo.VlAvaliacao  = avaliacao.VlAvaliacao;
            novo.DsComentario = avaliacao.DsComentario;
            novo.DtComentario = novo.DtComentario;

            await db.SaveChangesAsync();

            return(avaliacao);
        }
예제 #6
0
        public async Task <Models.TbAvaliacaoLivro> RemoverAvaliacaoBusiness(int idavaliacao)
        {
            ValidarId(idavaliacao);
            Models.TbAvaliacaoLivro avaliacao = await database.RemoverAvaliacaoDatabase(idavaliacao);

            if (avaliacao == null)
            {
                throw new ArgumentException("Não foi possivel alterar esse comentario, confirme os dados e tente novamente");
            }

            return(avaliacao);
        }
예제 #7
0
        public async Task <Models.TbAvaliacaoLivro> ConsultarAvaliacaoIdDatabase(int id)
        {
            ValidarId(id);

            Models.TbAvaliacaoLivro avaliacao = await database.ConsultarAvaliacaoPorIdDatabase(id);

            if (avaliacao == null)
            {
                throw new ArgumentException("Avaliação não foi encontrada.");
            }

            return(avaliacao);
        }
예제 #8
0
        public async Task <ActionResult <Models.Response.AvaliacaoLivroResponse> > AlterarAvaliacaoLivro(int idavaliacaolivro, Models.Request.AvaliacaoLivro request)
        {
            try
            {
                Models.TbAvaliacaoLivro tabela = conversor.ConversorTabela(request);
                tabela = await business.AlterarAvaliacaoBusiness(idavaliacaolivro, tabela);

                return(conversor.ConversorResponse(tabela));
            }
            catch (System.Exception ex)
            {
                return(new  NotFoundObjectResult(new Models.Response.ErroResponse(404, ex.Message)));
            }
        }
예제 #9
0
        public async Task <ActionResult <Models.Response.AvaliacaoLivroResponse> > CadastrarAvaliacaoLivro(Models.Request.AvaliacaoLivro request)
        {
            try
            {
                Models.TbAvaliacaoLivro tabela = conversor.ConversorTabela(request);
                tabela = await business.InserirBusiness(tabela);

                return(conversor.ConversorResponse(tabela));
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(400, ex.Message)));
            }
        }
예제 #10
0
        public async Task <Models.TbAvaliacaoLivro> AlterarAvaliacaoBusiness(int idavaliacao, Models.TbAvaliacaoLivro novo)
        {
            ValidarId(novo.IdVendaLivro);
            ValidarTexto(novo.DsComentario, "Comentario não foi informado.");
            novo.DtComentario = DateTime.Now;

            Models.TbAvaliacaoLivro avaliacao = await database.AlterarAvaliacaoDatabase(idavaliacao, novo);

            if (avaliacao == null)
            {
                throw new ArgumentException("Não foi possivel alterar esse comentario, confirme os dados e tente novamente");
            }

            return(avaliacao);
        }
예제 #11
0
        public async Task <Models.TbAvaliacaoLivro> InserirBusiness(Models.TbAvaliacaoLivro novo)
        {
            ValidarId(novo.IdVendaLivro);
            if (novo.VlAvaliacao < 0 || novo.VlAvaliacao > 5)
            {
                throw new ArgumentException("Valor da avaliação é invalido, valor deve ser maior que 0 e menor ou igual 5");
            }

            Models.TbAvaliacaoLivro result = await database.InserirAvaliacaoDatabase(novo);

            if (result.IdAvaliacaoLivro <= 0)
            {
                throw new ArgumentException("Não possivel inserir a avaliação.");
            }

            return(result);
        }
예제 #12
0
        public async Task <Models.TbAvaliacaoLivro> ConsultarAvaliacaoPorIdDatabase(int idavaliacao)
        {
            Models.TbAvaliacaoLivro avaliacaoLivro = await db.TbAvaliacaoLivro.FirstOrDefaultAsync(x => x.IdAvaliacaoLivro == idavaliacao);

            return(avaliacaoLivro);
        }