public void AppendDestinations(ref BLModel.Alternate.Long.Airing airing) { var destinationNames = airing.Flights .SelectMany(f => f.Destinations) .Select(d => d.Name) .Distinct() .ToList(); var destinations = destinationQueryHelper.GetByDestinationNames(destinationNames) .ToBusinessModel <List <DLDestinationModel.Destination>, List <BLModel.Alternate.Destination.Destination> >(); foreach (BLModel.Alternate.Destination.Destination des in destinations) //verify each destination has categories . if yes then conbine categories and properties. { if (des.Categories.Any()) { foreach (BLModel.Alternate.Destination.Category cat in des.Categories) { BLModel.Alternate.Destination.Property property = cat.ToBusinessModel <BLModel.Alternate.Destination.Category, BLModel.Alternate.Destination.Property>(); des.Properties.Add(property); } } } FilterPropertiesByBrand(destinations, ref airing); new BLModel.Alternate.Destination.DeliverableFormatter(airing).Format(destinations); // destinations passed by reference for formatting new BLModel.Alternate.Destination.PropertyFormatter(airing).Format(destinations); // destinations passed by reference for formatting airing.Options.Destinations = destinations; }
private bool IsPropertyTitleIdsAssociatedwithAiringTitleIds(BLModel.Alternate.Long.Airing airing, BLModel.Alternate.Destination.Property property) { var titleIds = ExtractTitleAndSeriesIdsFrom(airing); if (titleIds.Any()) { if (!property.TitleIds.Any(titleIds.Contains)) { return(false); } } else { return(false); } return(true); }