public EstruturaProduto Put([FromBody] Models.Produto produto) { EstruturaProduto estruturaProduto = new EstruturaProduto(); try { BaseProdutos baseProdutos = new BaseProdutos(); if (produto == null) { throw new Exception("o produto a ser alterado não pode ser nulo"); } if (produto.idProduct == 0) { throw new Exception("Favor selecionar um produto!"); } List <Models.Produto> listProdutos = new List <Models.Produto>(); string ListaProdutosSession = HttpContext.Session.GetString("Produtos"); if (string.IsNullOrEmpty(ListaProdutosSession)) { listProdutos = baseProdutos.PopularProdutos(); } else { listProdutos = JsonConvert.DeserializeObject <List <Models.Produto> >(ListaProdutosSession); } Models.Produto produtoAlterado = listProdutos.Where(x => x.idProduct == produto.idProduct).SingleOrDefault(); if (produtoAlterado == null) { throw new Exception("produto selecionado não existe"); } listProdutos.Remove(produtoAlterado); listProdutos.Add(produto); estruturaProduto.Produtos = listProdutos; string listaProdutos = JsonConvert.SerializeObject(estruturaProduto.Produtos); HttpContext.Session.SetString("Produtos", listaProdutos); return(estruturaProduto); } catch (Exception ex) { estruturaProduto.isError = true; estruturaProduto.descricaoErro = ex.Message; return(estruturaProduto); } }
public EstruturaProduto Delete(int idProduto) { EstruturaProduto estruturaProduto = new EstruturaProduto(); try { BaseProdutos baseProdutos = new BaseProdutos(); if (idProduto == 0) { //Retornar produto que contenha o id especificado throw new Exception("produto selecionado não existe"); } List <Models.Produto> listProdutos = new List <Models.Produto>(); string ListaProdutosSession = HttpContext.Session.GetString("Produtos"); if (string.IsNullOrEmpty(ListaProdutosSession)) { listProdutos = baseProdutos.PopularProdutos(); } else { listProdutos = JsonConvert.DeserializeObject <List <Models.Produto> >(ListaProdutosSession); } Models.Produto produtoRemovido = listProdutos.Where(x => x.idProduct == idProduto).SingleOrDefault(); if (produtoRemovido == null) { throw new Exception("produto selecionado não existe"); } listProdutos.Remove(produtoRemovido); estruturaProduto.Produtos = listProdutos; string listaProdutos = JsonConvert.SerializeObject(estruturaProduto.Produtos); HttpContext.Session.SetString("Produtos", listaProdutos); return(estruturaProduto); } catch (Exception ex) { estruturaProduto.isError = true; estruturaProduto.descricaoErro = ex.Message; return(estruturaProduto); } }
public EstruturaProduto Get(int?idProduto) { EstruturaProduto estruturaProduto = new EstruturaProduto(); try { BaseProdutos baseProdutos = new BaseProdutos(); List <Models.Produto> listProdutos = new List <Models.Produto>(); string ListaProdutosSession = HttpContext.Session.GetString("Produtos"); if (string.IsNullOrEmpty(ListaProdutosSession)) { listProdutos = baseProdutos.PopularProdutos(); } else { listProdutos = JsonConvert.DeserializeObject <List <Models.Produto> >(ListaProdutosSession); } //Criar método para popular lista de produtos if (idProduto.HasValue) { //Retornar produto que contenha o id especificado estruturaProduto.Produtos = listProdutos.Where(x => x.idProduct == idProduto).ToList(); if (estruturaProduto.Produtos.Count == 0) { throw new Exception("Produto Selecionado não Existe"); } return(estruturaProduto); } estruturaProduto.Produtos = listProdutos; string listaProdutos = JsonConvert.SerializeObject(listProdutos); HttpContext.Session.SetString("Produtos", listaProdutos); return(estruturaProduto); } catch (Exception ex) { estruturaProduto.isError = true; estruturaProduto.descricaoErro = ex.Message; return(estruturaProduto); } }
public EstruturaProduto Post(Models.Produto produto) { EstruturaProduto estruturaProduto = new EstruturaProduto(); try { BaseProdutos baseProdutos = new BaseProdutos(); if (produto == null) { //Erro throw new Exception("o produto a ser inserido não pode ser nulo"); } //Realizar outras validações List <Models.Produto> listProdutos = new List <Models.Produto>(); string ListaProdutosSession = HttpContext.Session.GetString("Produtos"); if (string.IsNullOrEmpty(ListaProdutosSession)) { listProdutos = baseProdutos.PopularProdutos(); } else { listProdutos = JsonConvert.DeserializeObject <List <Models.Produto> >(ListaProdutosSession); } if (listProdutos.Where(x => x.idProduct == produto.idProduct).SingleOrDefault() != null) { throw new Exception("Já existe um produto com esse Identificador registrado"); } listProdutos.Add(produto); estruturaProduto.Produtos = listProdutos; string listaProdutos = JsonConvert.SerializeObject(estruturaProduto.Produtos); HttpContext.Session.SetString("Produtos", listaProdutos); return(estruturaProduto); } catch (Exception ex) { estruturaProduto.isError = true; estruturaProduto.descricaoErro = ex.Message; return(estruturaProduto); } }
public IEnumerable <Produto> RecuperarProdutos() { return(BaseProdutos.Produtos()); }