コード例 #1
0
        private void btnRegDetail_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var errorMessage = string.Empty;
                if (!ValidateData(out errorMessage))
                {
                    throw new Exception(errorMessage);
                }


                using (var scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions()
                {
                    IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted,
                    Timeout = new TimeSpan(2, 0, 0)
                }))
                {
                    var treasury = SaveTreasury();

                    var treasuryDetail = Business.GetTreasuryDetailBusiness().GetById(TreasuryDetailId);
                    if (treasuryDetail == null)
                    {
                        treasuryDetail = new Data.TreasuryDetail()
                        {
                            IDTreasury = treasury.ID,
                            TDPrice    = txtPrice.Text.ToDecimal()
                        }
                    }
                    ;

                    if (cmb_noe_daryaft.SelectedValue.ToGUID() == Common.Constants.TreasuryDetailType.Cash)
                    {
                        treasuryDetail.IDCheck       = null;
                        treasuryDetail.IDFund        = FundId;
                        treasuryDetail.TDPrice       = txtPrice.Text.ToDecimal();
                        treasuryDetail.TDDescription = txtCashDescription.Text;
                    }
                    else
                    {
                        treasuryDetail.IDCheck       = SaveCheque(treasuryDetail);
                        treasuryDetail.IDFund        = null;
                        treasuryDetail.TDPrice       = txtChequePrice.Text.ToDecimal();
                        treasuryDetail.TDDescription = txtChequeDescription.Text;
                    }
                    treasuryDetail.TDType = cmb_noe_daryaft.SelectedValue.ToGUID();

                    Business.GetTreasuryDetailBusiness().Save(treasuryDetail);

                    scope.Complete();
                }

                ClearForm();

                SetDataGrid();
            }
            catch (Exception ex)
            {
                AccountingKernel.Forms.Base.BaseWindow.ShowError(ex);
            }
        }
コード例 #2
0
        private void btnRegDetail_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var errorMessage = string.Empty;
                if (!ValidateData(out errorMessage))
                {
                    throw new Exception(errorMessage);
                }


                using (var scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions()
                {
                    IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted,
                    Timeout = new TimeSpan(2, 0, 0)
                }))
                {
                    var treasury      = SaveTreasury();
                    var chequeStrings = txtCheque.Text.Split(Localize.Cheque_Fund_Seperator.ToChar());

                    Guid?chequeId = null;

                    if (cmb_noe_daryaft.SelectedValue.ToGUID() == Common.Constants.TreasuryDetailType.Cheque)
                    {
                        var cheque = Business.GetChequeBusiness().GetByNumber(chequeStrings[0], chequeStrings[1]);
                        if (cheque != null)
                        {
                            chequeId = cheque.ID;
                        }
                    }


                    var treasuryDetail = Business.GetTreasuryDetailBusiness().GetById(TreasuryDetailId);
                    if (treasuryDetail == null)
                    {
                        treasuryDetail = new Data.TreasuryDetail()
                        {
                            IDTreasury = treasury.ID
                        };
                    }

                    treasuryDetail.TDPrice       = cmb_noe_daryaft.SelectedValue.ToGUID() == Common.Constants.TreasuryDetailType.Cash ? txtPrice.Text.ToDecimal() : txtChequePrice.Text.ToDecimal();
                    treasuryDetail.IDCheck       = chequeId;
                    treasuryDetail.IDFund        = FundId;
                    treasuryDetail.TDType        = cmb_noe_daryaft.SelectedValue.ToGUID();
                    treasuryDetail.TDDescription = cmb_noe_daryaft.SelectedValue.ToGUID() == Common.Constants.TreasuryDetailType.Cash ? txtDetailDescrition.Text : txtChequeDetailDescrition.Text;

                    Business.GetTreasuryDetailBusiness().Save(treasuryDetail);

                    scope.Complete();
                }

                SetDataGrid();
            }
            catch (Exception ex)
            {
                AccountingKernel.Forms.Base.BaseWindow.ShowError(ex);
            }
        }
コード例 #3
0
        private Guid?SaveCheque(Data.TreasuryDetail treasuryDetail)
        {
            try
            {
                var cheque = Business.GetChequeBusiness().GetById(treasuryDetail.IDCheck.ToGUID());
                if (cheque == null)
                {
                    cheque = new Data.Check();
                }

                cheque.CNO    = txtNumCheque.Text;
                cheque.CPrice = txtChequePrice.Text.ToDecimal();
                cheque.CDate  = dtpChequeDate.Text;
                cheque.CBank  = FundId;
                cheque.CType  = Common.Constants.ChequeType.Recive;
                Business.GetChequeBusiness().Save(cheque);
                return(cheque.ID);
            }
            catch
            {
                throw;
            }
        }