private bool WhenSummarySelectedAtLeastOneStreamSelected()
{
bool isValid = false;
foreach (BluRayDiscInfo disc in _bluRayDiscInfoList.Where(d => d.IsSelected))
{
foreach (BluRaySummaryInfo summary in disc.BluRaySummaryInfoList.Where(s => s.IsSelected))
{
if (summary.BluRayTitleInfo != null && summary.BluRayTitleInfo.Video.IsSelected)
{
isValid = true;
}
if (summary.BluRayTitleInfo != null && summary.BluRayTitleInfo.AudioList != null && summary.BluRayTitleInfo.AudioList.Where(a => a.IsSelected).Count() > 0)
{
isValid = true;
}
if (summary.BluRayTitleInfo != null && summary.BluRayTitleInfo.Subtitles != null && summary.BluRayTitleInfo.Subtitles.Where(s => s.IsSelected).Count() > 0)
{
isValid = true;
}
if (summary.BluRayTitleInfo != null && summary.BluRayTitleInfo.Chapter != null && summary.BluRayTitleInfo.Chapter.IsSelected)
{
isValid = true;
}
if (!isValid)
{
this._errors.Add(new Error() { Description = "Some selected titles have no streams selected." });
return isValid;
}
isValid = false;
}
}
return true;
}