Beispiel #1
0
        public Models.Response.RelatorioQuantidadeVenda RelatorioVendaPorDiaResponse(Models.TbVenda tabela)
        {
            Models.Response.RelatorioQuantidadeVenda response = new Models.Response.RelatorioQuantidadeVenda();
            response.DiaDaVenda        = tabela.DtVenda.Value.Day + "/" + tabela.DtVenda.Value.Month + "/" + tabela.DtVenda.Value.Year;
            response.EnderecoDeEntrega = tabela.IdEnderecoNavigation.NmEndereco;
            response.NomeCliente       = tabela.IdClienteNavigation.NmCliente;
            decimal total = 0;

            response.Livros = new  List <Models.Response.Livro>();
            foreach (Models.TbVendaLivro livro in tabela.TbVendaLivro)
            {
                total += (livro.VlVendaLivro * livro.NrLivros);
                response.QtdTotalDeProdutos += livro.NrLivros;
                response.Livros.Add(new Models.Response.Livro()
                {
                    NomeLivro     = livro.IdLivroNavigation.NmLivro,
                    QtdUnitaria   = livro.NrLivros,
                    ValorUnitario = livro.IdLivroNavigation.VlPrecoVenda
                }
                                    );
            }

            response.QtdProdutosDiferentes = tabela.TbVendaLivro.Count;
            response.TotalCompra           = total;
            response.Hora = tabela.DtVenda.ToString().Substring(10, 9);

            return(response);
        }
Beispiel #2
0
        public Models.TbVenda Salvar(Models.TbVenda cl)
        {
            db.Add(cl);
            db.SaveChanges();

            return(cl);
        }
Beispiel #3
0
        public async Task <Models.TbVenda> InserirVenda(Models.TbVenda tabela)
        {
            await db.TbVenda.AddAsync(tabela);

            await db.SaveChangesAsync();

            return(tabela);
        }
 public Models.TbVenda Salvar(Models.TbVenda ln)
 {
     // if (ln.NmCliente == string.Empty)
     //     throw new Exception("Nome é obrigatório");
     // if (ln.DsCpf == string.Empty)
     //     throw new Exception("CPF é obrigatório!!");
     return(db.Salvar(ln));
 }
Beispiel #5
0
 public Models.TbVenda ParaTabela(Models.Request.VendaRequest request)
 {
     Models.TbVenda ln = new Models.TbVenda();
     ln.DtVenda       = request.DataVenda;
     ln.DsValor       = request.Valor;
     ln.IdFuncionario = request.IdFuncionario;
     ln.IdCliente     = request.IdCliente;
     return(ln);
 }
Beispiel #6
0
        public async Task <Models.TbVenda> RemovervendaPorId(int idvenda)
        {
            Models.TbVenda venda = await this.ConsultarVendaPorId(idvenda);

            db.TbVenda.Remove(venda);
            await db.SaveChangesAsync();

            return(venda);
        }
Beispiel #7
0
        public Models.TbVenda Deletar(int id)
        {
            Models.TbVenda venda = db.TbVenda.FirstOrDefault(x => x.IdVenda == id);

            if (venda != null)
            {
                db.TbVenda.Remove(venda);
                db.SaveChanges();
            }
            return(venda);
        }
Beispiel #8
0
        public async Task <Models.TbVenda> RemovervendaPorId(int idvenda)
        {
            ValidarId(idvenda);
            Models.TbVenda venda = await this.RemovervendaPorId(idvenda);

            if (venda == null)
            {
                throw new ArgumentException("Não foi possivel cadastrar essa venda.");
            }
            return(venda);
        }
Beispiel #9
0
        public async Task <Models.TbVenda> ConsultarPorIdBusiness(int idvenda)
        {
            ValidarId(idvenda);
            Models.TbVenda venda = await database.ConsultarVendaPorId(idvenda);

            if (venda == null)
            {
                throw new ArgumentException("Não foi ossivel consultar as vendas deste cliente.");
            }
            return(venda);
        }
