Example #1
0
        public ViewResult AddEdit(int?id)
        {
            ProdutoAddEditVM produto = new ProdutoAddEditVM();

            if (id != null)
            {
                produto = _produtoRepository.Get((int)id).ToProdutoAddEditVM();
            }
            var tipos = _tipoProdutoRepository.Get();

            ViewBag.tipos = tipos;
            return(View(produto));
        }
        public ViewResult AddEdit(int?id)
        {
            var produto = new ProdutoAddEditVM();

            if (id != null)
            {
                produto = _produtoRepository.Get((int)id).ToProdutoAddEditVM(); //aplicando um cast...
            }

            ViewBag.TiposProdutos = _tipoProdutoRepository.Get();

            return(View(produto));
        }
        public ActionResult AddEdit(int?id)
        {
            Produto model;

            if (id == null)
            {
                model = new Produto();
            }
            else
            {
                model = _produtoRep.Get(id);
            }

            ViewBag.TipoProdutos = _tipoProdRep.Get();
            return(View(model));
        }
Example #4
0
        public async Task <IActionResult> AddProduto([FromForm] Models.Produtos.PostProduto model,
                                                     IFormFile foto
                                                     //, [FromServices] IHostingEnvironment env
                                                     )
        {
            // Para evitar isso, usar Mediatr (https://github.com/FanSoft-BR/agenda_medica/tree/master/src)


            if (foto == null)
            {
                ModelState.AddModelError("", "Foto é inválida");
            }

            var tipo = _tipoProdutoRepository.Get(model.TipoProdutoId);

            if (tipo == null)
            {
                ModelState.AddModelError("TipoProdutoId", "Tipo do produto inválido");
            }

            if (ModelState.IsValid)
            {
                var fileName = Guid.NewGuid().ToString("N") + foto.FileName.Substring(foto.FileName.LastIndexOf('.'));
                var filePath = Path.Combine(_uploadFolder, fileName);

                var produto = new Produto()
                {
                    Nome          = model.Nome,
                    TipoProdutoId = model.TipoProdutoId,
                    Preco         = model.Preco,
                    NomeArquivo   = filePath
                };

                _produtoRepository.Add(produto);

                await _uow.CommitAsync();

                // await gravarEmPasta(foto, filePath);
                await gravarNoAzureAsync(foto, fileName, filePath);

                return(CreatedAtRoute("GetProdutoById", new { produto.Id },
                                      new
                {
                    produto.Id,
                    produto.Nome,
                    produto.Preco,
                    Tipo = tipo.Nome
                }
                                      ));
            }


            return(BadRequest(ModelState));
        }
Example #5
0
        public IActionResult AddProduto([FromBody] Models.Produtos.PostProduto model)
        {
            // Para evitar isso, usar Mediatr (https://github.com/FanSoft-BR/agenda_medica/tree/master/src)

            var tipo = _tipoProdutoRepository.Get(model.TipoProdutoId);

            if (tipo == null)
            {
                ModelState.AddModelError("TipoProdutoId", "Tipo do produto inválido");
            }

            if (ModelState.IsValid)
            {
                var produto = new Produto()
                {
                    Nome          = model.Nome,
                    TipoProdutoId = model.TipoProdutoId,
                    Preco         = model.Preco
                };

                _produtoRepository.Add(produto);

                return(CreatedAtRoute("GetProdutoById", new { produto.Id },
                                      new
                {
                    produto.Id,
                    produto.Nome,
                    produto.Preco,
                    Tipo = tipo.Nome
                }
                                      ));
            }


            return(BadRequest(ModelState));
        }
Example #6
0
 public IEnumerable <TipoProduto> Get()
 {
     return(_repoTipoProduto.Get());
 }