Ejemplo n.º 1
0
        public static void LockJournalVoucher(GLJournalVouchersInfo voucher)
        {
            if (voucher.GLJournalVoucherID == Guid.Empty)
            {
                return;
            }

            voucher.LockStatus = ABCCommon.ABCConstString.LockStatusLocked;
            new GLJournalVouchersController().UpdateObject(voucher);

            GLJournalEntrysController entryCtrl = new GLJournalEntrysController();
            List <Guid> lstAccounts             = new List <Guid>();

            foreach (GLJournalEntrysInfo entry in new GLJournalEntrysController().GetListByForeignKey("FK_GLJournalVoucherID", voucher.GLJournalVoucherID))
            {
                InvalidateJournalEntry(entry, voucher);

                entry.LockStatus  = ABCCommon.ABCConstString.LockStatusLocked;
                entry.JournalDate = voucher.JournalDate;
                entryCtrl.UpdateObject(entry);

                if (lstAccounts.Contains(entry.FK_GLAccountID_Debit) == false)
                {
                    lstAccounts.Add(entry.FK_GLAccountID_Debit);
                }
                if (lstAccounts.Contains(entry.FK_GLAccountID_Credit) == false)
                {
                    lstAccounts.Add(entry.FK_GLAccountID_Credit);
                }
            }
            foreach (Guid iAccountID in lstAccounts)
            {
                AccountingProvider.CalculateAccount(iAccountID);
            }
        }
Ejemplo n.º 2
0
        public static void ApproveJournalVoucher(GLJournalVouchersInfo voucher)
        {
            if (voucher.GLJournalVoucherID == Guid.Empty)
            {
                return;
            }

            if (voucher.ApprovalStatus == ABCCommon.ABCConstString.ApprovalTypeApproved)
            {
                if (DialogResult.No == ABCHelper.ABCMessageBox.Show("Phiếu kế toán đã được ghi sổ trước đó. Bạn có muốn ghi sổ lại không?", "Ghi sổ", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                {
                    return;
                }
            }

            voucher.ApprovalStatus = ABCCommon.ABCConstString.ApprovalTypeApproved;
            new GLJournalVouchersController().UpdateObject(voucher);

            GLJournalEntrysController entryCtrl = new GLJournalEntrysController();
            List <Guid> lstAccounts             = new List <Guid>();

            foreach (GLJournalEntrysInfo entry in entryCtrl.GetListByForeignKey("FK_GLJournalVoucherID", voucher.GLJournalVoucherID))
            {
                InvalidateJournalEntry(entry, voucher);

                entry.ApprovalStatus = ABCCommon.ABCConstString.ApprovalTypeApproved;
                entry.JournalDate    = voucher.JournalDate;
                entryCtrl.UpdateObject(entry);

                if (lstAccounts.Contains(entry.FK_GLAccountID_Debit) == false)
                {
                    lstAccounts.Add(entry.FK_GLAccountID_Debit);
                }
                if (lstAccounts.Contains(entry.FK_GLAccountID_Credit) == false)
                {
                    lstAccounts.Add(entry.FK_GLAccountID_Credit);
                }
            }
            foreach (Guid iAccountID in lstAccounts)
            {
                AccountingProvider.CalculateAccount(iAccountID);
            }
        }