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(); } }
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(); }
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); }
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; }
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); }
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); } }
public void AddOrUpdate(Tables.Client client) { con.Clients.AddOrUpdate(client); con.SaveChanges(); }
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; }
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(); } }
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)); } }
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); } } }