Example #1
0
        private static void Get_OffAccountsStatement(xing xd, int start_fs_id, int end_fs_id, ic.church_sub_unitC _unit, string _account_name)
        {
            string _str = string.Format("select source_name,source_type_id,source_id,fs_date,fs_id,off_id,receipt_total,transaction_id from off_main_tb where fs_id between {0} and {1} and source_type_id={2} and source_id={3} and receipt_status=1", start_fs_id, end_fs_id, em.off_source_typeS.church_sub_unit.ToInt16(), _unit.sb_unit_id);

            ic.account_AL_statementC        _obj       = null;
            List <ic.account_AL_statementC> _temp_list = new List <ic.account_AL_statementC>();

            using (var _dr = xd.SelectCommand(_str))
            {
                while (_dr.Read())
                {
                    _obj                = new ic.account_AL_statementC();
                    _obj.dr_amount      = 0;
                    _obj.description    = _dr["source_name"].ToStringNullable();
                    _obj.fs_date        = _dr.GetDateTime("fs_date");
                    _obj.fs_id          = _dr["fs_id"].ToInt32();
                    _obj.reference_no   = string.Format("R-{0}", _dr["off_id"].ToInt32());
                    _obj.reference_type = em.account_AL_referenceTypeS.receipt;
                    _obj.statement_type = em.account_statement_typeS.income_offering;
                    _obj.transaction_id = _dr["transaction_id"].ToInt64();
                    _obj.account_name   = _account_name;
                    _temp_list.Add(_obj);
                    _obj = null;
                }
            }
            var _cr_account_id = accn.GetCrExpLinkAccountID(em.link_accTypes.creditor, datam.DATA_ACCOUNTS[_unit.sys_gp_account_id], xd);

            foreach (var k in _temp_list)
            {
                k.dr_amount = xd.ExecuteScalarInt(string.Format("select sum(cr) as _sm from journal_tb where transaction_id={0} and account_id={1}", k.transaction_id, _cr_account_id));
                if (k.dr_amount > 0)
                {
                    accn.DATA_ASSET_LIABILITY_STATEMENT.Add(k);
                }
            }
        }
        public static void FillChurchSubUnits(xing xd)
        {
            if (DATA_CHURCH_SUB_UNIT == null)
            {
                DATA_CHURCH_SUB_UNIT = new SortedList <int, MTOMS.ic.church_sub_unitC>();
            }
            bool   is_new   = false;
            bool   load_all = false;
            string _str     = string.Empty;

            if (wdata.TABLE_STAMP == null)
            {
                wdata.TABLE_STAMP = new SortedList <string, long>();
            }
            string _table_name = "church_sub_unit_tb";

            if (wdata.TABLE_STAMP.IndexOfKey(_table_name) == -1)
            {
                wdata.TABLE_STAMP.Add(_table_name, 0);
            }
            var _stamp = xd.GetTimeStamp(_table_name);

            if (DATA_CHURCH_SUB_UNIT.Keys.Count == 0)
            {
                _str     = "select * from church_sub_unit_tb";
                load_all = true;
            }
            else
            {
                if (_stamp == wdata.TABLE_STAMP[_table_name])
                {
                    return;
                }
                _str = string.Format("select * from church_sub_unit_tb where fs_time_stamp > {0}", wdata.TABLE_STAMP[_table_name]);
            }
            wdata.TABLE_STAMP[_table_name] = _stamp;
            ic.church_sub_unitC _obj = null;
            #region database fill
            using (var _dr = xd.SelectCommand(_str))
            {
                while (_dr.Read())
                {
                    _obj = null;
                    if (load_all)
                    {
                        _obj   = new MTOMS.ic.church_sub_unitC();
                        is_new = true;
                    }
                    else
                    {
                        try
                        {
                            _obj   = datam.DATA_CHURCH_SUB_UNIT[_dr["sb_unit_id"].ToInt32()];
                            is_new = false;
                        }
                        catch (Exception ex)
                        {
                            if (_obj == null)
                            {
                                _obj   = new MTOMS.ic.church_sub_unitC();
                                is_new = true;
                            }
                        }
                    }
                    if (is_new)
                    {
                        _obj.sb_unit_id        = _dr["sb_unit_id"].ToInt32();
                        _obj.sb_unit_category  = (em.sb_unit_categoryS)_dr["sb_unit_cat_id"].ToInt32();
                        _obj.sb_unit_name      = _dr["sb_unit_name"].ToStringNullable();
                        _obj.sys_gp_account_id = _dr["sys_gp_account_id"].ToInt32();
                        datam.DATA_CHURCH_SUB_UNIT.Add(_obj.sb_unit_id, _obj);
                    }
                    _obj.sb_unit_name = _dr["sb_unit_name"].ToStringNullable();
                }
                _dr.Close(); _dr.Dispose();
            }


            #endregion
        }