Beispiel #10
0
        public Models.Response.VendaResponse ParaResponse(Models.TbVenda ln)
        {
            Models.Response.VendaResponse resp = new Models.Response.VendaResponse();
            resp.Id            = ln.IdVenda;
            resp.DataVenda     = ln.DtVenda;
            resp.Valor         = ln.DsValor;
            resp.IdFuncionario = ln.IdFuncionario;
            resp.IdCliente     = ln.IdCliente;


            return(resp);
        }
Beispiel #11
0
        public async Task <ActionResult <Models.Response.VendaResponse> > CadastrarVenda(Models.Request.VendaRequest request)
        {
            try
            {
                Models.TbVenda 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)));
            }
        }
Beispiel #12
0
        public async Task <ActionResult <Models.Response.VendaResponse> > AlterarVenda(int idvenda, Models.Request.VendaRequest request)
        {
            try
            {
                Models.TbVenda tabela = conversor.ConversorTabela(request);
                tabela = await business.AlterarBusinesss(idvenda, tabela);

                return(conversor.ConversorResponse(tabela));
            }
            catch (System.Exception ex)
            {
                return(new NotFoundObjectResult(new Models.Response.ErroResponse(404, ex.Message)));
            }
        }
Beispiel #13
0
        public Models.TbVenda Alterar(int id, Models.TbVenda novo)
        {
            Models.TbVenda venda = db.TbVenda.FirstOrDefault(x => x.IdVenda == id);

            if (venda != null)
            {
                venda.IdCliente     = novo.IdCliente;
                venda.IdFuncionario = novo.IdFuncionario;
                venda.DsValor       = novo.DsValor;
                venda.DtVenda       = novo.DtVenda;
                db.SaveChanges();
            }

            return(venda);
        }
        public ActionResult <Models.Response.VendaResponse> Deletar(int id)
        {
            try
            {
                Models.TbVenda ln = buss.Deletar(id);

                Models.Response.VendaResponse resp = util.ParaResponse(ln);
                return(resp);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(
                           new Models.Response.ErroResponse(404, ex.Message)
                           ));
            }
        }
        public ActionResult <Models.Response.VendaResponse> Alterar(int id, Models.Request.VendaRequest request)
        {
            try
            {
                Models.TbVenda ln = util.ParaTabela(request);
                buss.Alterar(id, ln);

                Models.Response.VendaResponse resp = util.ParaResponse(ln);
                return(resp);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(
                           new Models.Response.ErroResponse(404, ex.Message)
                           ));
            }
        }
        public async Task <ActionResult> RealizarVenda(Models.Request.RealizarVendaRequest.RealizarVendaPersonalizado request)
        {
            try
            {
                Models.TbVenda tabela = conversor.ParaTabelaVenda(request);
                await estoquebusiness.RetirarQuantidadeVendidaBusiness(tabela.TbVendaLivro.ToList());

                carrinhobusiness.ValidarRetirarDoCarrinho(request.IdCliente);
                tabela = await business.InserirBusiness(tabela);

                return(Ok());
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(400, ex.Message)));
            }
        }
Beispiel #17
0
        public async Task <Models.TbVenda> InserirBusiness(Models.TbVenda novo)
        {
            ValidarId(novo.IdCliente);
            ValidarId(novo.IdEndereco);
            ValidarTexto(novo.DsNf, "nota fiscal");
            if (novo.TpPagamento.ToLower() == "débito")
            {
                novo.NrParcela = 1;
            }

            Models.TbVenda venda = await database.InserirVenda(novo);

            if (venda == null)
            {
                throw new ArgumentException("Não foi possivel cadastrar essa venda.");
            }
            return(venda);
        }
Beispiel #18
0
        public Models.Response.VendaResponse ConversorResponse(Models.TbVenda tabela)
        {
            Models.Response.VendaResponse response = new Models.Response.VendaResponse();

            response.endereco            = tabela.IdEndereco;
            response.cliente             = tabela.IdCliente;
            response.parcela             = tabela.NrParcela;
            response.metodo_pagamento    = tabela.TpPagamento;
            response.valor_frete         = tabela.VlFrete;
            response.codigo_rastreio     = tabela.DsCodigoRastreio;
            response.status_pagamento    = tabela.DsStatusPagamento;
            response.previsao_entrega    = tabela.DtPrevistaEntrega;
            response.comfirmacao_entraga = tabela.BtConfirmacaoEntrega;
            response.nota_fiscal         = tabela.DsNf;
            response.data_venda          = tabela.DtVenda;

            return(response);
        }
