Ejemplo n.º 1
0
        //визначити перезавантажену версію виртуального методу object DeepCopy().
        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);
        }
Ejemplo n.º 2
0
        /*public MagazineCollection() : this(new List<Magazine>())
         * {
         * }
         *
         * public MagazineCollection(List<Magazine> _magazines)
         * {
         *  Magazines = _magazines;
         * }*/

        //метод void AddDefaults(), за допомогою якого в список List<Magazine> можна додати
        //деяке число елементів типу Magazine для ініціалізації колекції за замовчуванням
        public void AddDefaults()
        {
            Magazines = new List <Magazine>();
            Magazine fullMagazine = new Magazine(new Edition("name33", DateTime.Now, 123), "name1", Frequency.Montly, DateTime.Now, 10,
                                                 new List <Person>
            {
                new Person(), new Person()
            },
                                                 new List <Article>
            {
                new Article(new Person(), "1", 50), new Article(new Person(), "2", 80)
            });

            Magazines.Add(fullMagazine);
            Magazines.Add(new Magazine());
            Magazines.Add(fullMagazine);
        }
Ejemplo n.º 3
0
        //конструктор з параметром типу int (число елементів в колекціях) для автоматичного створення колекцій з заданим числом елементів
        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.Edition;

                Editions.Add(edition);
                Text.Add(edition.ToString());
                EdMagDictionary.Add(edition, magazine);
                StMagDictionary.Add(edition.ToString(), magazine);
            }
        }
Ejemplo n.º 4
0
        //статичний метод з цілочисельним параметром типу int, який повертає посилання на об'єкт типу Magazine та використовується для автоматичної
        //генерації елементів колекції
        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);
        }
Ejemplo n.º 5
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));
 }