Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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: 386; Нарушение авторских прав |