Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Завдання 2. Створення класу контексту даних





 

Класу WorldDataContext забезпечує можливість об’єднання колекцій об’єктів сутностей предметної області у один об’єкт, дані якого можна легко зберегти на диску або в пам’яті, використовуючи механізм серіалізації.

Діаграма класів контексту даних зображена на рисунку 1.

Віртуальний захищений метод ClearCollections() викликається методом Clear() базового класу EntitiesDataContext з метою очистки колекцій похідних класів.

Віртуальний захищений метод CreateDataString() викликається реалізаціями методів ToShortDataString() та ToDataString() базового класу з метою формування текстового представлення даних усіх колекцій контексту даних.

Реалізація класу WorldDataContext наведена у лістингу 4.

 

 

Рисунок 1 – Ієрархія класів контексту даних

 

Лістинг 4 – Реалізація класу WorldDataContext

 

using Common.Context;

using System;

using System.Collections.Generic;

using System.Text;

using WorldDivision.Domain;

using Entities;

using Entities.Data;

 

namespace WorldDivision.Data {

 

[Serializable]

public class WorldDataContext: EntitiesDataContext {

 

private readonly List<Macroregion>

regions = new List<Macroregion>();

 

public List<Macroregion> Macroregions {

get { return regions; }

}

 

 

private readonly List<Country>

countries = new List<Country>();

 

public List<Country> Countries {

get { return countries; }

}

 

 

private readonly List<Organization>

organizations = new List<Organization>();

 

public List<Organization> Organizations {

get { return organizations; }

}

 

 

private readonly List<MembershipStatus>

membershipStatuses = new List<MembershipStatus>();

 

public List<MembershipStatus> MembershipStatuses {

get { return membershipStatuses; }

}

 

 

private readonly List<Membership>

memberships =

new List<Membership>();

 

public List<Membership> Memberships {

get { return memberships; }

}

 

private readonly List<UNDivisionObject>

uNDivisionObjects =

new List<UNDivisionObject>();

 

public List<UNDivisionObject> UNDivisionObjects {

get { return uNDivisionObjects; }

}

 

protected override void ClearCollections() {

memberships.Clear();

membershipStatuses.Clear();

countries.Clear();

organizations.Clear();

regions.Clear();

uNDivisionObjects.Clear();

}

 

 

protected override string CreateDataString(

Func<IEnumerable<Entity>, string, string> toDataString) {

StringBuilder sb = new StringBuilder();

sb.AppendFormat("{0}Об'єкти поділу Світу:",

LineIndent.Current.Value);

LineIndent.Current.Increase();

sb.AppendFormat(toDataString(Macroregions,

"Макромакрогеографічні та макрогеографічні регіони"));

sb.AppendFormat(toDataString(Countries,

"Країни та території"));

sb.AppendFormat(toDataString(Organizations,

"Міжнародні організації"));

sb.AppendFormat(toDataString(MembershipStatuses,

"Статуси членів міжнародних організацій"));

sb.AppendFormat(toDataString(Memberships,

"Члени міжнародних організацій"));

LineIndent.Current.Decrease();

return sb.ToString();

}

 

 

}

}

 

Завдання 3. Створення тренувального об’єкту контексту даних та відображення його вмісту у текстовому представленні.

 

Реалізація методу дослідження результату формування текстового представлення контексту даних наведена у лістингу 5, а результат його виклику – на рисунку 2.

 

Лістинг 5 – Реалізація методу дослідження результату формування текстового представлення контексту даних

 

static void StudyWorldDataContext() {

Console.WriteLine("\n--- StudyWorldDataContext ---\n");

 

WorldDataContext dataContext = new WorldDataContext();

 

dataContext.Regions.AddRange(regionsArray);

 

dataContext.Countries.UnionWith(countriesArray);

 

dataContext.Organizations.UnionWith(organizationsArray);

 

AddRegionsToOrganizations();

 

Console.WriteLine("\ndataContext.ToShortDataString():");

Console.WriteLine(dataContext.ToShortDataString());

Console.WriteLine("\ndataContext.ToDataString():");

Console.WriteLine(dataContext.ToDataString());

 

}

 

 

Рисунок 2 – Фрагмент результату виклику методу StudyWorldDataContext()

Date: 2015-09-02; view: 414; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.008 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию