public IHttpActionResult PutVendaViewModel(Guid id, VendaViewModel vendaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != vendaViewModel.Id || !VendaViewModelExists(id))
            {
                return(BadRequest());
            }
            _vendaAppService.Atualizar(vendaViewModel);

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#2
0
        public async Task <JsonResult> SalvarVenda(VendaViewModel model)
        {
            try
            {
                Venda venda = await MontarObjetoVenda(model, calcularVenda : true);

                await _vendaServico.Salvar(venda);

                return(Json(new { isValid = true, message = "Seu pedido foi efetuado com sucesso" }));
            }
            catch
            {
                return(Json(new { isValid = false, message = "Ocorreu um erro com a sua requisição. Tente novamente mais tarde" }));
            }
        }
示例#3
0
        public IActionResult Cadastro(VendaViewModel entidade)
        {
            if (ModelState.IsValid)
            {
                ServicoAplicacaoVenda.Cadastrar(entidade);
            }
            else
            {
                entidade.ListaClientes = ServicoAplicacaoCliente.ListarClientesDropDownList();
                entidade.ListaProdutos = ServicoAplicacaoProduto.ListarProdutosDropDownList();

                return(View(entidade));
            }
            return(RedirectToAction("Index"));
        }
        public IActionResult Index()
        {
            var venda = vendaGerenciador.RecuperarVenda()
                        .Select(c => new VendaViewModel()
            {
                IdCliente = c.IdCliente,
                IdVeiculo = c.IdVeiculo,
            });

            var model = new VendaViewModel {
                Vendas = venda
            };

            return(View(model));
        }
        public async Task <IActionResult> Create([FromBody] VendaViewModel vendaViewModel)
        {
            var venda = new Venda {
                Cliente          = await _clienteRepositorio.ListarPorId(vendaViewModel.Cliente.PessoaId),
                ItensVendas      = vendaViewModel.ItemVenda,
                Total            = vendaViewModel.TotalVenda,
                FormaDePagamento = await _formaDePagementoRepositorio.ListarPorId(vendaViewModel.FormaDePagamento.FormaDePagamentoId),
                ValorPagamento   = vendaViewModel.ValorPagamento,
                Usuario          = await _usuarioRepositorio.ListarPorId(1),
                Data             = DateTime.Now,
                Situacao         = SituacaoVendaEnum.Confirmada
            };
            await _vendaRepositorio.InserirVenda(venda);

            return(RedirectToAction(nameof(Index)));
        }
示例#6
0
        public IActionResult Cadastro(VendaViewModel entidade)
        {
            //Valida a ViewModel
            if (ModelState.IsValid)
            {
                ServicoAplicacaoVenda.Criar(entidade);
            }
            else
            {
                entidade.ListaClientes = ServicoAplicacaoCliente.BuscarSelectList();
                entidade.ListaProdutos = ServicoAplicacaoProduto.BuscarSelectList();

                return(View(entidade));
            }
            return(RedirectToAction("Index"));
        }
示例#7
0
        public async Task <IActionResult> Delete(Guid id, VendaViewModel venda)
        {
            var commandResult = await _vendaApplicationService.Remove(venda);

            if (commandResult.Success)
            {
                NotifyCommandResultSuccess();
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                NotifyCommandResultErrors(commandResult.Errors);
            }

            return(View(venda));
        }
        public IActionResult Cadastro(int?id)
        {
            VendaViewModel viewModel = new VendaViewModel();

            viewModel.ListaClientes = ListaClientes();
            viewModel.ListaProdutos = ListaProdutos();
            if (id != null)
            {
                var entidade = dbContext.Venda.Where(x => x.Id == id).FirstOrDefault();
                viewModel.Id        = entidade.Id;
                viewModel.Data      = entidade.Data;
                viewModel.IdCliente = entidade.IdCliente;
                viewModel.Total     = entidade.Total;
            }
            return(View(viewModel));
        }
示例#9
0
        /*Fim Simulação de Preço ↑ */


        public IActionResult CadVenda()
        {
            var IdUsuario = HttpContext.Session.GetInt32("IdUsuario");

            if (IdUsuario != null)
            {
                var venda = new VendaViewModel()
                {
                    GetFuncionarios = vendaRepository.GetFuncionarioList(),
                    GetProdutos     = vendaRepository.GetProdutoList(),
                    GetClientes     = vendaRepository.GetClienteList()
                };
                return(View(venda));
            }
            return(RedirectToAction("Login", "Usuario"));
        }
