コード例 #1
0
        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");
                //}
            }
        }