Проектирование базы данных

Курсовая работа, 11 Сентября 2011, автор: пользователь скрыл имя

Описание работы


Практическое задание на тему «Проектирование БД» подразумевает выполнение следующих задач:
определение объектов и их характеристик, которые необходимо хранить в БД (определение исходных данных для проектирования структуры БД);
разработка структуры БД;
разработка уровня доступа к данным;
создание пользовательского интерфейса для работы с БД.

Содержание работы


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

Файлы: 1 файл

Проектирование базы данных.docx

— 625.74 Кб (Скачать файл)

            InitGrid();

        }

 

        private void view_MouseDoubleClick(object sender, MouseButtonEventArgs e)

        {

            int rowHandle = grdInfoMaterials.View.GetRowHandleByMouseEventArgs(e) ;

            if (grdInfoMaterials.IsValidRowHandle(rowHandle))

            {

                ViewMaterial((InfoMaterial) grdInfoMaterials.GetRow(rowHandle));

            }

        }

 

        private void btnAdd_Click(object sender, System.Windows.RoutedEventArgs e)

        {

            var newInfoMaterial = new InfoMaterial {Category = _category};

            var imAddEditWindow = new InfoMaterialAddEditWindow(newInfoMaterial);

            imAddEditWindow.Title = "Добавление информационного материала";

            if (imAddEditWindow.ShowDialog() == true)

            {

                grdInfoMaterials.BeginDataUpdate();

                ((List<InfoMaterial>) grdInfoMaterials.DataSource).Add(newInfoMaterial);

                grdInfoMaterials.EndDataUpdate();

                _dataManager.InfoMaterialRepository.InsertInfoMaterial(newInfoMaterial);

                Save();

            }

        }

 

        private void Save()

        {

            _dataManager.InfoMaterialRepository.SaveChanges();

        }

 

        private void btnEdit_Click(object sender, System.Windows.RoutedEventArgs e)

        {

            if (grdInfoMaterials.View.SelectedRows.Count > 0)

            {

                grdInfoMaterials.BeginDataUpdate();

                var imAddEditWindow = new InfoMaterialAddEditWindow(((InfoMaterial)grdInfoMaterials.GetFocusedRow()));

                imAddEditWindow.Title = "Редактирование информационного материала";

                imAddEditWindow.ShowDialog();

                grdInfoMaterials.EndDataUpdate();

                Save();

            }

        }

 

        private void btnDelete_Click(object sender, System.Windows.RoutedEventArgs e)

        {

            if (grdInfoMaterials.View.SelectedRows.Count > 0)

            {

                if (MessageBox.Show("Вы действительно хотите удалить выбранный материал?", "Сообщение",

                                    MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK)

                {

                    grdInfoMaterials.BeginDataUpdate();

 

                    var infoMaterial = (InfoMaterial) grdInfoMaterials.GetFocusedRow();

                    _dataManager.InfoMaterialRepository.DeleteInfoMaterial(infoMaterial);

                    ((List<InfoMaterial>)(grdInfoMaterials.DataSource)).Remove(infoMaterial);

 

                    grdInfoMaterials.EndDataUpdate();

                    Save();

                }

            }

        }

 

        private void btnView_Click(object sender, System.Windows.RoutedEventArgs e)

        {

            if (grdInfoMaterials.View.SelectedRows.Count > 0)

            {

                ViewMaterial((InfoMaterial)grdInfoMaterials.GetFocusedRow());

            }

        }

 

        private void ViewMaterial(InfoMaterial infoMaterial)

        {

            var imWindow = new InfoMaterialWindow(infoMaterial);

            imWindow.ShowDialog();

            //_dataManager.InfoMaterialRepository.InsertComments(infoMaterial);

            Save();

        }

    }

       }

InfoMaterialWindow.xaml

<Window x:Class="WpfRDB.InfoMaterialWindow"

   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

   xmlns:dx="clr-namespace:DevExpress.Wpf.Utils.Themes;assembly=DevExpress.Wpf.Core.v9.3"

   xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"

   xmlns:Core="clr-namespace:DevExpress.Wpf.Core;assembly=DevExpress.Wpf.Core.v9.3"

   Title="Информационный материал" Height="888" Width="764" Loaded="Window_Loaded" Icon="Images/yinyang.png">

    <Window.Resources>

        <ResourceDictionary>

            <DataTemplate x:Key="DetailCoreTemplate">

                <Core:MeasurePixelSnapper>

                    <Grid>

                        <Grid.RowDefinitions>

                            <RowDefinition Height="4" />

                            <RowDefinition Height="Auto" />

                            <RowDefinition Height="4" />

                        </Grid.RowDefinitions>

                        <Grid.ColumnDefinitions>

                            <ColumnDefinition Width="4" />

                            <ColumnDefinition Width="64"/>

                            <ColumnDefinition Width="12"/>

                            <ColumnDefinition Width="200*"/>

                        </Grid.ColumnDefinitions>

                        <Border Grid.Column="1" Grid.Row="1" BorderBrush="Black" BorderThickness="1">

                            <Image Source="{Binding DataContext.BitmapSource}" Height="64" Width="64" Name="imgInfoMat" Stretch="Fill" HorizontalAlignment="Left" VerticalAlignment="Top"/>

Информация о работе Проектирование базы данных