Ejemplo n.º 1
0
        private void SaveBtn_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(clientName.Text) ||
                string.IsNullOrEmpty(Adress.Text) ||
                string.IsNullOrEmpty(District.Text) ||
                string.IsNullOrEmpty(Number.Text))
            {
                MessageBox.Show("Os campos com * não podem estar vazios!!!", "ALERTA", MessageBoxButton.OK, MessageBoxImage.Information);
                return;
            }

            if (sqlClient.Exist(clientName.Text, Adress.Text, Convert.ToInt32(Number.Text), District.Text))
            {
                return;
            }

            if (idClient == -1)
            {
                Tables.Client client = new Tables.Client(clientName.Text, Adress.Text, Convert.ToInt32(Number.Text), District.Text, Complement.Text, Telephone.Text, Reference.Text);
                sqlClient.AddOrUpdate(client);

                MessageBox.Show("Cliente cadastrado com Sucesso!!!", "Informação", MessageBoxButton.OK, MessageBoxImage.Information);

                ClearBtn_Click(null, null);
            }
            else
            {
                Tables.Client client = new Tables.Client(idClient, clientName.Text, Adress.Text, Convert.ToInt32(Number.Text), District.Text, Complement.Text, Telephone.Text, Reference.Text);
                sqlClient.AddOrUpdate(client);

                MessageBox.Show("Cliente atualizado com Sucesso!!!", "Informação", MessageBoxButton.OK, MessageBoxImage.Information);

                this.Close();
            }
        }
Ejemplo n.º 2
0
        public void Insert(Tables.Client client, DateTime date, decimal totalBruto, decimal desconto, decimal total, string pagamento, ObservableCollection <Item> items)
        {
            Tables.Sale sale = new Tables.Sale(date, totalBruto, desconto, total, pagamento);
            con.Sales.Add(sale);
            con.SaveChanges();

            int saleId = con.Sales.Max(x => x.Id);

            con.SaleDeliveries.Add(new Tables.SaleDelivery(saleId, client.Name, client.Street + ", Nº" + client.Number + ", " + client.District + ", " + client.Complement));
            con.SaveChanges();

            for (int i = 0; i < items.Count; i++)
            {
                items[i].Name = new Product().GetProduct(items[i].Id).Name;
                for (int j = i + 1; j < items.Count; j++)
                {
                    if (items[i].Id == items[j].Id)
                    {
                        items[i].Quantity += items[j].Quantity;

                        items.RemoveAt(j);
                        j--;
                    }
                }
            }

            foreach (Item it in items)
            {
                Tables.ProductSale productSale = new Tables.ProductSale(saleId, it.Id, it.Name, it.Price, it.Quantity, it.Total);
                con.ProductSales.Add(productSale);
            }
            con.SaveChanges();
        }
Ejemplo n.º 3
0
        public static void Create(DateTime dateSale, Tables.Client client, string payment, decimal discount, decimal valuePay, decimal change, ObservableCollection <Item> items)
        {
            string path = DefaultPath() + dateSale.ToString("yyyy-MM-dd HH+mm+ss") + ".bin";

            string content = "DELIVERY\n";

            content += client.Name + "\n";
            content += client.Street + "\n";
            content += client.Number + "\n";
            content += client.District + "\n";
            content += client.Complement + "\n";
            content += client.Telephone + "\n";
            content += client.Reference + "\n";
            content += payment + "\n";
            content += discount + "\n";
            content += valuePay + "\n";
            content += change + "\n";
            content += "-PRODUTOS-\n";
            foreach (Item it in items)
            {
                string observation = it.Name.Substring(new Sql.Product().GetProduct(it.Id).Name.Length + 1);
                content += it.Id + ">" + observation + ">" + it.Quantity + "\n";
            }

            File.WriteAllText(path, content, Encoding.UTF8);
        }
Ejemplo n.º 4
0
        private void NewClient(object sender, RoutedEventArgs e)
        {
            Tables.Client client = new Tables.Client(searchName.Text, street.Text, Convert.ToInt32(number.Text), district.Text, complement.Text, telephone.Text, Reference.Text);
            sqlClient.AddOrUpdate(client);

            MessageBox.Show("Cliente cadastrado com sucesso!!!");

            newClient.Visibility = Visibility.Collapsed;
        }
