示例#1
0
        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;
        }
示例#2
0
        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);
        }