Example #1
0
 public IMultiPageModel Combine(IMultiPageModel multiPageModel)
 {
     News163 news163 = new News163 { Title = Title };
     News163 pagedModel1 = (News163)multiPageModel;
     news163.Content = Content + pagedModel1.Content;
     return news163;
 }
Example #2
0
        public IMultiPageModel Combine(IMultiPageModel multiPageModel)
        {
            News163 news163 = new News163 {
                Title = Title
            };
            News163 pagedModel1 = (News163)multiPageModel;

            news163.Content = Content + pagedModel1.Content;
            return(news163);
        }
Example #3
0
        private void HandleObject(DictionaryEntry iterator, out bool needDelete)
        {
            needDelete = false;
            object o     = iterator.Value;
            var    model = o as IMultiPageModel;

            if (model != null)
            {
                IMultiPageModel multiPageModel = model;
                _pageMap.Put(multiPageModel.GetPageKey(), multiPageModel.GetPage(), true);
                if (multiPageModel.GetOtherPages() != null)
                {
                    foreach (string otherPage in multiPageModel.GetOtherPages())
                    {
                        bool aBoolean = _pageMap.Get(multiPageModel.GetPageKey(), otherPage);
                        if (!aBoolean)
                        {
                            _pageMap.Put(multiPageModel.GetPageKey(), otherPage, false);
                        }
                    }
                }
                //check if all pages are processed
                Dictionary <string, bool> booleanMap = _pageMap.Get(multiPageModel.GetPageKey());
                _objectMap.Put(multiPageModel.GetPageKey(), multiPageModel.GetPage(), multiPageModel);
                if (booleanMap == null)
                {
                    return;
                }

                if (booleanMap.Any(stringBooleanEntry => !stringBooleanEntry.Value))
                {
                    needDelete = true;
                    return;
                }
                List <EntryObject> entryList = _objectMap.Get(multiPageModel.GetPageKey()).Select(entry => new EntryObject()
                {
                    Entry = entry
                }).ToList();

                if (entryList.Count != 0)
                {
                    entryList.Sort();

                    IMultiPageModel value = entryList[0].Entry.Value;
                    for (int i = 1; i < entryList.Count; i++)
                    {
                        value = value.Combine(entryList[i].Entry.Value);
                    }
                    iterator.Value = value;
                }
            }
        }