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


Полезное:

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


Категории:

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






Результати виконання практичних завдань. Завдання 1. Створення і реалізація інтерфейсу редагування даних ПО





Завдання 1. Створення і реалізація інтерфейсу редагування даних ПО.

 

Опис інтерфейсу редагування даних IWorldRepositoryAccess наведений у лістингу 1, реалізація – у лістингу 2.

 

Лістинг 1 – Опис інтерфейсу редагування даних IWorldRepositoryEditing

 

using System;

using WorldDivision.Domain;

 

namespace WorldDivision.Interfaces {

 

public interface IWorldRepositoryEditing {

 

void AddMacroregion(Macroregion macroregion);

void AddCountry(Country country);

void AddOrganization(Organization organization);

void AddMembershipStatus(MembershipStatus membershipStatus);

void AddMembership(Membership membership);

 

void RemoveMacroregion(Macroregion macroregion);

void RemoveCountry(Country country);

void RemoveOrganization(Organization organization);

void RemoveMembershipStatus(MembershipStatus membershipStatus);

void RemoveMembership(Membership membership);

}

}

 

Лістинг 2 – Реалізація інтерфейсу редагування даних IWorldRepositoryEditing

 

using System;

using WorldDivision.Domain;

using WorldDivision.Interfaces;

 

namespace WorldDivision.Data {

 

 

partial class WorldRepository

: IWorldRepositoryEditing {

 

public void AddMacroregion(Macroregion macroregion) {

if(!CheckMacroregionForAdding(macroregion)) return;

// перевірка на наявність макрорегіону

if (macroregion.Parent!= null &&

!dataContext.Macroregions.Contains(macroregion.Parent)) {

this.AddMacroregion(macroregion.Parent);

}

dataContext.Macroregions.Add(macroregion);

dataContext.AddEntity(macroregion);

AddUNDivisionObject(macroregion);

}

 

public void AddCountry(Country country) {

if(!CheckCountryForAdding(country)) return;

// перевірка на наявність регіону

if (!dataContext.Macroregions.Contains(country.Macroregion)) {

this.AddMacroregion(country.Macroregion);

}

dataContext.Countries.Add(country);

dataContext.AddEntity(country);

AddUNDivisionObject(country);

}

 

 

public void AddOrganization(Organization organization) {

if(!CheckOrganizationForAdding(organization)) return;

dataContext.Organizations.Add(organization);

dataContext.AddEntity(organization);

AddUNDivisionObject(organization);

}

 

 

public void AddMembershipStatus(

MembershipStatus membershipStatus) {

if(!CheckMembershipStatusForAdding(membershipStatus))

return;

dataContext.MembershipStatuses.Add(membershipStatus);

dataContext.AddEntity(membershipStatus);

}

 

 

public void AddMembership(

Membership membership) {

if(!CheckMembershipForAdding(membership))

return;

// перевірка на наявність організації

if (!dataContext.Organizations.Contains(

membership.Organization)) {

this.AddOrganization(membership

.Organization);

}

// перевірка на наявність країни

if (!dataContext.Countries.Contains(

membership.Country)) {

this.AddCountry(membership.Country);

}

// перевірка на наявність статусу члена МО

if (!dataContext.MembershipStatuses.Contains(

membership.MembershipStatus)) {

this.AddMembershipStatus(membership

.MembershipStatus);

}

dataContext.Memberships.Add(membership);

dataContext.AddEntity(membership);

}

 

 

private void AddUNDivisionObject(

UNDivisionObject divisionObject) {

if(!CheckUNDivisionObjectForAdding(divisionObject))

return;

if (!String.IsNullOrWhiteSpace(divisionObject

.NumericCode)) {

dataContext.UNDivisionObjects.Add(

divisionObject);

}

}

 

public void RemoveMacroregion(Macroregion macroregion) {

if (!CheckMacroregionForRemoving(macroregion)) return;

if (dataContext.Macroregions.Contains(macroregion)) {

dataContext.Macroregions.Remove(macroregion);

dataContext.RemoveEntity(macroregion);

RemoveUNDivisionObject(macroregion);

}

}

 

public void RemoveCountry(Country country) {

if (!CheckCountryForRemoving(country)) return;

if (dataContext.Countries.Contains(country)) {

dataContext.Countries.Remove(country);

dataContext.RemoveEntity(country);

RemoveUNDivisionObject(country);

}

}

 

public void RemoveOrganization(

Organization organization) {

if (!CheckOrganizationForRemoving(organization))

return;

// перевірка на наявність і видалення, якщо знайдено

if (dataContext.Organizations.Contains(organization)) {

dataContext.Organizations.Remove(organization);

dataContext.RemoveEntity(organization);

RemoveUNDivisionObject(organization);

}

}

 

public void RemoveMembershipStatus(

MembershipStatus membershipStatus) {

if (!CheckMembershipStatusForRemoving(

membershipStatus)) return;

// перевірка на наявність і видалення, якщо знайдено

if (dataContext.MembershipStatuses.Contains(

membershipStatus)) {

dataContext.MembershipStatuses.Remove(

membershipStatus);

dataContext.RemoveEntity(membershipStatus);

}

}

 

public void RemoveMembership(

Membership membership) {

if (!CheckMembershipForRemoving(membership))

return;

// перевірка на наявність і видалення, якщо знайдено

if (dataContext.Memberships

.Contains(membership)) {

dataContext.Memberships

.Remove(membership);

dataContext.RemoveEntity(membership);

}

}

 

private void RemoveUNDivisionObject(

UNDivisionObject divisionObject) {

if (!CheckUNDivisionObjectForRemoving(

divisionObject))

return;

// перевірка на наявність і видалення, якщо знайдено

if (dataContext.UNDivisionObjects

.Contains(divisionObject)) {

dataContext.UNDivisionObjects

.Remove(divisionObject);

}

}

}

}

 