Example #3
0
        public static void Get_AssetLiabilityAccountStatement(xing xd, int start_fs_id, int end_fs_id, int account_id, string _account_name)
        {
            datam.InitAccount(xd);
            datam.LoadCrExpOffItems(xd);
            ic.accountC PrimaryAccount = datam.DATA_ACCOUNTS[account_id];

            switch (PrimaryAccount.account_dept_category)
            {
            case em.account_d_categoryS.Liablity:
            {
                var _cr_inc_item = datam.DATA_CR_EXP_OFFITEMS.Values.Where(k => k.gen_account_id == account_id & k._type == em.link_accTypes.creditor).FirstOrDefault();
                if (_cr_inc_item == null)
                {
                    return;
                }

                int         cg_id          = _cr_inc_item.cg_id;
                int         _income_acc_id = _cr_inc_item.account_id;
                ic.accountC _parent        = datam.DATA_ACCOUNTS[_income_acc_id].p_account_id == 0 ? null : datam.DATA_ACCOUNTS[datam.DATA_ACCOUNTS[_income_acc_id].p_account_id];
                if (_parent != null && _parent.account_id == -2360)
                {
                    ic.church_sub_unitC _unit = (from c in datam.DATA_CHURCH_SUB_UNIT.Values
                                                 where c.sys_gp_account_id == _income_acc_id
                                                 select c).FirstOrDefault();
                    if (_unit != null)
                    {
                        int _expense_acc_id = datam.DATA_CR_EXP_OFFITEMS.Values.Where(k => k.link_id == _cr_inc_item.link_id & k._type == em.link_accTypes.expense_accrued).FirstOrDefault().gen_account_id;
                        //
                        Get_OffAccountsStatement(xd, start_fs_id, end_fs_id, _unit, _account_name);
                        Get_CreditorExpenseStatement(xd, start_fs_id, end_fs_id, _expense_acc_id);
                        Get_AccountTransfers(xd, start_fs_id, end_fs_id, account_id);
                        //
                    }
                }
                else
                {
                    int _expense_acc_id = datam.DATA_CR_EXP_OFFITEMS.Values.Where(k => k.link_id == _cr_inc_item.link_id & k._type == em.link_accTypes.expense_accrued).FirstOrDefault().gen_account_id;
                    //
                    var _income_account = datam.DATA_ACCOUNTS[_income_acc_id];
                    if (_income_account.owner_type == em.AccountOwnerTypeS.CHURCH_GROUP_SHARED | _income_account.account_id == -2435)
                    {
                        cg_id = _cr_inc_item.cg_id;
                    }
                    else
                    {
                        cg_id = -1;
                    }
                    Get_OffAccountsStatement(xd, start_fs_id, end_fs_id, _income_acc_id, cg_id, _account_name);
                    Get_CreditorExpenseStatement(xd, start_fs_id, end_fs_id, _expense_acc_id);
                    Get_AccountTransfers(xd, start_fs_id, end_fs_id, account_id);
                    //
                }
                break;
            }

            case em.account_d_categoryS.Asset:
            {
                ic.accountC _account = datam.DATA_ACCOUNTS[account_id];
                switch (_account.p_account_id)
                {
                case -2499:           //accn.GetAccountByAlias("BANK_ACCOUNT").account_id:
                {
                    datam.GetBankAccounts(xd);
                    ic.bankAccountC _bank = (from k in datam.DATA_BANK_ACCOUNTS.Values
                                             where k.sys_account_id == account_id
                                             select k).FirstOrDefault();
                    if (_bank != null)
                    {
                        Get_BankingStatement(xd, start_fs_id, end_fs_id, _bank.un_id);
                        Get_BankingWithDrawStatement(xd, start_fs_id, end_fs_id, _bank.un_id);
                        Get_BankExpenseStatement(xd, start_fs_id, end_fs_id, account_id);
                    }
                    break;
                }

                case -2404:           // accn.GetAccountByAlias("UNBANKED").account_id:
                {
                    break;
                }
                }

                break;
            }
            }
        }