Ejemplo n.º 1
0
        }         //  end WriteTree

        private void WriteLogList(StreamWriter strWriteOut, reportHeaders rh, IEnumerable <LogDO> logList, IEnumerable <TreeDO> tList,
                                  ref int pageNumb)
        {
            //  output log data (not logstock)
            //  printing is for 5 logs per line; positions 1-4 are the same until a new tree
            foreach (TreeDO tdo in tList)
            {
                //  any logs for this tree?
                List <LogDO> currentLogs = LogMethods.GetLogRecords(logList, (long)tdo.Tree_CN).ToList();
                int          numbLogs    = currentLogs.Count();
                if (numbLogs > 0)
                {
                    //  how many iterations for the number of logs?
                    int numIts     = numbLogs / 5;
                    int remainLogs = numbLogs - numIts * 5;
                    //  Need to round iterations to nearest whole number and save remainder to print all logs

                    for (int n = 0; n < numIts; n++)
                    {
                        WriteReportHeading(strWriteOut, rh.reportTitles[0], rh.reportTitles[1], rh.reportTitles[2],
                                           rh.A08columns, 10, ref pageNumb, "");
                        switch (n)
                        {
                        case 0:             //  logs 1-5
                            prtFields = LogMethods.buildPrintArray(currentLogs, 0, 4);
                            break;

                        case 1:             //  logs 6-10
                            prtFields = LogMethods.buildPrintArray(currentLogs, 5, 9);
                            break;

                        case 2:             //  logs 11-15
                            prtFields = LogMethods.buildPrintArray(currentLogs, 10, 14);
                            break;

                        case 3:             //  logs 16-20
                            prtFields = LogMethods.buildPrintArray(currentLogs, 15, 19);
                            break;
                        }   //  end switch
                        printOneRecord(fieldLengths, prtFields, strWriteOut);
                    }       //  end for n loop

                    //  print remaining logs if needed
                    if (remainLogs > 0)
                    {
                        WriteReportHeading(strWriteOut, rh.reportTitles[0], rh.reportTitles[1], rh.reportTitles[2],
                                           rh.A08columns, 10, ref pageNumb, "");
                        prtFields = LogMethods.buildPrintArray(currentLogs, numbLogs - remainLogs, numbLogs - 1);
                        printOneRecord(fieldLengths, prtFields, strWriteOut);
                    } //  endif remaining logs
                }     //  endif number of logs
            }         //  end foreach loop
            return;
        }             //  end WriteLogList
Ejemplo n.º 2
0
        }             //  end WriteLogList

        private void WriteFallBuckScale(StreamWriter strWriteOut, reportHeaders rh, List <TreeDO> justFBS, ref int pageNumb, IEnumerable <LogStockDO> lsList)
        {
            foreach (TreeDO tdo in justFBS)
            {
                //  find logs for this tree
                IEnumerable <LogStockDO> fbsLogs = lsList.Where(lsdo => lsdo.Tree_CN == tdo.Tree_CN);

                if (fbsLogs.Any())
                {
                    foreach (LogStockDO lsd in fbsLogs)
                    {
                        WriteReportHeading(strWriteOut, rh.reportTitles[0], rh.reportTitles[1], rh.reportTitles[2],
                                           rh.A09columns, 10, ref pageNumb, "");
                        prtFields = LogMethods.buildPrintArray(lsd);
                        printOneRecord(fieldLengths, prtFields, strWriteOut);
                    } //  end foreach loop
                }     //  endif
            }         //  end foreach loop

            return;
        }       //  end WriteFallBuckScale
Ejemplo n.º 3
0
        }       //  end WriteFallBuckScale

        private void WriteLogStock(StreamWriter strWriteOut, reportHeaders rh, IEnumerable <LogStockDO> lsList, ref int pageNumb)
        {
            //  outputs data from the logstock table -- primarily the L1 report
            foreach (LogStockDO lsdo in lsList)
            {
                if (numOlines >= 48)
                {
                    numOlines = 0;
                }
                WriteReportHeading(strWriteOut, rh.reportTitles[0], rh.reportTitles[1], rh.reportTitles[2],
                                   rh.L1columns, 10, ref pageNumb, "");
                //  calulate total expansion factor -- expansion factor times strata acres
                double STacres = Utilities.ReturnCorrectAcres(lsdo.Tree.Stratum.Code, (long)lsdo.Tree.Stratum_CN);
                if (STacres == 0.0)
                {
                    STacres = 1.0;
                }
                double totEF = lsdo.Tree.ExpansionFactor * STacres;
                prtFields = LogMethods.buildPrintArray(lsdo, totEF);
                printOneRecord(fieldLengths, prtFields, strWriteOut);
            }   //  end foreach loop
            return;
        }       //  end WriteLogStock