public bool Atualizar(ProdutoViewModel produto)
 {
     throw new NotImplementedException();
 }
예제 #2
0
        public ActionResult Create()
        {
            var model = new ProdutoViewModel();

            return(View(model));
        }
 private async Task <ProdutoViewModel> PopularFornecedoresCategorias(ProdutoViewModel produtoViewModel)
 {
     produtoViewModel.Fornecedores = _mapper.Map <IEnumerable <FornecedorViewModel> >(await _fornecedorRepository.ObterTodos());
     produtoViewModel.Categorias   = _mapper.Map <IEnumerable <CategoriaViewModel> >(await _categoriaRepository.ObterTodos());
     return(produtoViewModel);
 }
예제 #4
0
        static void Main(string[] args)
        {
            int opcaoDeslogado = 0;

            do
            {
                MenuUtil.MenuDeslogado();
                opcaoDeslogado = int.Parse(Console.ReadLine());
                switch (opcaoDeslogado)
                {
                case 1:
                    //Cadastra Usuario
                    UsuarioViewController.CadastrarUsuario();
                    break;

                case 2:
                    //Efetua Login
                    UsuarioViewModel usuarioRecuperado = UsuarioViewController.EfetuarLogin();
                    if (usuarioRecuperado != null)
                    {
                        do
                        {
                            System.Console.WriteLine($"\n-----------------------------------");
                            System.Console.WriteLine($"     Seja bem-vindo {usuarioRecuperado.Nome}");
                            MenuUtil.MenuLogado();
                            opcaoDeslogado = int.Parse(Console.ReadLine());

                            switch (opcaoDeslogado)
                            {
                            case 1:
                                //Cadastra Produto
                                ProdutoViewController.CadastrarProduto();
                                break;

                            case 2:
                                //Listar
                                ProdutoViewController.ListarProdutos();
                                break;

                            case 3:
                                ProdutoViewModel produtoRecuperado = ProdutoViewController.BuscarporId();
                                System.Console.WriteLine($"Id: {produtoRecuperado.Id}\nNome: {produtoRecuperado.Nome}\nDescrição: {produtoRecuperado.Descricao}\nPreço: {produtoRecuperado.Preco}\nCategoria: {produtoRecuperado.Categoria}");
                                break;

                            case 0:
                                //Sair
                                break;

                            default:
                                System.Console.WriteLine("Opção Inválida");
                                break;
                            }
                        } while (opcaoDeslogado != 0);
                    }

                    break;

                case 3:
                    //Listar
                    UsuarioViewController.ListarUsuario();
                    break;

                case 0:
                    //Sair
                    break;

                default:
                    System.Console.WriteLine("Opção Inválida");
                    break;
                }
            } while (opcaoDeslogado != 0);
        }
        private async Task <ProdutoViewModel> PopularCategorias(ProdutoViewModel produto)
        {
            produto.Categorias = await _produtoAppService.ObterCategorias();

            return(produto);
        }
예제 #6
0
        public IEnumerable <ProdutoViewModel> ObterTodos(ProdutoViewModel objFiltro)
        {
            var produto = Mapper.Map <ProdutoViewModel, Produto>(objFiltro);

            return(Mapper.Map <IEnumerable <Produto>, IEnumerable <ProdutoViewModel> >(_produtoService.ObterTodos(produto)));
        }
 public async Task <IActionResult> Update(Guid id, [FromBody] ProdutoViewModel
                                          produtoViewModel)
 {
     return(!ModelState.IsValid ? CustomResponse(ModelState) : CustomResponse(await _produtoAppService.Update(produtoViewModel)));
 }
 private void Mapear(ProdutoViewModel viewModel, Produto produto)
 {
     db.Entry(produto).CurrentValues.SetValues(viewModel);
     produto.Categoria = db.Categorias.Find(viewModel.CategoriaId);
 }
 protected override async Task OnInitializedAsync()
 {
     produto = await http.GET <ProdutoViewModel>($"{Api.Produto}/{ID}");
 }
