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


Полезное:

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


Категории:

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






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





Завдання 1. Створення класів сховища даних ПО.

 

Схема ієрархії класів сховища даних ПО «Поділ Світу» представлена на рисунку 1.

 

Рисунок 1 – Діаграма класів сховища даних ПО «Поділ Світу»

 

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

 

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

 

Лістинг 1 – Опис інтерфейсу доступу до даних IWorldRepositoryAccess

 

using System;

using WorldDivision.Domain;

 

namespace WorldDivision.Interfaces {

 

public interface IWorldRepositoryAccess {

 

#region Доступ до вмісту колекцій

Macroregion[] MacroregionsArray { get; }

Country[] CountriesArray { get; }

Organization[] OrganizationsArray { get; }

MembershipStatus[] MembershipStatusesArray { get; }

Membership[] MembershipsArray { get; }

UNDivisionObject[] UNDivisionObjectsArray { get; }

#endregion

 

#region Доступ до елементів колекцій

Macroregion MacroregionByName(string name);

Country CountryByName(string name);

Organization OrganizationByName(string name);

MembershipStatus MembershipStatusByName(string name);

Membership MembershipByNames(

string countryName, string organizationName);

UNDivisionObject UNDivisionObjectByNumeric(

string numericCode);

#endregion

 

}

}

 

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

 

using System.Linq;

using WorldDivision.Domain;

using WorldDivision.Interfaces;

 

namespace WorldDivision.Data {

 

partial class WorldRepository: IWorldRepositoryAccess {

 

 

#region Доступ до вмісту колекцій контексту даних

 

public Macroregion[] MacroregionsArray {

get { return dataContext.Macroregions.ToArray(); }

}

 

public Country[] CountriesArray {

get { return dataContext.Countries

.OrderBy(e => e.Name).ToArray(); }

}

 

public Organization[] OrganizationsArray {

get {

return dataContext.Organizations

.OrderBy(e => e.Name).ToArray();

}

}

 

public MembershipStatus[] MembershipStatusesArray {

get {

return dataContext.MembershipStatuses

.OrderBy(e => e.Name).ToArray();

}

}

 

public Membership[] MembershipsArray {

get {

//Membership[] membershipsArray =

// dataContext.Memberships.ToArray();

//Array.Sort(membershipsArray);

//return membershipsArray;

return dataContext.Memberships

.OrderBy(e => e).ToArray();

}

}

 

public UNDivisionObject[]

UNDivisionObjectsArray {

get {

return dataContext.UNDivisionObjects

.OrderBy(e => e.NumericCode).ToArray();

}

}

 

#endregion

 

 

#region Доступ до елементів колекцій контексту даних

 

public Macroregion MacroregionByName(

string name) {

return dataContext.Macroregions

.FirstOrDefault(e => e.Name == name);

}

 

public Country CountryByName(string name) {

return dataContext.Countries

.FirstOrDefault(e => e.Name == name);

}

 

public Organization OrganizationByName(

string name) {

return dataContext.Organizations

.FirstOrDefault(e => e.Name == name);

}

 

public MembershipStatus MembershipStatusByName(

string name) {

return dataContext.MembershipStatuses

.FirstOrDefault(e => e.Name == name);

}

 

public Membership MembershipByNames(

string countryName, string organizationName) {

return dataContext.Memberships

.Where(e => e.Country.Name == countryName

&& e.Organization.Name ==

organizationName)

.FirstOrDefault();

}

 

public UNDivisionObject

UNDivisionObjectByNumeric(string numericCode) {

return dataContext.UNDivisionObjects

.FirstOrDefault(e => e.NumericCode == numericCode);

}

 

#endregion

 

}

}

 

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



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