private DamaiDataSet.AccVouchRow CalcTotalAndSetMoney() { var rowView = accVouchBindingSource.Current as DataRowView; if (rowView == null) { return(null); } DamaiDataSet.AccVouchRow parent = rowView.Row as DamaiDataSet.AccVouchRow; if (parent == null) { return(parent); } decimal credit = 0, debt = 0; var details = parent.GetAccVouchDetailRows(); foreach (var row in details) { if (!row.IsCreditNull()) { credit += row.Credit; } if (!row.IsDebtNull()) { debt += row.Debt; } } labelDebt.Text = debt.ToString("N2"); labelCredit.Text = credit.ToString("N2"); if (parent.IsMoneyNull() || parent.Money != debt) { parent.Money = debt; } return(parent); }
private void dgvAccVoucher_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { var view = sender as DataGridView; DataGridViewRow viewRow = e.Row; var rowView = viewRow.DataBoundItem as DataRowView; if (rowView == null) { return; } DamaiDataSet.AccVouchRow acc = rowView.Row as DamaiDataSet.AccVouchRow; var details = acc.GetAccVouchDetailRows(); var dic = new Dictionary <AccDataSource, List <int> >(); dic.Add(AccDataSource.Voucher, new List <int>()); dic.Add(AccDataSource.Expense, new List <int>()); dic.Add(AccDataSource.PosRevenue, new List <int>()); dic.Add(AccDataSource.Shipment, new List <int>()); dic.Add(AccDataSource.Bank, new List <int>()); List <int> list = new List <int>(); foreach (var acc1 in details) { if ((!acc1.IsSourceDataTypeNull()) && (!acc1.IsSourceDataIDNull())) { if (dic.TryGetValue((AccDataSource)acc1.SourceDataType, out list)) { list.Add(acc1.SourceDataID); } } acc1.Delete(); } foreach (var pair in dic) { DeleteRelatedDGV(pair.Key, pair.Value); } }