コード例 #1
0
        private void Confirm_Click(object sender, RoutedEventArgs e)
        {
            if (Items.Count == 0)
            {
                MessageBox.Show("É necessário ter produtos a venda");
                return;
            }

            VendasPagamento pagamento = new VendasPagamento(TotalSale())
            {
                items    = Items,
                dateSale = DateTime.Now,
            };

            pagamento.ShowDialog();

            if (pagamento.Confirmed)
            {
                MessageBox.Show("Venda realizada com sucesso!!!");

                Items.Clear();
                search.Text            = "";
                quantity.Text          = "";
                product                = null;
                labelTotalSale.Content = "TOTAL:" + TotalSale().ToString("C2");
            }
        }
コード例 #2
0
        public ProdutosAdd(Tables.Product product = null)
        {
            InitializeComponent();

            sqlProduct = new Sql.Product();

            if (product != null)
            {
                idProduct        = product.Id;
                codProduct       = product.Cod;
                Description.Text = product.Name;
                Code.Text        = product.Cod.ToString();
                Price.Text       = product.Price.ToString();
            }

            Loaded += ProdutosAdd_Loaded;

            Description.PreviewKeyDown += Description_PreviewKeyDown;
            Code.PreviewKeyDown        += Code_PreviewKeyDown;
            Price.PreviewKeyDown       += Price_PreviewKeyDown;

            Code.PreviewTextInput  += (s, e) => e.Handled = new Regex("[^0-9]").IsMatch(e.Text);
            Price.PreviewTextInput += (s, e) => e.Handled = new Regex("[^0-9,.]").IsMatch(e.Text);

            ClearBtn.Click += ClearBtn_Click;
            SaveBtn.Click  += SaveBtn_Click;
        }
コード例 #3
0
        private void Quantity_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                int q;
                try
                {
                    q = Convert.ToInt32(quantity.Text);
                    if (q == 0)
                    {
                        MessageBox.Show("Valor na quantidade precisa ser maior que 0!!!");
                        return;
                    }
                }
                catch
                {
                    MessageBox.Show("Informe alguma valor no campo Quantidade!!!", "", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                if (product == null)
                {
                    MessageBox.Show("Selecione um produto!!!", "ERRO", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }

                bool exist = false;
                foreach (Item i in Items)
                {
                    if (i.Name == product.Name + " " + observation.Text)
                    {
                        i.Quantity += q;

                        exist = true;
                        break;
                    }
                }

                if (exist == false)
                {
                    Items.Add(new Item(product.Id, product.Cod, product.Name + " " + observation.Text, product.Price, q));
                }

                labelTotalSale.Content = "TOTAL:" + TotalSale().ToString("C2");

                product = null;

                observation.Text      = "";
                quantity.Text         = "";
                search.Text           = "";
                gridSearch.Visibility = Visibility.Hidden;

                search.Focus();
            }
        }
コード例 #4
0
        private void GridSearch_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (gridSearch.HasItems == false)
            {
                return;
            }

            product               = (Tables.Product)gridSearch.SelectedItem;
            search.Text           = product.Name;
            gridSearch.Visibility = Visibility.Hidden;
            observation.Focus();
        }
コード例 #5
0
        private void SaveBtn_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(Price.Text) ||
                string.IsNullOrEmpty(Description.Text) ||
                string.IsNullOrEmpty(Code.Text))
            {
                MessageBox.Show("Todos os campos precisam serem preenchidos!!!", "ERRO", MessageBoxButton.OK, MessageBoxImage.Information);
                return;
            }

            int newCod = Convert.ToInt32(Code.Text);

            if (idProduct == -1)
            {
                if (sqlProduct.Exist(newCod))
                {
                    MessageBox.Show("O Codigo digitado, já pertence a outro PRODUTO!!!", "ERRO", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                Tables.Product product = new Tables.Product(newCod, Description.Text, Convert.ToDecimal(Price.Text));
                sqlProduct.AddOrUpdate(product);

                MessageBox.Show("Produto cadastrado com sucesso!", "", MessageBoxButton.OK, MessageBoxImage.Information);

                ClearBtn_Click(null, null);
            }
            else
            {
                if (codProduct != newCod)
                {
                    if (sqlProduct.Exist(newCod))
                    {
                        MessageBox.Show("O Codigo digitado, já pertence a outro PRODUTO!!!", "ERRO", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                }

                Tables.Product product = new Tables.Product(idProduct, newCod, Description.Text, Convert.ToDecimal(Price.Text));
                sqlProduct.AddOrUpdate(product);

                MessageBox.Show("Produto atualizado com sucesso!", "", MessageBoxButton.OK, MessageBoxImage.Information);

                Close();
            }
        }
コード例 #6
0
        private void GridProdutos_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (GridProdutos.Items == null)
            {
                return;
            }

            if (GridProdutos.SelectedIndex != -1)
            {
                Tables.Product item = (Tables.Product)GridProdutos.SelectedItem;
                new ProdutosAdd(item).ShowDialog();

                Search_TextChanged(null, null);
            }
            else
            {
                MessageBox.Show("Selecione um PRODUTO para ser editado!", "ERRO", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
コード例 #7
0
        private void Confirm_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(numTable.Text))
            {
                MessageBox.Show("É necessário informar o número da mesa");
                return;
            }
            else if (gridProduct.HasItems == false)
            {
                MessageBox.Show("É necessário ter produtos a venda");
                return;
            }

            if (isEditing == false)
            {
                int  table = Convert.ToInt32(numTable.Text);
                bool exist = false;
                for (int i = 0; i < sales.sales.Count; i++)
                {
                    if (sales.sales[i].File == table.ToString())
                    {
                        exist = true;
                        break;
                    }
                }
                if (exist)
                {
                    MessageBox.Show("Essa mesa já está sendo utilizada!!!");
                    return;
                }

                Sales.Log.Create(DateTime.Now, table, Items);

                product = null;

                Items.Clear();
                labelTotalSale.Content = "TOTAL:R$0,00";
                quantity.Text          = "";
                numTable.Text          = "";
                search.Focus();

                MessageBox.Show("Venda adicionada com sucesso!!!");

                sales.UpdateGrid();
            }
            else
            {
                int table = Convert.ToInt32(numTable.Text);
                if (oldNumTable != table)
                {
                    bool exist = false;
                    for (int i = 0; i < sales.sales.Count; i++)
                    {
                        if (sales.sales[i].File == table.ToString())
                        {
                            exist = true;
                            break;
                        }
                    }

                    if (exist)
                    {
                        MessageBox.Show("Essa mesa já está sendo utilizada!!!");
                        return;
                    }
                }

                Sales.Log.Create(dateSale, table, Items);

                MessageBox.Show("Venda alterada com sucesso!!!");

                Close();
            }
        }
コード例 #8
0
 public void AddOrUpdate(Tables.Product product)
 {
     con.Products.AddOrUpdate(product);
     con.SaveChanges();
 }