private async void LaboratoryDataTableRowDeleting(object sender, DataRowChangeEventArgs e) { if (this.DeleteHandled) { this.DeleteHandled = false; return; } var result = await MainWindowHelper.DeleteRowAsync ( LaboratoryBookName, LaboratoryBookPermission, e.Row ); if (result) { e.Row.AcceptChanges(); TaskBarIcon.ShowBalloonTip ( "Row action", $"Row was successfully deleted from {LaboratoryBookName} database", BalloonIcon.Info ); await MainWindowHelper.UpdateStatistics(LaboratoryBookName, User); } else { e.Row.RejectChanges(); } }
private async void LaboratoryDataTableRowChanged(object sender, DataRowChangeEventArgs e) { bool result = false; var laboratoryBookName = this.LaboratoryBookName; var laboratoryBookPermission = this.LaboratoryBookPermission; var row = e.Row; var dgLaboratoryBook = this.DgLaboratoryBook; var columnList = new List <string>(); foreach (var column in dgLaboratoryBook.Columns) { if ((string)(column.Header) == "sampleID") { continue; } var str = column.Header.ToString(); columnList.Add(str); } if (e.Action == DataRowAction.Add) { result = await Task.Run(() => { return(MainWindowHelper.AddRow(laboratoryBookName, laboratoryBookPermission, row, dgLaboratoryBook, User)); }); TaskBarIcon.ShowBalloonTip ( "Row action", $"Row was successfully added to {LaboratoryBookName} database", BalloonIcon.Info ); } if (e.Action == DataRowAction.Change) { result = await Task.Run(() => { return(MainWindowHelper.ChangeRow(laboratoryBookName, laboratoryBookPermission, row, columnList)); }); } if (result) { await MainWindowHelper.UpdateStatistics(LaboratoryBookName, User); e.Row.AcceptChanges(); } else { e.Row.RejectChanges(); } }
private async void DgLaboratoryBook_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { var laboratoryBookName = this.LaboratoryBookName; var header = e.Column.Header.ToString(); var row = e.Row.Item as DataRowView; object changingValue = null; if (e.EditingElement is ComboBox comboBox) { changingValue = comboBox.SelectedValue; } else if (e.EditingElement is TextBox textBox) { changingValue = textBox.Text; } var sampeId = row[0]; bool changeCellResult = false; try { changeCellResult = await Task.Run(() => { return(MainWindowHelper.ChangeCell(laboratoryBookName, header, changingValue, sampeId)); }); await MainWindowHelper.UpdateStatistics(LaboratoryBookName, User); } catch (Exception exception) { MessageBox.Show ( exception.Message, "Cell change error", MessageBoxButton.OK, MessageBoxImage.Error ); } }