예제 #10
0
 private bool ValidarAutoridadeProduto(ProdutoViewModel produtoViewModel)
 {
     return(produtoViewModel.EditoraId != EditoraId);
 }
 public JsonResult RecuperarProduto(int id)
 {
     //return Json(_listaProduto.Find(x => x.Id == id));
     return(Json(ProdutoViewModel.GetFindOrDefault(id)));
 }
예제 #12
0
 public void AlterarProduto(ProdutoViewModel produto)
 {
 }
예제 #13
0
 public void AdicionarProduto(ProdutoViewModel produto)
 {
 }
 public bool Remover(ProdutoViewModel produto)
 {
     throw new NotImplementedException();
 }
예제 #15
0
        ///<summary></summary>
        public static void AlterarProduto()
        {
            string           nome;
            ProdutoViewModel produtoASerAlterado = new ProdutoViewModel();
            ProdutoViewModel produtoJaAlterado   = new ProdutoViewModel();

            do
            {
                System.Console.Write("Nome do produto a ser alterado: ");
                nome = Console.ReadLine();
                if (!ValidacaoUtil.ValidarNome(nome))
                {
                    Mensagem.MostrarMensagem("Digite um nome de produto válido", TipoMensagemEnum.ALERTA);
                }
            } while (!ValidacaoUtil.ValidarNome(nome));
            produtoASerAlterado = ProdutoRepository.BuscarProdutoPorNome(nome);
            produtoJaAlterado   = produtoASerAlterado;
            //Mostrando dados do produto e perguntando qual informação alterar.
            bool rodar = true;

            do
            {
                Console.Clear();
                System.Console.WriteLine($"______________________________\nId: {produtoASerAlterado.Id}\nNome: {produtoASerAlterado.Nome}\nCategoria: {produtoASerAlterado.Categoria} \nDescrição: {produtoASerAlterado.Descricao}\nPreço: {produtoASerAlterado.Preco}\nData de criação: {produtoASerAlterado.DataCriacao}\n______________________________");
                MenuUtils.MostrarMenuAlterarProduto();
                MenuAlterarProduto opcao = ((MenuAlterarProduto)Enum.Parse(typeof(MenuAlterarProduto), Console.ReadLine()));
                switch (opcao)
                {
                case MenuAlterarProduto.NOME:
                    do
                    {
                        System.Console.Write("Digite um novo nome para o produto: ");
                        produtoJaAlterado.Nome = Console.ReadLine();
                        if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Nome))
                        {
                            Mensagem.MostrarMensagem("O nome não pode ficar vazia.", TipoMensagemEnum.ALERTA);
                        }
                    } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Nome));
                    break;

                case MenuAlterarProduto.CATEGORIA:
                    do
                    {
                        System.Console.Write("Digite uma nova categoria para o produto: ");
                        produtoJaAlterado.Categoria = Console.ReadLine();
                        if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Categoria))
                        {
                            Mensagem.MostrarMensagem("A categoria não pode ficar vazia", TipoMensagemEnum.ALERTA);
                        }
                    } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Categoria));

                    break;

                case MenuAlterarProduto.DESCRICAO:
                    do
                    {
                        System.Console.Write("Digite uma nova descrição para o produto: ");
                        produtoJaAlterado.Descricao = Console.ReadLine();
                        if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Descricao))
                        {
                            Mensagem.MostrarMensagem("A descrição não pode ficar vazia.", TipoMensagemEnum.ALERTA);
                        }
                    } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Descricao));

                    break;

                case MenuAlterarProduto.PRECO:
                    do
                    {
                        System.Console.Write("Digite um novo preço para o produto (Apenas números): ");
                        string precoCapturado = Console.ReadLine();

                        if (!ValidacaoUtil.ValidarPreco(precoCapturado, produtoASerAlterado.Preco))
                        {
                            Mensagem.MostrarMensagem("Preço inválido", TipoMensagemEnum.ERRO);
                        }
                        produtoJaAlterado.Preco = float.Parse(precoCapturado);
                    } while (!ValidacaoUtil.ValidarPreco(produtoJaAlterado.Preco));
                    break;

                case MenuAlterarProduto.SAIR:
                    rodar = false;
                    break;
                }
                ProdutoRepository.Alterar(produtoASerAlterado, produtoJaAlterado);
                Mensagem.MostrarMensagem("Produto alterado com sucesso!", TipoMensagemEnum.SUCESSO);
            } while (rodar == true);
            if (produtoASerAlterado == null)
            {
                Mensagem.MostrarMensagem("O produto desejado não existe.", TipoMensagemEnum.ERRO);
            }
        }
        public async Task <IActionResult> Edit(Guid id, ProdutoViewModel produtoViewModel)
        {
            if (id != produtoViewModel.Id)
            {
                return(NotFound());
            }

            var produtoAtualizacao = await ObterProduto(id);

            produtoViewModel.Fornecedor = produtoAtualizacao.Fornecedor;
            produtoViewModel.Imagem     = produtoAtualizacao.Imagem;
            if (!ModelState.IsValid)
            {
                return(View(produtoViewModel));
            }

            if (produtoViewModel.ImagemUpload != null)
            {
                var imgPrefixo = Guid.NewGuid() + "_";
                if (!await UploadArquivo(produtoViewModel.ImagemUpload, imgPrefixo))
                {
                    return(View(produtoViewModel));
                }

                produtoAtualizacao.Imagem = imgPrefixo + produtoViewModel.ImagemUpload.FileName;
            }

            produtoAtualizacao.Nome      = produtoViewModel.Nome;
            produtoAtualizacao.Descricao = produtoViewModel.Descricao;
            produtoAtualizacao.Valor     = produtoViewModel.Valor;
            produtoAtualizacao.Ativo     = produtoViewModel.Ativo;

            await _produtoService.Atualizar(_mapper.Map <Produto>(produtoAtualizacao));

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

            return(RedirectToAction("Index"));

            //if (ModelState.IsValid)
            //{
            //    try
            //    {
            //        _context.Update(produtoViewModel);
            //        await _context.SaveChangesAsync();
            //    }
            //    catch (DbUpdateConcurrencyException)
            //    {
            //        if (!ProdutoViewModelExists(produtoViewModel.Id))
            //        {
            //            return NotFound();
            //        }
            //        else
            //        {
            //            throw;
            //        }
            //    }
            //    return RedirectToAction(nameof(Index));
            //}
            //ViewData["FornecedorId"] = new SelectList(_context.Set<FornecedorViewModel>(), "Id", "Documento", produtoViewModel.FornecedorId);
            //return View(produtoViewModel);
        }
