private void GotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) { Stores_PartGrid.DataContext = null; this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { PickList_PartComboBox.Text = ""; PickList_PartComboBox.SelectedItem = null; PickList_QtyTextBox.Clear(); PickList_SUNTextBox.Clear(); Line_PartComboBox.Text = ""; Line_PartComboBox.SelectedItem = null; Line_ReleaseQtyTextBox.Clear(); Line_TrackingCodeTextBox.Clear(); Line_ReturnQtyTextBox.Clear(); Scrap_PartNoCombobox.Text = ""; Scrap_PartNoCombobox.SelectedItem = null; Scrap_QtyTextBox.Clear(); Scrap_ReasonTextBox.Clear(); })); }
private void Scrap_UpdateButton_Click(object sender, RoutedEventArgs e) { if (Scrap_PartNoCombobox.SelectedItem == null) { return; } CurrentPart = (Part)Scrap_PartNoCombobox.SelectedItem; int qty = 0; if (int.TryParse(Scrap_QtyTextBox.Text, out qty) == false || (qty == 0)) { MessageBox.Show("Please Verify Quantity", "Alert", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } using (var db = new MTSDB()) { var part = db.Parts.Where(p => p.PartID == CurrentPart.PartID).SingleOrDefault(); if (part == null) { MessageBox.Show("Part Not Found!! Please Verify", "Error", MessageBoxButton.OK, MessageBoxImage.Error); Line_TrackingCodeTextBox.Clear(); return; } var tl = db.ToLine.Include("Part").Where(t => t.Part.PartID == part.PartID && t.Balance > 0).OrderBy(t => t.Timestamp).ToList(); int lineQty = 0; foreach (ToLine t in tl) { lineQty += t.Balance.Value; } if (lineQty < qty) { MessageBox.Show("Line Quantity less than Scrap Quantity. Please Verify", "Error", MessageBoxButton.OK, MessageBoxImage.Error); Line_TrackingCodeTextBox.Clear(); return; } LineRejection fl = new LineRejection(); fl.Part = part; fl.Reason = Scrap_ReasonTextBox.Text; fl.Timestamp = DateTime.Now; foreach (ToLine t in tl) { if (qty > 0) { if (t.Balance > qty) { t.Balance -= qty; fl.Quantity += qty; fl.ToLines.Add(t); break; } else { qty -= t.Balance.Value; fl.Quantity += t.Balance.Value; t.Balance = 0; fl.ToLines.Add(t); } } } db.LineRejections.Add(fl); db.SaveChanges(); MessageBox.Show("Scrap Updated", "Information", MessageBoxButton.OK, MessageBoxImage.Information); this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { Scrap_PartNoCombobox.Text = ""; Scrap_PartNoCombobox.SelectedItem = null; Scrap_QtyTextBox.Clear(); Scrap_ReasonTextBox.Clear(); })); } }