示例#10
0
        public async Task <IActionResult> Create(VendaViewModel vendaViewModel)
        {
            if (!ModelState.IsValid)
            {
                vendaViewModel = await PopularClientesProdutos(new VendaViewModel());

                return(View(vendaViewModel));
            }

            var venda = _mapper.Map <Venda>(vendaViewModel);

            var produto = await _produtoRepository.ObterPorId(venda.ProdutoId);

            if (venda.Quantidade > produto.Quantidade)
            {
                ModelState.AddModelError("", "A quantidade do pedido excede o estoque do produto");
                vendaViewModel = await PopularClientesProdutos(new VendaViewModel());

                return(View(vendaViewModel));
            }

            if (venda.Quantidade <= 0)
            {
                ModelState.AddModelError("", "A quantidade do produto deve ser maior que 0");
                vendaViewModel = await PopularClientesProdutos(new VendaViewModel());

                return(View(vendaViewModel));
            }

            venda.StatusVenda = StatusVenda.Criada;
            venda.TotalVenda  = venda.Quantidade * produto.Valor;

            produto.Quantidade += -venda.Quantidade;

            await _produtoRepository.Atualizar(produto);

            await _vendaService.Adicionar(venda);

            if (!OperacaoValida())
            {
                return(View(vendaViewModel));
            }

            TempData["Sucesso"] = "Venda cadastrada com sucesso!";

            return(RedirectToAction(nameof(Index)));
        }
示例#11
0
        public ActionResult Cadastro(VendaViewModel viewModel, long[] produtoId, decimal[] quantidade)
        {
            carregarViewBag();
            try
            {
                var obj = _vendaService.Salvar(viewModel.Id, produtoId, quantidade, DateTime.Now, viewModel.NomeCliente);
                TempData["success"] = "Operação Realizado com sucesso!";
            }
            catch (Exception ex)
            {
                TempData["warning"] = "ops! Erro na operação ! " + ex.Message;
                return(View());
            }


            return(RedirectToAction("Lista"));
        }
示例#12
0
        public VendaViewModel Map(Venda domainModel)
        {
            Mapper.CreateMap <Venda, VendaViewModel>()
            .ForMember(a => a.DataVenda, opt => opt.MapFrom(src => src.DataVenda))
            .ForMember(a => a.NomeCliente, opt => opt.MapFrom(src => src.NomeCliente))
            .ForMember(a => a.Total, opt => opt.MapFrom(src => src.Total))
            .ForMember(a => a.Itens, opt => opt.Ignore())
            ;

            var viewModel = new VendaViewModel();

            viewModel.Produto = string.Join(",", domainModel.Itens.Select(x => x.Produto.Nome));

            Mapper.Map(domainModel, viewModel);

            return(viewModel);
        }
        public VendaViewModel Adicionar(VendaViewModel vendaViewModel)
        {
            var venda = Mapper.Map <Venda>(vendaViewModel);

            var produtoReturn = _vendaService.Adicionar(venda);

            if (produtoReturn.ValidationResult.IsValid)
            {
                if (!Commit())
                {
                    AdicionarErrosValidacao(venda.ValidationResult, "Ocorreu um erro ao salvar no banco de dados.");
                }
            }

            vendaViewModel.ValidationResult = produtoReturn.ValidationResult;
            return(vendaViewModel);
        }
示例#14
0
        public IActionResult Cadastro(int?id)
        {
            VendaViewModel viewModel = new VendaViewModel();

            viewModel.ListaCliente  = ListaClientes();
            viewModel.ListaProdutos = ListaProdutos();
            if (id != null)
            {
                var entity = _dbContext.Venda.Where(x => x.Codigo == id).FirstOrDefault();
                viewModel.Codigo        = entity.Codigo;
                viewModel.Data          = entity.Data;
                viewModel.CodigoCliente = entity.CodigoCliente;
                viewModel.Total         = entity.Total;
            }

            return(View(viewModel));
        }
示例#15
0
        public ActionResult Adicionar()
        {
            var viewModel = new VendaViewModel();
            var usuario   = _usuarioNegocio.SelecionarPorLogin(User.Identity.Name);
            int?usuarioId = null;

            if (usuario.TipoUsuarioId != (int)TipoUsuarioEnum.Administrador &&
                usuario.TipoUsuarioId != (int)TipoUsuarioEnum.Coordenador)
            {
                usuarioId = usuario.Id;
            }

            viewModel.ArrayQtdPorStatus = _vendaNegocio.ListarQtdsVendaPorStatus(usuarioId);
            viewModel.ListaStatusTarefa = _tarefaNegocio.ListarStatusTarefa(31);

            return(View(viewModel));
        }