Завдання 2. Створення методів заповнення колекцій сховища тестовими даними.

 

 

using System;

using WorldDivision.Domain;

 

namespace WorldDivision.Data {

 

partial class WorldRepository {

 

public void LoadTestData() {

CreateTestData();

}

 

protected void CreateTestData() {

CreateMacroregions();

CreateCountries();

CreateOrganizations();

CreateMembershipStatuses();

CreateMemberships();

AddMacroregionsToOrganizations();

}

 

private void CreateMacroregions() {

AddMacroregion(new Macroregion(

"Світ", "001", null));

AddMacroregion(new Macroregion(

"Європа", "150", MacroregionByName("Світ")));

AddMacroregion(new Macroregion(

"Східна Європа", "151", MacroregionByName("Європа")));

AddMacroregion(new Macroregion(

"Західна Європа", "155", MacroregionByName("Європа")));

AddMacroregion(new Macroregion(

"Азія", "142", MacroregionByName("Світ")));

AddMacroregion(new Macroregion(

"Західна Азія", "145", MacroregionByName("Азія")));

AddMacroregion(new Macroregion(

"Центральна Азія", "143", MacroregionByName("Азія")));

}

 

private void CreateCountries() {

AddCountry(new Country("Україна", "804", "ua",

MacroregionByName("Східна Європа")) {

Area = 603628

});

AddCountry(new Country("Білорусь", "112", "by",

MacroregionByName("Східна Європа")) {

Area = 207600

});

AddCountry(new Country("Молдова", "498", "md",

MacroregionByName("Східна Європа")) {

Area = 33843

});

AddCountry(new Country("Польща", "616", "pl",

MacroregionByName("Східна Європа")) {

Area = 312685

});

AddCountry(new Country("Росія", "643", "ru",

MacroregionByName("Східна Європа")) {

Area = 17125407

});

AddCountry(new Country("Німеччина", "276", "de",

MacroregionByName("Західна Європа")) {

Area = 357021

});

AddCountry(new Country("Франція", "250", "fr",

MacroregionByName("Західна Європа")) {

Area = 547030

});

AddCountry(new Country("Грузія", "268", "ge",

MacroregionByName("Західна Азія")));

//AddCountry(new Country("", "", "",

// GetMacroregion("")));

}

 

private void CreateOrganizations() {

AddOrganization(new Organization(

"Європейський Союз", "097",

new DateTime(1957, 3, 25)));

AddOrganization(new Organization(

"Співдружність Незалежних Держав", "172",

new DateTime(1991, 12, 8)));

AddOrganization(new Organization(

"Організація економічного "

+ "співробітництва та розвитку", "198",

new DateTime(1960, 12, 14)));

AddOrganization(new Organization(

"Організація Чорноморського "

+ "економічного співробітництва", "",

new DateTime(1992, 6, 26)));

}

 

private void CreateMembershipStatuses() {

AddMembershipStatus(new MembershipStatus(

"Повноправний член") {

Description = "Під членством у міжнародній "

+ "організації необхідно розуміти відносини, "

+ "коли суб’єкт приймає на себе права і "

+ "обов’язки за статутом у повному обсязі.",

URL = "http://www.pravoznavec.com.ua/period/"

+ "article/5804/%D2"

});

AddMembershipStatus(new MembershipStatus(

"Асоційований член", 1.0) {

Description = "Статус асоційованого члена "

+ "дозволяє державі брати участь у роботі "

+ "міжнародної організації, але не дає права "

+ "голосувати й бути представленою у виконавчих "

+ "органах. Статус асоційованого члена історично "

+ "надавався залежним країнам і територіям, а "

+ "незалежним державам дуже рідко.",

URL = "http://www.pravoznavec.com.ua/period/"

+ "article/5804/%D2"

});

AddMembershipStatus(new MembershipStatus(

"Спостерігач", 2.0) {

Description = "Статус спостерігача надає право "

+ "державі — нечлену організації, а також державі "

+ "— члену організації, яка з певної причини не "

+ "ввійшла до складу керівного органу, брати "

+ "участь у його роботі, але без права голосу й "

+ "обрання.",

URL = "http://www.pravoznavec.com.ua/period/"

+ "article/5804/%D2"

});

AddMembershipStatus(new MembershipStatus(

"Консультант", 3.0) {

Description = "Консультативний статус дає право "

+ "брати участь у роботі міжнародної організації "

+ "з правом дорадчого голосу. У таких держав не "

+ "виникає обов’язку сплачувати членські внески.",

URL = "http://www.pravoznavec.com.ua/period/"

+ "article/5804/%D2"

});

AddMembershipStatus(new MembershipStatus(

"Членство призупинено", 4.0) {

Description = "Призупинення членства можливо "

+ "двома способами: добровільно і примусово. "

+ "Призупинення членства може бути повним або "

+ "частковим (неповним). При повному "

+ "призупинення держава позбавляється права "

+ "брати участь у роботі головних чи допоміжних "

+ "органів, одержувати офіційні та інші "

+ "документи організації і т. д.",

URL = "http://o-pravovedenii.ru/index.php?option"

+ "=com_content&view=article&id=262:chlenstvo-v-"

+ "mizhnarodnix-organizaciyax&catid=35&Itemid=7"

});

AddMembershipStatus(new MembershipStatus(

"Членство припинено", 5.0) {

Description = "У питанні про припинення членства "

+ "в організації розрізняються два види "

+ "припинення - вихід за власним бажанням члена "

+ "організації і його виключення.",

URL = "http://readbookz.com/book/185/6559.html"

});

}

 

 

private void CreateMemberships() {

AddMembership(new Membership(

OrganizationByName("Європейський Союз"),

CountryByName("Німеччина"),

MembershipStatusByName("Повноправний член"),

true, new DateTime(1957, 3, 25)));

AddMembership(new Membership(

OrganizationByName("Європейський Союз"),

CountryByName("Франція"),

MembershipStatusByName("Повноправний член"),

true, new DateTime(1957, 3, 25)));

AddMembership(new Membership(

OrganizationByName("Європейський Союз"),

CountryByName("Польща"),

MembershipStatusByName("Повноправний член"),

false, new DateTime(2004, 5, 1)));

AddMembership(new Membership(

OrganizationByName("Співдружність Незалежних Держав"),

CountryByName("Україна"),

MembershipStatusByName("Спостерігач"),

true, new DateTime(1991, 12, 8)));

AddMembership(new Membership(

OrganizationByName("Співдружність Незалежних Держав"),

CountryByName("Білорусь"),

MembershipStatusByName("Повноправний член"),

true, new DateTime(1991, 12, 8)));

AddMembership(new Membership(

OrganizationByName("Співдружність Незалежних Держав"),

CountryByName("Грузія"),

MembershipStatusByName("Членство припинено"),

true, new DateTime(1993, 10, 23)) {

SecessionDate = new DateTime(2009, 8, 18)

});

AddMembership(new Membership(

OrganizationByName("Співдружність Незалежних Держав"),

CountryByName("Молдова"),

MembershipStatusByName("Повноправний член"),

true, new DateTime(1991, 12, 21)));

AddMembership(new Membership(

OrganizationByName("Співдружність Незалежних Держав"),

CountryByName("Росія"),

MembershipStatusByName("Повноправний член"),

true, new DateTime(1991, 12, 11)));

AddMembership(new Membership(

OrganizationByName("Організація економічного "

+ "співробітництва та розвитку"),

CountryByName("Німеччина"),

MembershipStatusByName("Повноправний член"),

true, new DateTime(1961, 9, 27)));

AddMembership(new Membership(

OrganizationByName("Організація економічного "

+ "співробітництва та розвитку"),

CountryByName("Франція"),

MembershipStatusByName("Повноправний член"),

true, new DateTime(1961, 8, 7)));

AddMembership(new Membership(

OrganizationByName("Організація економічного "

+ "співробітництва та розвитку"),

CountryByName("Польща"),

MembershipStatusByName("Повноправний член"),

true, new DateTime(1996, 11, 22)));

}

 

private void AddMacroregionsToOrganizations() {

OrganizationByName("Європейський Союз")

.AddMacroregion(MacroregionByName("Європа"));

OrganizationByName("Співдружність Незалежних Держав")

.AddMacroregions(new Macroregion[] {

MacroregionByName("Східна Європа"),

MacroregionByName("Західна Азія"),

MacroregionByName("Центральна Азія")

});

OrganizationByName("Організація економічного "

+ "співробітництва та розвитку")

.AddMacroregion(MacroregionByName("Світ"));

OrganizationByName("Організація Чорноморського "

+ "економічного співробітництва")

.AddMacroregion(MacroregionByName("Світ"));

}

 

}

}

 

 

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



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