예제 #17
0
        public void Mapear(ProdutoViewModel viewModel, Produto produto, Repositorios.SqlServer.LojaDbContext dbContext)
        {
            dbContext.Entry(produto).CurrentValues.SetValues(viewModel);

            produto.Categoria = dbContext.Categorias.Single(c => c.Id == viewModel.CategoriaId);
        }
        public async Task <IActionResult> ProdutoDetalhe(Guid id)
        {
            ProdutoViewModel produtoDoId = await _produtoAppService.ObterPorId(id);

            return(View(produtoDoId));
        }
예제 #19
0
        /// <summary>
        /// Get pra tela de edição de produto
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Edit(int id)
        {
            var produtoViewModel = new ProdutoViewModel(produtoApp.GetById(id));

            return(View(produtoViewModel));
        }
 //--------------------------------------------------------------------------
 public Produto ViewModelToEntity(ProdutoViewModel produtoViewModel)
 {
     return(_mapper.Map <ProdutoViewModel, Produto>(produtoViewModel));
 }
예제 #21
0
        public async Task <string> AdicionarItemAoCarrinho(ProdutoViewModel produtoModel, KitsViewModel kitsModel, CorViewModel corViewModel, int quantidade, int corId)
        {
            var valorItem = produtoModel.Id > 0 ? (double.Parse(produtoModel.ValorVenda) * quantidade) :
                            (double.Parse(kitsModel.ValorVenda) * quantidade);


            if (SessionHelper.GetObjectFromJson <List <CarrinhoViewModel> >(_httpContext.HttpContext.Session, "cart") == null)
            {
                List <CarrinhoViewModel> carrinho;

                if (produtoModel.Id > 0)
                {
                    if (!await HasEstoque(produtoModel.Id, corViewModel.Id, quantidade))
                    {
                        return("Estoque insuficiente");
                    }


                    carrinho = new List <CarrinhoViewModel>
                    {
                        new CarrinhoViewModel {
                            Produto = produtoModel, QuantidadeIndividual = quantidade, Cor = corViewModel, ValorUnitarioTotal = valorItem.ToString("C"),
                            CorId   = corId
                        }
                    };
                }
                else
                {
                    if (!await HasEstoque(kitsModel.Id, quantidade, "AT"))
                    {
                        return("Estoque insuficiente");
                    }

                    carrinho = new List <CarrinhoViewModel>
                    {
                        new CarrinhoViewModel {
                            Kits = kitsModel, QuantidadeIndividual = quantidade, ValorUnitarioTotal = valorItem.ToString("C")
                        }
                    };
                }

                var carrinhoInicialAtualizadoPromo = await VerificarPromoCarrinho(carrinho);

                SessionHelper.SetObjectAsJson(_httpContext.HttpContext.Session, "cart", carrinhoInicialAtualizadoPromo);

                return("Produto adicionado ao carrinho");
            }

            var cart = SessionHelper.GetObjectFromJson <List <CarrinhoViewModel> >(_httpContext.HttpContext.Session,
                                                                                   "cart");

            int index;
            var quantReal = quantidade;

            if (produtoModel.Id > 0)
            {
                index = IsExist(produtoModel.Id, corViewModel.Id);



                if (index != -1)
                {
                    cart[index].QuantidadeIndividual += quantidade;
                    cart[index].ValorUnitarioTotal    =
                        (double.Parse(produtoModel.ValorVenda) * cart[index].QuantidadeIndividual).ToString("C");

                    quantReal = cart[index].QuantidadeIndividual;
                }
                else
                {
                    cart.Add(new CarrinhoViewModel
                    {
                        Produto = produtoModel, QuantidadeIndividual = quantidade, Cor = corViewModel, ValorUnitarioTotal = valorItem.ToString("C"), CorId = corId
                    });
                }

                if (!await HasEstoque(produtoModel.Id, corViewModel.Id, quantReal))
                {
                    return("Estoque insuficiente");
                }
            }
            else
            {
                index = IsExist(kitsModel.Id, 0);

                if (index != -1)
                {
                    cart[index].QuantidadeIndividual += quantidade;
                    cart[index].ValorUnitarioTotal    =
                        (double.Parse(kitsModel.ValorVenda) * cart[index].QuantidadeIndividual).ToString("C");

                    quantReal = cart[index].QuantidadeIndividual;
                }
                else
                {
                    cart.Add(new CarrinhoViewModel
                    {
                        Kits = kitsModel, QuantidadeIndividual = quantidade, ValorUnitarioTotal = valorItem.ToString("C")
                    });
                }

                if (!await HasEstoque(kitsModel.Id, quantReal, "AT"))
                {
                    return("Estoque insuficiente");
                }
            }

            //verificar promoção no carrinho todoo
            var carrinhoAtualizadoPromo = await VerificarPromoCarrinho(cart);

            SessionHelper.SetObjectAsJson(_httpContext.HttpContext.Session, "cart", carrinhoAtualizadoPromo);

            return("Produto adicionado ao carrinho");
        }
