示例#1
0
        public bool Replace(int j, Magazine magazine)
        {
            if (_magazines.Count <= j)
            {
                return(false);
            }

            _magazines[j] = magazine;
            MagazineReplaced?.Invoke(this, new MagazineListHandlerEventArgs(CollectionName, "MagazineReplaced", j));
            return(true);
        }
示例#2
0
 public bool Replace(int j, Magazine magazine)
 {
     if (Magazines.Count > j)
     {
         Magazines[j] = magazine;
         if (MagazineReplaced != null)
         {
             MagazineReplaced(this, new MagazineListHandlerEventArgs(CollectionName, "Element was replaced by Replace", j));
         }
         return(true);
     }
     return(false);
 }
示例#3
0
        public override object DeepCopy()
        {
            Magazine other = (Magazine)MemberwiseClone();

            other.PersonsList = new List <Person>();
            other.ArticleList = new List <Article>();
            foreach (Person person in PersonsList)
            {
                other.PersonsList.Add((Person)person.DeepCopy());
            }
            foreach (Article article in ArticleList)
            {
                other.ArticleList.Add((Article)article.DeepCopy());
            }
            return(other);
        }
示例#4
0
        public TestCollections(int count)
        {
            Editions        = new List <Edition>();
            Text            = new List <string>();
            EdMagDictionary = new Dictionary <Edition, Magazine>();
            StMagDictionary = new Dictionary <string, Magazine>();

            for (int i = 0; i < count; i++)
            {
                Magazine magazine = GetMegazine(i);
                Edition  edition  = magazine.EditionBase;

                Editions.Add(edition);
                Text.Add(edition.ToString());
                EdMagDictionary.Add(edition, magazine);
                StMagDictionary.Add(edition.ToString(), magazine);
            }
        }
示例#5
0
        public static Magazine GetMegazine(int index)
        {
            Magazine magazine = new Magazine(
                new Edition(
                    "editionName " + index,
                    DateTime.Today.AddDays(index),
                    index),
                "magazineName " + index,
                Frequency.Montly,
                DateTime.Today.AddDays(index + 1),
                index,
                new List <Person>
            {
                new Person("personName " + index + 1,
                           "personLast " + index + 1,
                           DateTime.Today.AddDays(index + 2)),
                new Person("personName " + index + 2,
                           "personLast " + index + 2,
                           DateTime.Today.AddDays(index + 3)),
                new Person("personName " + index + 3,
                           "personLast " + index + 3,
                           DateTime.Today.AddDays(index + 4))
            },
                new List <Article>
            {
                new Article(new Person("personName " + index + 1,
                                       "personLast " + index + 1,
                                       DateTime.Today.AddDays(index + 5)),
                            "articleName " + index,
                            index),
                new Article(new Person("personName " + index + 2,
                                       "personLast " + index + 2,
                                       DateTime.Today.AddDays(index + 6)),
                            "articleName " + index + 2,
                            index),
                new Article(new Person("personName " + index + 3,
                                       "personLast " + index + 3,
                                       DateTime.Today.AddDays(index + 7)),
                            "articleName " + index + 3,
                            index)
            });

            return(magazine);
        }
示例#6
0
        public static void Main(string[] args)
        {
            MagazineCollection mag1 = new MagazineCollection();
            MagazineCollection mag2 = new MagazineCollection();

            mag1.CollectionName = "mag1";
            mag2.CollectionName = "mag2";

            Listener lis1 = new Listener();

            mag1.MagazineAdded    += lis1.AddEvent;
            mag1.MagazineReplaced += lis1.AddEvent;

            Listener lis2 = new Listener();

            mag1.MagazineAdded    += lis2.AddEvent;
            mag2.MagazineAdded    += lis2.AddEvent;
            mag1.MagazineReplaced += lis2.AddEvent;
            mag2.MagazineReplaced += lis2.AddEvent;

            mag1.AddMagazines(new Magazine());
            mag2.AddMagazines(new Magazine());
            mag1.AddDefaults();
            mag2.AddDefaults();

            mag1.Magazines.Remove(mag1[2]);
            mag2.Magazines.Remove(mag2[2]);

            mag1.AddDefaults();
            mag2.AddDefaults();

            mag1[2] = new Magazine();
            mag1.Replace(1, new Magazine());
            mag2[2] = new Magazine();
            mag2.Replace(1, new Magazine());

            Console.WriteLine("-------------LISTENER-1-------------");
            Console.WriteLine(lis1);
            Console.WriteLine("-------------LISTENER-2-------------");
            Console.WriteLine(lis2);
        }
示例#7
0
        static void Main(string[] args)
        {
            Magazine magazine = new Magazine("Daily Buglees", Frequency.Monthly, new DateTime(2010, 12, 12), 250000);

            magazine.AddArticles(new Article(new Person("Nick", "Back", new DateTime(1990, 10, 20)),
                                             "Corona-Time", 2.2));
            magazine.AddEditors(new Person("Kek", "lol", new DateTime(1988, 8, 7)));

            MagazineCollection collection1 = new MagazineCollection()
            {
                CollectionName = "collection1"
            };

            MagazineCollection collection2 = new MagazineCollection()
            {
                CollectionName = "collection2"
            };

            Listener listener1 = new Listener();
            Listener listener2 = new Listener();

            collection1.MagazineAdded    += listener1.MagazineListHandler;
            collection1.MagazineReplaced += listener1.MagazineListHandler;

            collection2.MagazineAdded    += listener2.MagazineListHandler;
            collection2.MagazineReplaced += listener2.MagazineListHandler;

            collection1.AddDefaults();
            collection1.AddMagazines(magazine);
            collection2.AddMagazines(magazine);

            collection1.Replace(0, collection2[0]);
            collection2[0] = collection1[1];

            Console.WriteLine("Listener1:\n" + listener1);
            Console.WriteLine("Listener2:\n" + listener2);
        }
示例#8
0
 protected bool Equals(Magazine other)
 {
     return(string.Equals(_magazineName, other._magazineName) && _timing == other._timing &&
            _magazineDate.Equals(other._magazineDate) && _magazineCirculation == other._magazineCirculation &&
            _articleList.SequenceEqual(other._articleList) && _personsList.SequenceEqual(other._personsList));
 }
示例#9
0
 protected bool Equals(Magazine other)
 {
     return(string.Equals(_nameTitle, other._nameTitle) && _Period == other._Period &&
            _DateEdition.Equals(other._DateEdition) && _Edit == other._Edit &&
            _articleList.SequenceEqual(other._articleList) && _personsList.SequenceEqual(other._personsList));
 }