Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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
                );
            }
        }