예제 #22
0
        public ActionResult Novo()
        {
            var viewModel = new ProdutoViewModel();

            return(View(viewModel));
        }
        /// <summary>
        /// Cadastra um novo produto
        /// </summary>
        public static void CadastrarProduto()
        {
            string nome, descricao, preco, categoria;

            #region View
            //Recebe o nome do produto
            do
            {
                System.Console.WriteLine("Informe o nome do produto");
                nome = Console.ReadLine();
                if (string.IsNullOrEmpty(nome))
                {
                    System.Console.WriteLine("Nome do produto invalido");
                }
            } while (string.IsNullOrEmpty(nome));

            //Recebe a descriçao do produto
            do
            {
                System.Console.WriteLine("descreva o produto");
                descricao = Console.ReadLine();
                if (string.IsNullOrEmpty(descricao))
                {
                    System.Console.WriteLine("descrição invalida");
                }

                //Recebe o preço do produto
            } while (string.IsNullOrEmpty(descricao));

            do
            {
                System.Console.WriteLine("Informe o preço do produto");
                preco = Console.ReadLine();
                if (string.IsNullOrEmpty(preco))
                {
                    System.Console.WriteLine("preço invalido");
                }
            } while (string.IsNullOrEmpty(preco));

            //Recebe a categoria
            do
            {
                System.Console.WriteLine("Informe a categoria do produto");
                categoria = Console.ReadLine();

                if (!ValidacaoUtil.ValidaCategoria(categoria))
                {
                    System.Console.WriteLine("Categoria Invalida");
                }
            } while (!ValidacaoUtil.ValidaCategoria(categoria));

            #endregion

            #region Controller
            //Cria o objeto produtoviewmodel
            ProdutoViewModel produtoviewmodel = new ProdutoViewModel();
            //Atribui os valores ao objeto produtoviewmodel
            produtoviewmodel.Nome      = nome;
            produtoviewmodel.Descricao = descricao;
            produtoviewmodel.Preco     = decimal.Parse(preco);
            produtoviewmodel.Categoria = categoria;

            //Insere o produto a lista
            produtorepositorio.Inserir(produtoviewmodel);

            //Mostra mensagem de conclusão
            System.Console.WriteLine("Produto cadastrado");
            #endregion
        }
