Пример #1
0
 public StandardBookingManager(User pUser): base(pUser)
 {
     _user = pUser;
     AccountManager _accountManagement =  new AccountManager(pUser);
     _chartOfAccounts = new ChartOfAccounts();
     _chartOfAccounts.Accounts = _accountManagement.SelectAllAccounts();
 }
Пример #2
0
 public StandardBookingManager(User pUser)
     : base(pUser)
 {
     _user = pUser;
     AccountManager _accountManagement =  new AccountManager(pUser);
     _chartOfAccounts = new ChartOfAccounts();
     _chartOfAccounts.Accounts = _accountManagement.SelectAllAccounts();
 }
        public IAccountingRule Select(int pId)
        {
            const string sqlText = @"SELECT rule_type
                                     FROM [AccountingRules]
                                     WHERE deleted = 0 
                                     AND id = @id";

            IAccountingRule rule = new ContractAccountingRule();

            using (SqlConnection conn = GetConnection())
            {
                using (OpenCbsCommand select = new OpenCbsCommand(sqlText, conn))
                {
                    select.AddParam("@id", pId);

                    using (OpenCbsReader reader = select.ExecuteReader())
                    {
                        if (reader.Empty)
                        {
                            return(null);
                        }

                        reader.Read();
                        if (reader.GetChar("rule_type") == 'C')
                        {
                            rule = new ContractAccountingRule {
                                Id = pId
                            }
                        }
                        ;
                    }
                }
            }

            if (rule is ContractAccountingRule)
            {
                rule = SelectContractAccountingRule(rule.Id);
            }

            List <Account> accounts = _accountManager.SelectAllAccounts();

            rule.DebitAccount  = accounts.FirstOrDefault(item => item.Id == rule.DebitAccount.Id);
            rule.CreditAccount = accounts.FirstOrDefault(item => item.Id == rule.CreditAccount.Id);

            return(rule);
        }
Пример #4
0
        public FundingLine AddGenericFundingLineWithThreeEvents(DateTime startDate)
        {
            ChartOfAccounts _chartOfAccounts = ChartOfAccounts.GetInstance(new User { Id = 5 });
             AccountManager accountManager = new AccountManager(new User { Id = 5 });
             _chartOfAccounts.Accounts = accountManager.SelectAllAccounts();

             FundingLineServices service = new FundingLineServices(new User{Id = 5});
             int newFL_ID = AddGenericFundingLine4();
             FundingLine fundingLineInitial = service.SelectFundingLineById(newFL_ID, true);

             FundingLineEvent ev0 = new FundingLineEvent();
             ev0.Code = "6012";
             ev0.CreationDate = startDate.AddDays(-2);
             ev0.Amount = 1000;
             ev0.Movement = OBookingDirections.Credit;
             ev0.Type = OFundingLineEventTypes.Entry;
             ev0.FundingLine = fundingLineInitial;
             ev0.IsDeleted = false;

             fundingLineInitial.AddEvent( service.AddFundingLineEvent(ev0));

             FundingLineEvent ev1 = new FundingLineEvent();
             ev1.Code = "6013";
             ev1.CreationDate = startDate.AddDays(-1);
             ev1.Amount = 500;
             ev1.Movement = OBookingDirections.Debit;
             ev1.Type = OFundingLineEventTypes.Disbursment;
             ev1.FundingLine = fundingLineInitial;
             ev1.IsDeleted = false;
             fundingLineInitial.AddEvent(service.AddFundingLineEvent(ev1));

             FundingLineEvent ev2 = new FundingLineEvent();
             ev2.Code = "6014";
             ev2.CreationDate = startDate;
             ev2.Amount = 100;
             ev2.Movement = OBookingDirections.Credit;
             ev2.Type = OFundingLineEventTypes.Repay;
             ev2.FundingLine = fundingLineInitial;
             ev2.IsDeleted = false;

             fundingLineInitial.AddEvent(service.AddFundingLineEvent(ev2));

             return fundingLineInitial;
        }