Beispiel #1
0
        private bool OnInvoiceDetailSQLError(SqlException sqlerr, MDataSet.InvoiceDetailRow row)
        {
            decimal _oldQnt = row.Quantity;

            RefreshData(row.RemainsRow);
            // если нулевой остаток
            if (row.RemainsRow.QuantityRemains == 0)
            {
                MessageBox.Show("Уже нет товара на складе!");
                row.RejectChanges();
                return(true);
            }
            else
            { // уменьшить до кол-ва остатка и снова сохранить
                try
                {
                    row.ClearErrors();
                    row.Quantity = row.RemainsRow.QuantityRemains;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    row.RejectChanges();
                    return(false);
                }
                finally
                {
                    decimal ed = _oldQnt - row.Quantity;
                    MessageBox.Show("Не удалось выписать: " + ed.ToString());
                }
                return(true);
            }
        }