示例#16
0
        public VendaViewModel Carregar(int?id)
        {
            VendaViewModel vendaViewModel = new VendaViewModel();

            if (id != null)
            {
                var venda = this._service.CarregarRegistro((int)id);
                if (venda != null)
                {
                    vendaViewModel.Codigo        = venda.Codigo;
                    vendaViewModel.Data          = venda.Data;
                    vendaViewModel.Total         = venda.Total;
                    vendaViewModel.CodigoCliente = venda.CodigoCliente;
                }
            }
            return(vendaViewModel);
        }
示例#17
0
        public ActionResult Edit(VendaViewModel vendaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(vendaViewModel));
            }

            vendaViewModel = _vendaAppService.Atualizar(vendaViewModel);

            if (vendaViewModel.ValidationResult.IsValid)
            {
                return(RedirectToAction("Index"));
            }

            PopularModelStateComErros(vendaViewModel.ValidationResult);
            return(View(vendaViewModel));
        }
示例#18
0
        public IActionResult Cadastro(int?id)
        {
            VendaViewModel viewModel = new VendaViewModel();

            viewModel.ListaClientes = ServicoAplicacaoVenda.ListarClientes();
            viewModel.ListaProdutos = ServicoAplicacaoVenda.ListarProdutos();
            var dataAtual = DateTime.Now.ToString("dd/MM/yyyy");

            viewModel.Data = Convert.ToDateTime(dataAtual);

            if (id != null)
            {
                viewModel = ServicoAplicacaoVenda.BuscarVenda((int)id);
            }

            return(View(viewModel));
        }
示例#19
0
        public IActionResult Cadastro(int?id)
        {
            VendaViewModel model = new VendaViewModel();

            model.ListaClientes = ListaClientes();
            model.ListaProdutos = ListaProdutos();

            if (id != null)
            {
                var entidade = Context.Venda.Where(x => x.codigo == id).FirstOrDefault();
                model.Codigo        = entidade.codigo;
                model.Data          = entidade.data_venda;
                model.CodigoCliente = entidade.codigo_cliente;
                model.Total         = entidade.total;
            }

            return(View(model));
        }
示例#20
0
        public IEnumerable <VendaViewModel> Listar()
        {
            var lista = ServicoVenda.Listar();
            List <VendaViewModel> listaVenda = new List <VendaViewModel>();

            foreach (var item in lista)
            {
                VendaViewModel venda = new VendaViewModel()
                {
                    Id        = item.Id,
                    IdCliente = item.IdCliente,
                    Data      = item.Data,
                    Total     = item.Total
                };
                listaVenda.Add(venda);
            }
            return(listaVenda);
        }
示例#21
0
        public IActionResult Post([FromBody] VendaViewModel vendaInformada)
        {
            try
            {
                PDVService service = new PDVService(this.context);
                VendaModel venda   = new VendaModel();
                venda = service.RegistrarVenda(vendaInformada.ValorPagar, vendaInformada.ValorPago);

                return(Ok(venda));
            }
            catch (Exception ex)
            {
                return(new ObjectResult("Something wenf wrong! - " + ex.Message)
                {
                    StatusCode = 500
                });
            }
        }
示例#22
0
        public IEnumerable <VendaViewModel> Listagem()
        {
            var lista = ServicoVenda.Listagem();
            List <VendaViewModel> listaVenda = new List <VendaViewModel>();

            foreach (var item in lista)
            {
                VendaViewModel venda = new VendaViewModel()
                {
                    Codigo        = item.Codigo,
                    Data          = (DateTime)item.Data,
                    CodigoCliente = (int)item.CodigoCliente,
                    Total         = item.Total
                };
                listaVenda.Add(venda);
            }
            return(listaVenda);
        }
示例#23
0
        public IEnumerable <VendaViewModel> Buscar()
        {
            var lista      = ServicoDominioVenda.Buscar();
            var listaVenda = new List <VendaViewModel>();

            foreach (var item in lista)
            {
                var Venda = new VendaViewModel()
                {
                    Codigo        = item.Codigo,
                    Data          = item.Data,
                    CodigoCliente = item.CodigoCliente,
                    Total         = item.Total
                };
                listaVenda.Add(Venda);
            }
            return(listaVenda);
        }
示例#24
0
        public IEnumerable <VendaViewModel> Listagem()
        {
            IEnumerable <Venda>   lista      = ServicoVenda.Listagem();
            List <VendaViewModel> listaVenda = new List <VendaViewModel>();

            foreach (var item in lista)
            {
                VendaViewModel Venda = new VendaViewModel
                {
                    Codigo        = item.Codigo,
                    Data          = item.Data,
                    CodigoCliente = item.CodigoCliente,
                    Total         = item.Total,
                };

                listaVenda.Add(Venda);
            }
            return(listaVenda);
        }
