private async void SalvarNoEstoque() { if (!string.IsNullOrEmpty(NomeProduto) && !string.IsNullOrEmpty(ValorCompra) && !string.IsNullOrEmpty(ValorInvestidos) && !string.IsNullOrEmpty(MetaVenda) && !string.IsNullOrEmpty(Observacao)) { try { var capital = CapitalGirosDB.GetAllCapitalGiro().FirstOrDefault(); if (ProdutosItem == null) { var prod = new Produtos() { Name = NomeProduto, DataCompra = DateTime.Now, PrecoCompra = double.Parse(ValorCompra), ValorInvestido = double.Parse(ValorInvestidos), Estado = EstadoItem, PrecoCusto = double.Parse(ValorCompra), MetaVenda = double.Parse(MetaVenda), LucroPrevisto = ((double.Parse(MetaVenda) * 100) / (double.Parse(ValorCompra) + double.Parse(ValorInvestidos))) - 100, OBS = Observacao }; if (capital.Capital >= (prod.PrecoCompra + prod.ValorInvestido)) { capital.Capital = capital.Capital - (prod.PrecoCompra + prod.ValorInvestido); CapitalGirosDB.AddProduto(capital); ProdutoDB.AddProduto(prod); await App.Current.MainPage.DisplayAlert("Aviso", " Salvo Com Sucesso", "Ok"); ((MasterPage)App.Current.MainPage).Detail = new NavigationPage(new EstoquePage()); } else { await App.Current.MainPage.DisplayAlert("Aviso", " Saldo Insuficiente", "Ok"); } LimparCampos(); } else { var produ = new Produtos() { ProdutoId = ProdutosItem.ProdutoId, Name = NomeProduto, DataCompra = ProdutosItem.DataCompra, PrecoCompra = double.Parse(ValorCompra), Estado = EstadoItem, ValorInvestido = double.Parse(ValorInvestidos), PrecoCusto = double.Parse(ValorCompra), MetaVenda = double.Parse(MetaVenda), LucroPrevisto = ((double.Parse(MetaVenda) * 100) / (double.Parse(ValorCompra) + double.Parse(ValorInvestidos))) - 100, OBS = Observacao }; if (capital.Capital >= produ.ValorInvestido) { // TODO - Fazer uma correção na inserção do capital if (produ.ValorInvestido == valorinvest) { } else if (produ.ValorInvestido > valorinvest) { capital.Capital = capital.Capital - (produ.ValorInvestido - valorinvest); } else if (produ.ValorInvestido < valorinvest) { capital.Capital = capital.Capital + (valorinvest - produ.ValorInvestido); } CapitalGirosDB.AddProduto(capital); ProdutoDB.AtualizaProduto(produ); await App.Current.MainPage.DisplayAlert("Aviso", "Atualizado Com Sucesso", "Ok"); ((MasterPage)App.Current.MainPage).Detail = new NavigationPage(new EstoquePage()); //(((MasterPage)App.Current.MainPage).Detail).Navigation.PopAsync().Wait(); Estoque.Produtos = ProdutoDB.GetAllProdutos(); LimparCampos(); } else { var res = await App.Current.MainPage.DisplayAlert("Aviso", " Saldo Insuficiente\nDeseja Depositar Capital de Giro", "Ok", "Cancel"); if (res == true) { ((MasterPage)App.Current.MainPage).Detail = new NavigationPage(new FinancasPage().Children[2]) { ToolbarItems = { new ToolbarItem { Text = "Estoque", IconImageSource = "estoque", Command = GoEstoqueCommand } } }; } } _ = (((MasterPage)App.Current.MainPage).Detail).Navigation.PopAsync(); Estoque.Produtos = ProdutoDB.GetAllProdutos(); LimparCampos(); } } catch (Exception) { var res = await App.Current.MainPage.DisplayAlert("Aviso", " Saldo Insuficiente\nDeseja Depositar Capital de Giro", "Ok", "Cancel"); if (res == true) { ((MasterPage)App.Current.MainPage).Detail = new NavigationPage(new FinancasPage().Children[2]) { ToolbarItems = { new ToolbarItem { Text = "Estoque", IconImageSource = "estoque", Command = GoEstoqueCommand } } }; } } } else { //var re = await App.Current.MainPage.DisplayAlert("Mensagem", "Todos os Campos Devem ser Preenchidos", "Ok", "Cancel"); //if(re == true) //{ // await App.Current.MainPage.DisplayAlert("Mensagem", "Ok", "Ok", "cancel"); //} //else //{ // await App.Current.MainPage.DisplayAlert("Mensagem", "Cancel", "Ok", "cancel"); //} } }