Автор работы: Пользователь скрыл имя, 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
{
/// <summary>
/// Логика для InfoMaterialsFilterWindow.xaml
/// </summary>
public partial class InfoMaterialsFilterWindow
{
private InfoMaterialsDataManager _dataManager;
private CheckEdit _curRatingOrViewCount;
private CheckEdit _curTopOrLow;
public InfoMaterialsFilterWindow()
{
InitializeComponent();
_curRatingOrViewCount = chkRating;
_curTopOrLow = chkTop;
}
public
InfoMaterialsFilterWindow(Info
{
_dataManager = dataManager;
}
private void
view_MouseDoubleClick(object sender, System.Windows.Input.MouseButt
{
int
rowHandle = grdInfoMaterials.View.
if
(grdInfoMaterials.
{
var
infoMaterial = (InfoMaterial) grdInfoMaterials.GetRow(
infoMaterial = _dataManager.
((List<InfoMaterial>) grdInfoMaterials.DataSource)[
infoMaterial;
ViewMaterial(infoMaterial);
}
}
private void btnFilter_Click(object sender, System.Windows.RoutedEventArgs e)
{
var filter = new Filter();
filter.Name = txtName.Text;
filter.ByRating = chkRating.IsChecked != null ? (bool) chkRating.IsChecked : false;
filter.ByViewCount = chkViewCount.IsChecked != null ? (bool) chkViewCount.IsChecked : false;
filter.NumberOfRows = (int) speNumberOfRows.Value;
filter.DateFrom = dteDateFrom.EditValue != null ? dteDateFrom.DateTime : new DateTime(1900,01,01);
filter.DateTo = dteDateTo.EditValue != null ? dteDateTo.DateTime : DateTime.Now;
filter.SortDirection = chkTop.IsChecked == true ? SortDirectionType.Top : SortDirectionType.Low;
grdInfoMaterials.
grdInfoMaterials.DataSource = _dataManager.
grdInfoMaterials.
}
private void
RatingAndViewCount_Checked(obj
{
_curRatingOrViewCount = (CheckEdit) sender;
if (sender.Equals(chkRating))
chkViewCount.IsChecked = false;
else
chkRating.IsChecked = false;
}
private void TopAndLow_Checked(object sender, System.Windows.RoutedEventArgs e)
{
_curTopOrLow = (CheckEdit) sender;
if (sender.Equals(chkTop))
chkLow.IsChecked = false;
else
chkTop.IsChecked = false;
}
private void
RatingAndViewCount_Unchecked(o
{
var chk = (CheckEdit)sender;
if
(chk.Equals(_
chk.IsChecked = true;
}
private void TopAndLow_Unchecked(object sender, System.Windows.RoutedEventArgs e)
{
var chk = (CheckEdit)sender;
if (chk.Equals(_curTopOrLow))
chk.IsChecked = true;
}
private void ViewMaterial(InfoMaterial infoMaterial)
{
var
imWindow = new InfoMaterialWindow(
imWindow.ShowDialog();
Save();
}
private void Save()
{
_dataManager.
}
}
}
<Window
x:Class="WpfRDB.
xmlns="http://schemas.
xmlns:x="http://schemas.
xmlns:dx="clr-namespace:
Icon="Images/yinyang.png">
<Grid dx:ThemeManager.ThemeName="
<Grid.RowDefinitions>
<RowDefinition Height="24" />
<RowDefinition Height="2" />
<RowDefinition Height="369*" />
</Grid.RowDefinitions>
<Image Width="16" HorizontalAlignment="Left" Margin="4,4,0,4" Name="image1" Stretch="Fill">
<Image.Source>pack://
</Image>
<TextBlock HorizontalAlignment="Left" Margin="26,4,0,4" Name="tbHeader" Text="Информационные материалы" Width="160" />
<dxg:GridControl Grid.Row="2" Name="grdInfoMaterials" xmlns:dxg="http://schemas.