BatchGuy.App.Parser.Services.BluRaySummaryParserService.GetSummaryList C# (CSharp) Method

GetSummaryList() public method

public GetSummaryList ( ) : List
return List
        public List<BluRaySummaryInfo> GetSummaryList()
        {
            StringBuilder sbHeader = null;
            StringBuilder sbDetail = null;
            BluRaySummaryInfo summaryInfo = null;

            try
            {
                foreach (ProcessOutputLineItem item in _processOutputLineItems)
                {
                    EnumBluRayLineItemType type = _lineItemIdentifierService.GetLineItemType(item);
                    switch (type)
                    {
                        case EnumBluRayLineItemType.BluRaySummaryHeaderLine:
                            if (this.IsIdHeader(item))
                            {
                                sbHeader = new StringBuilder();
                                sbDetail = new StringBuilder();
                                summaryInfo = new BluRaySummaryInfo();
                                summaryInfo.Eac3ToId = this.GetId(item);
                                sbHeader.Append(this.RemoveEac3ToIdFromHeaderLineItem(item));
                            }
                            else
                            {
                                sbHeader.AppendLine(string.Format(" {0}", item.Text));
                            }
                            break;
                        case EnumBluRayLineItemType.BluRaySummaryDetailLine:
                            sbDetail.AppendLine(item.Text);
                            break;
                        case EnumBluRayLineItemType.BluRaySummaryEmptyLine:
                            summaryInfo.HeaderText = sbHeader.ToString();
                            summaryInfo.DetailText = sbDetail.ToString();
                            _summaryList.Add(summaryInfo);
                            break;
                        case EnumBluRayLineItemType.BluRayError:
                            throw new Exception(item.Text);
                        default:
                            break;
                    }
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat(Program.GetLogErrorFormat(), ex.Message, ex.StackTrace, MethodBase.GetCurrentMethod().Name);
                _errors.Add(new Error() { Description = "There was an error trying to parse the blu-ray disc" });
            }

            return _summaryList;
        }

Usage Example

        public void bluraysummaryparserservice_can_set_summary_id_test()
        {
            List<ProcessOutputLineItem> lineItems = new List<ProcessOutputLineItem>
            {
                new ProcessOutputLineItem()  { Id = 1, Text = "1) 00010.mpls, 3:04:31" },
                new ProcessOutputLineItem()  { Id = 2, Text = "- [0+3+4+5].m2ts" },
                new ProcessOutputLineItem()  { Id = 3, Text = "- h264/AVC, 1080p24 /1.001 (16:9)" },
                new ProcessOutputLineItem()  { Id = 4, Text = "- DTS Master Audio, Swedish, multi-channel, 48kHz" } ,
                new ProcessOutputLineItem()  { Id = 5, Text = "- AC3, Swedish, multi-channel, 48kHz" },
                new ProcessOutputLineItem()  { Id = 6, Text = "" }
            };
            ILineItemIdentifierService lineItemService = new BluRaySummaryLineItemIdentifierService();
            IBluRaySummaryParserService parserService = new BluRaySummaryParserService(lineItemService, lineItems);
            List<BluRaySummaryInfo> summaryList = parserService.GetSummaryList();

            summaryList[0].Eac3ToId.Should().Be("1)");
        }
All Usage Examples Of BatchGuy.App.Parser.Services.BluRaySummaryParserService::GetSummaryList