예제 #24
0
        public IActionResult Index()
        {
            ProdutoViewModel produtoViewModel = _produtoServico.ListarProdutos();

            return(View(produtoViewModel));
        }
예제 #25
0
        public ActionResult DesativarProdutoConfirmado(ProdutoViewModel produto, string token)
        {
            var response = _appProduto.DesativarProduto(produto, token);

            return(Content(response.Status != HttpStatusCode.OK ? $"Erro: {response.Status}" : "Produto desativado com sucesso!"));
        }
예제 #26
0
 public ProdutoPrincipal()
 {
     InitializeComponent();
     viewModel        = new ProdutoViewModel();
     this.DataContext = viewModel;
 }
예제 #27
0
        private async Task <ProdutoViewModel> PopularFornecedores(ProdutoViewModel produto)
        {
            produto.Fornecedores = _mapper.Map <IEnumerable <FornecedorViewModel> >(await _fornecedorRepository.ObterTdos());

            return(produto);
        }
예제 #28
0
        public async Task <IActionResult> Create()
        {
            ProdutoViewModel produto = await PopularFornecedores(new ProdutoViewModel());

            return(View(produto));
        }
        private async Task <bool> UpdateImagemProduto(ProdutoViewModel produtoViewModel, ProdutoViewModel produtoAtualizado)
        {
            produtoViewModel.Imagem = produtoAtualizado.Imagem;

            if (!ModelState.IsValid)
            {
                return(false);
            }

            if (produtoViewModel.ImagemUpload != null)
            {
                var imgPrefixo = Guid.NewGuid() + "_";
                if (!await _uploadFiles.UploadImage(produtoViewModel.ImagemUpload, imgPrefixo))
                {
                    ModelState.AddModelError(string.Empty, "Arquivo inválido!");
                    return(false);
                }
                produtoAtualizado.Imagem = imgPrefixo + produtoViewModel.ImagemUpload.FileName;
            }

            produtoAtualizado.Nome       = produtoViewModel.Nome;
            produtoAtualizado.Descricao  = produtoViewModel.Descricao;
            produtoAtualizado.Valor      = produtoViewModel.Valor;
            produtoAtualizado.Ativo      = produtoViewModel.Ativo;
            produtoAtualizado.Categoria  = produtoViewModel.Categoria;
            produtoAtualizado.Fornecedor = produtoViewModel.Fornecedor;

            return(true);
        }
예제 #30
0
 public ProdutoViewModel Inserir(ProdutoViewModel produto)
 {
 }