Beispiel #19
0
        public Models.TbVenda ConversorTabela(Models.Request.VendaRequest request)
        {
            Models.TbVenda tabela = new Models.TbVenda();

            tabela.IdEndereco           = request.endereco;
            tabela.IdCliente            = request.cliente;
            tabela.NrParcela            = request.parcela;
            tabela.TpPagamento          = request.metodo_pagamento;
            tabela.VlFrete              = request.valor_frete;
            tabela.DsCodigoRastreio     = request.codigo_rastreio;
            tabela.DsStatusPagamento    = request.status_pagamento;
            tabela.DtPrevistaEntrega    = request.previsao_entrega;
            tabela.BtConfirmacaoEntrega = request.comfirmacao_entraga;
            tabela.DsNf    = request.nota_fiscal;
            tabela.DtVenda = request.data_venda;

            return(tabela);
        }
Beispiel #20
0
        public async Task <Models.TbVenda> AlterarVendaDatabase(int idrecebimento, Models.TbVenda novo)
        {
            Models.TbVenda atual = await this.ConsultarVendaPorId(idrecebimento);

            atual.IdCliente            = novo.IdCliente;
            atual.IdEndereco           = novo.IdEndereco;
            atual.BtConfirmacaoEntrega = novo.BtConfirmacaoEntrega;
            atual.DsCodigoRastreio     = novo.DsCodigoRastreio;
            atual.DsStatusPagamento    = novo.DsStatusPagamento;
            atual.DtPrevistaEntrega    = novo.DtPrevistaEntrega;
            atual.DtVenda     = novo.DtVenda;
            atual.NrParcela   = novo.NrParcela;
            atual.TpPagamento = novo.TpPagamento;
            atual.VlFrete     = novo.VlFrete;

            await db.SaveChangesAsync();

            return(atual);
        }
        public Models.TbVenda ParaTabelaVenda(Models.Request.RealizarVendaRequest.RealizarVendaPersonalizado request)
        {
            Models.TbVenda tabela = new Models.TbVenda();
            tabela.IdCliente   = request.IdCliente;
            tabela.IdEndereco  = request.IdEndereco;
            tabela.TpPagamento = request.TipoDePagamento;
            tabela.NrParcela   = request.NumeroParcela;
            if (request.TipoDePagamento == "Dinheiro")
            {
                tabela.DsStatusPagamento = "Aguardando Pagamento";
            }
            else if (request.TipoDePagamento == "Credito" || request.TipoDePagamento == "Debito")
            {
                tabela.DsStatusPagamento = "Pago";
            }
            tabela.VlFrete              = request.ValorFrete;
            tabela.DtVenda              = DateTime.Now;
            tabela.DsCodigoRastreio     = "a definir";
            tabela.DtPrevistaEntrega    = request.DataPrevistaEntrega;
            tabela.BtConfirmacaoEntrega = 0;
            tabela.DsNf = "..";

            tabela.TbVendaStatus = new List <Models.TbVendaStatus>();
            tabela.TbVendaStatus.Add(new Models.TbVendaStatus()
            {
                NmStatus      = "Em Andamento",
                DsVendaStatus = "Aguardando pagamento cair no sistema",
                DtAtualizacao = DateTime.Now
            }
                                     );

            tabela.TbVendaLivro = request.Livros.Select(x => new Models.TbVendaLivro()
            {
                IdLivro      = x.IdLivro,
                NrLivros     = x.NumeroLivro,
                VlVendaLivro = x.VendaLivro,
                BtDevolvido  = 0
            }).ToList();
            return(tabela);
        }
 public Models.TbVenda Alterar(int id, Models.TbVenda novo)
 {
     return(db.Alterar(id, novo));
 }
Beispiel #23
0
        public async Task <Models.TbVenda> ConsultarVendaPorId(int idvenda)
        {
            Models.TbVenda venda = await db.TbVenda.FirstOrDefaultAsync(x => x.IdVenda == idvenda);

            return(venda);
        }