Example #1
0
        /// <summary>
        /// <Pre>PopulateDocs has already gotten all records and made them into tables.</Pre>
        /// <Post>A schema has been built around the relations of these tables.<br>
        /// Any relevant filters have been run, and reports have been made on bad data.</br></Post>
        /// </summary>
        /// <returns></returns>
        internal List<OutputDoc> ProcessRecords(
            out IEnumerable<DataRow> membersWithoutStatements
            , out IEnumerable<DataRow> balancesWithoutStatements
            , out IEnumerable<DataRow> statementsWithoutMembers)
        {
            // PopulateDocs has already:
            // Gotten All Invoices, Bal Fwd Records, Member Records, and made them into tables in a dataset.

            // Get the report lists out.
            // Datarows from members where there DOES NOT EXIST a statement with a matching Member ID.
            membersWithoutStatements = ClientBusinessRules.GetMembersWOStmts(this);
            // DataRows from balances where there DOES NOT EXIST statement with a matching account ID.
            balancesWithoutStatements = ClientBusinessRules.GetBalancesWOStmts(this);
            // DataRows from members where there DOES NOT EXIST a member to match a statement.
            statementsWithoutMembers = ClientBusinessRules.GetStmtsWOMembers(this);

            //var balancesWStms = ClientBusinessRules.GetBalancesWStmts(this);
            //var membersWithStatements = ClientBusinessRules.GetMembersWStmts(this);
            //var balancesWithMembers = ClientBusinessRules.GetBalancesWMembers(this);

            // Make outputDocs from each statement, its corresponding member, and any and all balances forward.
            List<OutputDoc> outputDocs = ClientBusinessRules.GetStatementRows(this).ToList();



            return outputDocs;
        }