Автор работы: Пользователь скрыл имя, 11 Сентября 2011 в 23:00, курсовая работа
Практическое задание на тему «Проектирование БД» подразумевает выполнение следующих задач:
определение объектов и их характеристик, которые необходимо хранить в БД (определение исходных данных для проектирования структуры БД);
разработка структуры БД;
разработка уровня доступа к данным;
создание пользовательского интерфейса для работы с БД.
1. Формулировка задания 3
2. Описание БД 4
3. Описание интерфейса программы 7
3.1. Окно «Категории информационных материалов» 7
3.2. Окно «Информационные материалы» 8
3.3. Окно «Информационный материал» 9
3.4. Окно «Редактирование информационного материала» 10
3.5. Окно «Добавление информационного материала» 11
3.6. Окно «Фильтрация информационных материалов» 12
4. Перечень запросов LINQ to Entities, используемых в приложении 14
5. Листинг программы 16
App.xaml 16
CategoriesWindow.xaml 17
CategoriesWindow.xaml.cs 19
InfoMaterialAddEditWindow.xaml 22
InfoMaterialAddEditWindow.xaml.cs 23
InfoMaterialsFilterWindow.xaml 25
InfoMaterialsFilterWindow.xaml.cs 27
InfoMaterialsWindow.xaml 29
InfoMaterialsWindow.xaml.cs 30
InfoMaterialWindow.xaml 32
InfoMaterialWindow.xaml.cs 34
Convertor.cs 35
Filter.cs 36
Category.cs 38
CategoryRepository.cs 38
InfoMaterial.cs 40
InfoMaterialRepository.cs 40
InfoMaterialsDataManager.cs 42
ms.Seek(0, SeekOrigin.Begin);
bitmap.StreamSource = ms;
bitmap.EndInit();
var c = (Category) grdCategories.GetFocusedRow();
c.BitmapSource = bitmap;
grdCategories.RefreshData();
_needForSave = true;
}
}
private void btnSave_Click(object sender, RoutedEventArgs e)
{
Save();
}
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
if
(grdCategories.View.
{
if (MessageBox.Show("Вы действительно хотите удалить выбранную категорию?", "Сообщение",
{
grdCategories.BeginDataUpdate(
var c = (Category) grdCategories.GetFocusedRow();
_dataManager.
((List<Category>) (grdCategories.DataSource)).
_needForSave = true;
grdCategories.EndDataUpdate();
}
}
}
private void
view_MouseDoubleClick(object sender, System.Windows.Input.MouseButt
{
int
rowHandle = grdCategories.View.
if
(grdCategories.
{
if (AskForSave())
Save();
var c = (Category) grdCategories.GetFocusedRow();
if (c.Children != null)
{
_currentParentCategory = c;
_prevDataSource = grdCategories.DataSource;
grdCategories.DataSource = c.Children;
grdCategories.RefreshData();
}
else
{
var
infoMaterialsWindow = new InfoMaterialsWindow(_
infoMaterialsWindow.Show();
}
}
}
private void Save()
{
if (_needForSave)
{
_dataManager.
_needForSave = false;
}
}
private bool AskForSave()
{
if (_needForSave)
{
if
(MessageBox.Show("Сохранить
сделанные изменения?","Сообщение", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogRes
{
return true;
}
}
return false;
}
private void btnPrev_Click(object sender, RoutedEventArgs e)
{
if (_prevDataSource != null)
grdCategories.DataSource = _prevDataSource;
}
private void
view_FocusedRowChanged(object sender, DevExpress.Wpf.Grid.FocusedRow
{
_focusedRowChanged = true;
}
private void
TextBox_EditValueChanged(objec
{
if (!_focusedRowChanged)
_needForSave = true;
}
private void
Window_Closing(object sender, System.ComponentModel.CancelEv
{
if (AskForSave())
Save();
}
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
_focusedRowChanged = false;
}
}
}
<Window
x:Class="WpfRDB.
xmlns="http://schemas.
xmlns:x="http://schemas.
xmlns:dxe="clr-namespace:
xmlns:dx="clr-namespace:
Title="InfoMaterial" Height="692" Width="721" Loaded="Window_Loaded" Icon="Images/yinyang.png">
<Grid dx:ThemeManager.ThemeName="
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4" />
<ColumnDefinition/>
<ColumnDefinition Width="4"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="24" />
<RowDefinition Height="7" />
<RowDefinition Height="128" />
<RowDefinition Height="4" />
<RowDefinition Height="16" />