//[Inject] //public UsuarioAplicacao UsuarioAplicacao { get; set; } public PaginacaoModel2 <Venda, PreVenda, FiltroVenda> ObterDetalhesVenda (PaginacaoModel2 <Venda, PreVenda, FiltroVenda> paginacaoModel, long idVenda) { paginacaoModel.ListaModel2 = PreVendaRepositorio.Filtrar(d => d.IdVenda == idVenda).ToList(); paginacaoModel.NomeCliente = VendaRepositorio.Filtrar(d => d.Id == idVenda).Select(d => d.Cliente.Nome).FirstOrDefault(); return(paginacaoModel); }
public string DeletarVenda(long idVenda) { try { var venda = VendaRepositorio.Buscar(idVenda); if (venda.Situacao == SituacaoVenda.Pago) { return("Impossivel excluir uma venda paga!"); } var preVenda = PreVendaRepositorio.Filtrar(d => d.IdVenda == idVenda).ToList(); if (preVenda != null) { preVenda.ForEach(d => PreVendaRepositorio.Excluir(d)); } var itemVenda = ItemVendaRepositorio.Filtrar(d => d.IdVenda == idVenda).ToList(); if (itemVenda != null) { itemVenda.ForEach(d => ItemVendaRepositorio.Excluir(d)); } if (venda != null) { VendaRepositorio.Excluir(venda); } var linhas = Contexto.Salvar(); return(""); } catch (Exception ex) { return("Erro ao tentar excluir Venda. Tente novamente!"); } }
public string FinalizarVenda(FinalizacaoVendaModel finalizacaoVendaModel) { try { if (finalizacaoVendaModel.IdCliente == 0) { return("Favor selecionar o cliente"); } if (finalizacaoVendaModel.ValorPago > 0 && finalizacaoVendaModel.TipoFinalizador == TipoFinalizador.EmAberto) { return("Favor selecionar o tipo do pagamento!"); } if (finalizacaoVendaModel.ValorPago > 0 && finalizacaoVendaModel.TipoFinalizador == TipoFinalizador.Cortesia) { return("Favor retirar o valor se for uma cortesia"); } if ((finalizacaoVendaModel?.ValorPago ?? 0) == 0 && finalizacaoVendaModel.TipoFinalizador != TipoFinalizador.Saldo && finalizacaoVendaModel.TipoFinalizador != TipoFinalizador.EmAberto && finalizacaoVendaModel.TipoFinalizador != TipoFinalizador.Cortesia) { return("Favor digite o valor a ser pago ou selecione o tipo de pagamento correto!"); } var idUsuarioLogado = AutenticacaoAplicacao.ObterUsuarioLogado().Id; var preVendas = PreVendaRepositorio.Filtrar(d => d.Ativo == Ativo.Ativo && d.IdUsuario == idUsuarioLogado).ToList(); var venda = GravarVenda(finalizacaoVendaModel.IdCliente, preVendas); if (finalizacaoVendaModel.TipoFinalizador == TipoFinalizador.Saldo && finalizacaoVendaModel.ValorPago > venda.Cliente.Saldo) { return("Favor selecionar o tipo do pagamento!"); } if (finalizacaoVendaModel.TipoFinalizador == TipoFinalizador.Saldo && ((venda?.Cliente?.Saldo ?? 0) + (finalizacaoVendaModel?.ValorPago ?? 0)) < venda.Valor) { return("Cliente não possui saldo!"); } GeraPagamentoVenda(finalizacaoVendaModel, venda); var resultado = Contexto.Salvar(); return(""); } catch (Exception ex) { return("Erro ao tentar finalizar a venda, tente novamente!"); } }