Ejemplo n.º 5
0
        public static Tables.Client Client(DateTime dateSale)
        {
            string[]      lines = File.ReadAllLines(DefaultPath() + dateSale.ToString("yyyy-MM-dd HH+mm+ss") + ".bin");
            Tables.Client c     = new Tables.Client();
            c.Name       = lines[1];
            c.Street     = lines[2];
            c.Number     = Convert.ToInt32(lines[3]);
            c.District   = lines[4];
            c.Complement = lines[5];
            c.Telephone  = lines[6];
            c.Reference  = lines[7];

            return(c);
        }
Ejemplo n.º 6
0
        private void GridClientes_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (GridClientes.SelectedItem == null)
            {
                return;
            }

            if (GridClientes.SelectedIndex != -1)
            {
                Tables.Client selected = (Tables.Client)GridClientes.SelectedItem;
                new ClientesAdd(selected).ShowDialog();
                Search_TextChanged(null, null);
            }
            else
            {
                MessageBox.Show("Selecione um CLIENTE para ser editado!", "ERRO", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
Ejemplo n.º 7
0
 public void AddOrUpdate(Tables.Client client)
 {
     con.Clients.AddOrUpdate(client);
     con.SaveChanges();
 }
Ejemplo n.º 8
0
        public ClientesAdd(Tables.Client client = null)
        {
            InitializeComponent();

            sqlClient = new Sql.Client();

            if (client != null)
            {
                idClient        = client.Id;
                clientName.Text = client.Name;
                Adress.Text     = client.Street;
                District.Text   = client.District;
                Number.Text     = client.Number.ToString();
                Complement.Text = client.Complement;
                Telephone.Text  = client.Telephone;
                Reference.Text  = client.Reference;
            }

            Loaded += ClientesAdd_Loaded;

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

            clientName.GotFocus += delegate { clientName.SelectAll(); };
            Adress.GotFocus     += delegate { Adress.SelectAll(); };
            District.GotFocus   += delegate { District.SelectAll(); };
            Number.GotFocus     += delegate { Number.SelectAll(); };
            Complement.GotFocus += delegate { Complement.SelectAll(); };
            Telephone.GotFocus  += delegate { Complement.SelectAll(); };
            Reference.GotFocus  += delegate { Reference.SelectAll(); };

            clientName.PreviewKeyDown += (sender, e) => { if (e.Key == Key.Enter)
                                                          {
                                                              Adress.Focus();
                                                          }
            };
            Adress.PreviewKeyDown += (sender, e) => { if (e.Key == Key.Enter)
                                                      {
                                                          Number.Focus();
                                                      }
            };
            Number.PreviewKeyDown += (sender, e) => { if (e.Key == Key.Enter)
                                                      {
                                                          District.Focus();
                                                      }
            };
            District.PreviewKeyDown += (sender, e) => { if (e.Key == Key.Enter)
                                                        {
                                                            Complement.Focus();
                                                        }
            };
            Complement.PreviewKeyDown += (sender, e) => { if (e.Key == Key.Enter)
                                                          {
                                                              Telephone.Focus();
                                                          }
            };
            Telephone.PreviewKeyDown += (sender, e) => { if (e.Key == Key.Enter)
                                                         {
                                                             Reference.Focus();
                                                         }
            };
            Reference.PreviewKeyDown += (sender, e) => { if (e.Key == Key.Enter)
                                                         {
                                                             SaveBtn_Click(null, null);
                                                         }
            };

            SaveBtn.Click  += SaveBtn_Click;
            ClearBtn.Click += ClearBtn_Click;
        }
Ejemplo n.º 9
0
        private void Confirm_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(searchName.Text) ||
                string.IsNullOrEmpty(street.Text) ||
                string.IsNullOrEmpty(number.Text) ||
                string.IsNullOrEmpty(district.Text))
            {
                MessageBox.Show("Por favor preencha todas as informações");
                return;
            }
            else if (gridProduct.HasItems == false)
            {
                MessageBox.Show("É necessário ter produtos a venda");
                return;
            }

            Tables.Client client = new Tables.Client(searchName.Text, street.Text, Convert.ToInt32(number.Text), district.Text, complement.Text, telephone.Text, Reference.Text);

            decimal tempTotalSale = TotalSale(Convert.ToDecimal(discount.Text));
            decimal tempDiscount  = Convert.ToDecimal(discount.Text);
            decimal tempValuePay  = Convert.ToDecimal(valuePay.Text);
            decimal tempChange    = tempValuePay - tempTotalSale;

            if (isEditing == false)
            {
                Sales.Log.Create(DateTime.Now, client, payment.Text, tempDiscount, tempValuePay, tempChange, Items);

                if (MessageBox.Show("Venda adicionada com sucesso!!!\nDeseja imprimir o CUPOM NÃO FISCAL??", "", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    TXT.Sale(client, DateTime.Now, tempTotalSale + tempDiscount, tempDiscount, tempTotalSale, payment.Text, tempValuePay, tempChange, Items);
                    new Impressao().ShowDialog();
                }

                searchName.Text = "";
                street.Text     = "";
                complement.Text = "";
                district.Text   = "";
                number.Text     = "";
                discount.Text   = "0,00";
                telephone.Text  = "";
                Reference.Text  = "";

                Items.Clear();
                labelTotalSale.Content = "TOTAL:R$0,00";
                valuePay.Text          = "0,00";
                Switch(Convert.ToDecimal(valuePay.Text));
                quantity.Text = "";
                searchName.Focus();

                sales.UpdateGrid();
            }
            else
            {
                Sales.Log.Create(dateSale, client, payment.Text, tempDiscount, tempValuePay, tempChange, Items);

                if (MessageBox.Show("Venda alterada com sucesso!!!\nDeseja imprimir o CUPOM NÃO FISCAL??", "", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    TXT.Sale(client, dateSale, tempTotalSale + tempDiscount, tempDiscount, tempTotalSale, payment.Text, tempValuePay, tempChange, Items);
                    new Impressao().ShowDialog();
                }

                Close();
            }
        }
Ejemplo n.º 10
0
        public VendasDelivery(Vendas sales, ObservableCollection <Item> items, Tables.Client oldAddress, DateTime dateSale, bool isEditing = false, string payment = "", string discounts = "", string valuePays = "", string changes = "")
        {
            InitializeComponent();

            sqlClient  = new Sql.Client();
            sqlProduct = new Sql.Product();

            Items = new ObservableCollection <Item>();
            gridProduct.DataContext = Items;

            foreach (Item it in items)
            {
                Items.Add(it);
            }

            this.sales = sales;
            Closed    += (sender, e) => sales.UpdateGrid();
            Loaded    += VendasDelivery_Loaded;

            // CLIENT

            searchName.PreviewKeyDown += SearchName_PreviewKeyDown;
            searchName.TextChanged    += SearchName_TextChanged;

            gridClient.MouseDoubleClick += GridClient_MouseDoubleClick;

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

            discount.GotFocus         += Discount_GotFocus;
            discount.LostFocus        += Discount_LostFocus;
            discount.PreviewTextInput += (sender, e) => e.Handled = new Regex("[^0-9,]+").IsMatch(e.Text);
            discount.TextChanged      += Discount_TextChanged;

            // Product

            searchProduct.PreviewKeyDown   += SearchProduct_PreviewKeyDown;
            searchProduct.PreviewTextInput += SearchProduct_PreviewTextInput;
            searchProduct.TextChanged      += SearchProduct_TextChanged;

            gridSearch.PreviewKeyDown   += GridSearch_PreviewKeyDown;
            gridSearch.MouseDoubleClick += GridSearch_MouseDoubleClick;

            observation.PreviewKeyDown += (sender, e) => { if (e.Key == Key.Enter)
                                                           {
                                                               quantity.Focus();
                                                           }
            };

            quantity.PreviewKeyDown   += Quantity_PreviewKeyDown;
            quantity.PreviewTextInput += (sender, e) => e.Handled = new Regex("[^0-9]+").IsMatch(e.Text);

            gridProduct.BeginningEdit  += (sender, e) => e.Cancel = true;
            gridProduct.PreviewKeyDown += GridProduct_PreviewKeyDown;

            searchName.LostFocus += (sender, e) => CheckClient();
            street.LostFocus     += (sender, e) => CheckClient();;
            number.LostFocus     += (sender, e) => CheckClient();;
            district.LostFocus   += (sender, e) => CheckClient();;

            // BUTTONS

            this.payment.SelectionChanged += Payment_SelectionChanged;

            valuePay.PreviewTextInput += (sender, e) => e.Handled = new Regex("[^0-9,]+").IsMatch(e.Text);
            valuePay.GotFocus         += ValuePay_GotFocus;
            valuePay.LostFocus        += ValuePay_LostFocus;
            valuePay.TextChanged      += ValuePay_TextChanged;

            newClient.Click += NewClient;
            confirm.Click   += Confirm_Click;

            if (isEditing)
            {
                this.isEditing = true;
                this.dateSale  = dateSale;

                searchName.Text = oldAddress.Name;
                number.Text     = oldAddress.Number.ToString();
                street.Text     = oldAddress.Street;
                district.Text   = oldAddress.District;
                complement.Text = oldAddress.Complement;
                telephone.Text  = oldAddress.Telephone;
                Reference.Text  = oldAddress.Reference;

                switch (payment)
                {
                case "Á VISTA":
                    this.payment.SelectedIndex = 0;
                    break;

                case "CRÉDITO":
                    this.payment.SelectedIndex = 1;
                    break;

                case "DÉBITO":
                    this.payment.SelectedIndex = 2;
                    break;
                }

                this.discount.Text     = discounts;
                this.valuePay.Text     = valuePays;
                labelTotalSale.Content = "TOTAL:" + TotalSale(Convert.ToDecimal(discount.Text)).ToString("C2");
                Switch(Convert.ToDecimal(valuePay.Text));
            }
        }
Ejemplo n.º 11
0
        private void GridSales_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            if (gridSales.HasItems == false || gridSales.CurrentCell.IsValid == false)
            {
                return;
            }

            View.Sale it = (View.Sale)gridSales.SelectedItem;
            if (it == null)
            {
                return;
            }

            // Delete
            if (gridSales.CurrentCell.Column.DisplayIndex == 6)
            {
                if (it.Type == 0)
                {
                    if (MessageBox.Show("Tem certeza que deseja excluir a venda?", "", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                    {
                        Sales.Log.Delete(it.Date);
                        sales.Remove(it);
                    }
                }
                else
                {
                    if (MessageBox.Show("Tem certeza que deseja excluir a venda?", "", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                    {
                        Sales.Log.Delete(it.Date);
                        sales.Remove(it);
                    }
                }
            }
            // Edit
            else if (gridSales.CurrentCell.Column.DisplayIndex == 7)
            {
                if (it.Type == 0)
                {
                    VendasBalcao balcao = new VendasBalcao(this, Sales.Log.Products(it.Date), it.Date, true, Sales.Log.NumTable(it.Date));
                    balcao.ShowDialog();
                }
                else
                {
                    Tables.Client client = Sales.Log.Client(it.Date);
                    string[]      info   = Sales.Log.InfoDelivery(it.Date);

                    VendasDelivery delivery = new VendasDelivery(this, Sales.Log.Products(it.Date), client, it.Date, true, info[0], info[1], info[2], info[3]);
                    delivery.ShowDialog();
                }
            }
            // Print
            else if (gridSales.CurrentCell.Column.DisplayIndex == 8)
            {
                if (it.Type == 0)
                {
                    MessageBox.Show("Somente vendas Deliveries podem ser impressas antes de finalizadas!!!");
                    return;
                }
                else
                {
                    Tables.Client client = Sales.Log.Client(it.Date);
                    string[]      info   = Sales.Log.InfoDelivery(it.Date);

                    string  payment  = info[0];
                    decimal discount = Convert.ToDecimal(info[1]);
                    decimal valuePay = Convert.ToDecimal(info[2]);
                    decimal change   = Convert.ToDecimal(info[3]);

                    ObservableCollection <Item> items = Sales.Log.Products(it.Date);

                    TXT.Sale(client, it.Date, it.Total + discount, discount, it.Total, payment, valuePay, change, items);
                    new Impressao().ShowDialog();
                }
            }
            // Confirm
            else if (gridSales.CurrentCell.Column.DisplayIndex == 9)
            {
                if (it.Type == 0)
                {
                    new VendasPagamento(it.Total)
                    {
                        typeSale = 1,
                        sales    = this,
                        numTable = Sales.Log.NumTable(it.Date),
                        dateSale = it.Date
                    }.ShowDialog();

                    UpdateGrid();
                }
                else
                {
                    Tables.Client client = Sales.Log.Client(it.Date);
                    string[]      info   = Sales.Log.InfoDelivery(it.Date);

                    if (MessageBox.Show("Tem certeza de que deseja FINALIZAR a venda do Cliente " + client.Name + "??", "", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
                    {
                        return;
                    }

                    string  payment  = info[0];
                    decimal discount = Convert.ToDecimal(info[1]);
                    decimal valuePay = Convert.ToDecimal(info[2]);
                    decimal change   = Convert.ToDecimal(info[3]);

                    ObservableCollection <Item> items = Sales.Log.Products(it.Date);

                    new Sql.Sale().Insert(client, it.Date, it.Total + discount, discount, it.Total, payment, items);

                    if (MessageBox.Show("Deseja imprimir o CUPOM NÃO FISCAL??", "", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                    {
                        TXT.Sale(client, it.Date, it.Total + discount, discount, it.Total, payment, valuePay, change, items);
                        new Impressao().ShowDialog();
                    }

                    Sales.Log.Delete(it.Date);
                    sales.Remove(it);
                }
            }
        }