Exemplo n.º 1
0
        }         // LoadReportArgs

        private static SortedDictionary <string, Report> FillReportArgs(AConnection oDB, string sSpName, params QueryParameter[] arySpArgs)
        {
            var reportList = new SortedDictionary <string, Report>();

            oDB.ForEachRowSafe((sr, bRowsetStart) => {
                var rpt = new Report(sr);

                reportList[rpt.TypeName] = rpt;

                return(ActionResult.Continue);
            }, sSpName, CommandSpecies.StoredProcedure, arySpArgs);

            if (reportList.Count > 0)
            {
                List <ReportArg> args = LoadReportArgs(oDB);

                Report oLastReport = null;
                string sLastType   = null;

                foreach (ReportArg row in args)
                {
                    if (sLastType != row.ReportType)
                    {
                        if (reportList.ContainsKey(row.ReportType))
                        {
                            sLastType   = row.ReportType;
                            oLastReport = reportList[sLastType];
                        }
                        else
                        {
                            continue;
                        }
                    }                     // if

                    oLastReport.AddArgument(row.ArgumentName);
                }         // for each
            }             // if report list is not null

            return(reportList);
        } // FillReportArgs