public bool AddProductToShoppingCart() { string saleUser = ""; saleRepository = new SaleRepository(); var result = new ShoppingCartViewModel { Products = new ProductsBusiness(this.products).getProductById(), SaleItems = new SaleItems() }; //verifica se o usuário possui venda aberta saleUser = saleRepository.GetSaleByCurrentUser(); if (result.Products.quantify < 1) { throw new Exception("Produto Indisponível!"); } //se nâo cria uma e insere o produto em seguida if (saleUser != null) { result.SaleItems.idProduct = result.Products.id; result.SaleItems.idSale = Convert.ToInt32(saleUser); result.SaleItems.amount = 1; if (!new SaleRepository(result.SaleItems).addProductToShoppingCart()) { throw new Exception("Ops! Ocorreu um problema, tente novamente!"); } return(true); } new SaleRepository().createSale(); saleUser = saleRepository.GetSaleByCurrentUser(); //define valores no item da venda result.SaleItems.idProduct = result.Products.id; result.SaleItems.idSale = Convert.ToInt32(saleUser); result.SaleItems.amount = 1; if (!new SaleRepository(result.SaleItems).addProductToShoppingCart()) { throw new Exception("Ops! Ocorreu um problema, tente novamente!"); } /* criar view model que irá ter o item da venda(SaleItems) e os dados de produto(Products) * necessário para validar quantidade disponível em estoque * e calcular preço total a partir da quantidade desejada pelo cliente */ return(true); }