示例#25
0
        public Venda Map(VendaViewModel viewModel)
        {
            Mapper.CreateMap <VendaViewModel, Venda>();

            Venda venda;

            if (viewModel.Id > 0)
            {
                venda = _vendaRepository.GetById(viewModel.Id);
            }
            else
            {
                venda = new Venda();
            }

            Mapper.Map(viewModel, venda);

            return(venda);
        }
示例#26
0
        public IActionResult Cadastro(int?id)
        {
            VendaViewModel viewModel = new VendaViewModel();

            viewModel.ListaClientes = ListaCliente();
            viewModel.ListaProdutos = ListaProduto();

            if (id.HasValue)
            {
                var categoriaDb = mContext.Venda.Where(x => x.Codigo == id).SingleOrDefault();

                viewModel.Codigo        = categoriaDb.Codigo;
                viewModel.Data          = categoriaDb.Data;
                viewModel.CodigoCliente = categoriaDb.CodigoCliente;
                viewModel.Total         = categoriaDb.Total;
            }

            return(View(viewModel));
        }
示例#27
0
        public IEnumerable <VendaViewModel> Listagem()
        {
            var lista = this._service.Listagem();
            List <VendaViewModel> listaModel = new List <VendaViewModel>();

            foreach (var item in lista)
            {
                VendaViewModel venda = new VendaViewModel()
                {
                    Codigo           = item.Codigo,
                    Data             = item.Data,
                    Total            = item.Total,
                    CodigoCliente    = item.CodigoCliente,
                    DescricaoCliente = item.Cliente.Nome,
                };
                listaModel.Add(venda);
            }
            return(listaModel);
        }
示例#28
0
        public IActionResult EfetuarPedido()
        {
            //Aqui será o controle de transação
            try
            {
                using (var transacao = new System.Transactions.TransactionScope())
                {
                    ClienteViewModel cliLogado = ObtemUsuarioNaSession();


                    VendaViewModel venda = new VendaViewModel();
                    venda.Data_Venda       = DateTime.Now;
                    venda.Id_Cliente       = cliLogado.Id;
                    venda.Data_Entrega     = (DateTime.Now).AddDays(7);
                    venda.Id_EstadoEntrega = cliLogado.Id_Estado;
                    VendaDAO vDAO     = new VendaDAO();
                    int      idPedido = vDAO.Insert(venda);

                    ItensVendaDAO itemDAO = new ItensVendaDAO();

                    var carrinho = ObtemCarrinhoNaSession();
                    foreach (var elemento in carrinho)
                    {
                        ItensVendaViewModel item = new ItensVendaViewModel();
                        item.Id_Venda   = idPedido;
                        item.Id_Produto = elemento.Id_Produto;
                        item.Quantidade = elemento.Quantidade;
                        item.Preco      = elemento.Preco;

                        itemDAO.Insert(item);
                        //carrinho.Remove(elemento);
                    }
                    transacao.Complete();
                }
                return(RedirectToAction("Index"));
            }
            catch (Exception erro)
            {
                @ViewBag.Erro = "Ocorreu um erro: " + erro.Message;
                return(RedirectToAction("Visualizar", "Carrinho"));
            }
        }
示例#29
0
        public ActionResult Venda(Guid id, FormCollection collection)
        {
            var ClienteId = collection["ClienteId"].Split(',').First();
            var produto   = _produtoAppService.GetById(id);

            var venda = new VendaViewModel
            {
                ClienteId    = Guid.Parse(ClienteId),
                ProdutosList = new List <ProdutoViewModel> {
                    produto
                },
                TipoVenda = TipoVendaViewEnum.Vista,
                Valor     = produto.Valor
            };


            _vendaAppService.Add(venda);

            return(View("ProdutosVendidos", _vendaAppService.GetAll()));
        }
        public IEnumerable <VendaViewModel> Listagem()
        {
            var lista = Servico.Listagem();
            List <VendaViewModel> listaObjetosVM = new List <VendaViewModel>();

            foreach (var item in lista)
            {
                VendaViewModel objVM = new VendaViewModel()
                {
                    Codigo        = item.Codigo,
                    Data          = item.Data,
                    CodigoCliente = item.CodigoCliente,
                    Total         = item.Total
                };

                listaObjetosVM.Add(objVM);
            }

            return(listaObjetosVM);
        }