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

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

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

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

                </Grid>

            </Grid>

        </GroupBox>

       

        <Button Height="22" Width="22" HorizontalAlignment="Right" Margin="0,5,42,0" Name="btnPrev" VerticalAlignment="Top" Click="btnPrev_Click">

            <Image ToolTip="Назад">

                <Image.Source>pack://application:,,,/Images/nav_left_blue.png</Image.Source>

            </Image>

        </Button>

        <Button Width="22" Height="22" HorizontalAlignment="Right" Margin="0,5,130,0" Name="btnNew" Click="btnNew_Click" VerticalAlignment="Top">

            <Image ToolTip="Добавить категорию">

                <Image.Source>pack://application:,,,/Images/window_add.png</Image.Source>

            </Image>

        </Button>

        <Button Width="22" Height="22" HorizontalAlignment="Right" Margin="0,5,161,0" Name="btnDelete" Click="btnDelete_Click" VerticalAlignment="Top">

            <Image ToolTip="Удалить категорию">

                <Image.Source>pack://application:,,,/Images/window_delete.png</Image.Source>

            </Image>

        </Button>

        <Button Width="22" Height="22" HorizontalAlignment="Right" Name="btnSave" Click="btnSave_Click" Margin="0,5,85,0" VerticalAlignment="Top">

            <Image ToolTip="Сохранить">

                <Image.Source>pack://application:,,,/Images/disk_blue.png</Image.Source>

            </Image>

        </Button>

        <TextBlock Height="18" Margin="10,9,383,0" VerticalAlignment="Top" Text="Переход в подкатегорию осуществляется двойным щелчком по категории" Foreground="RoyalBlue" />

    </Grid>   

       </Window>

CategoriesWindow.xaml.cs

using System.Collections.Generic;

using System.IO;

using System.Windows;

using System.Windows.Forms;

using System.Windows.Media.Imaging;

using ASDC.Model.InfoMaterials;

using MessageBox=System.Windows.Forms.MessageBox;

 

namespace WpfRDB

{

    /// <summary>

    /// Interaction logic for Window1.xaml

    /// </summary>

    public partial class CategoriesWindow

    {

        private InfoMaterialsDataManager _dataManager;

        private object _prevDataSource;

        private Category _currentParentCategory;

        private bool _needForSave;

        private bool _focusedRowChanged;

 

        public CategoriesWindow()

        {

            InitializeComponent();

            _dataManager = new InfoMaterialsDataManager();

        }

 

        private void InitCategoriesGrid()

        {

            grdCategories.DataSource = _dataManager.CategoryRepository.GetCategories();

            grdCategories.RefreshData();

        }

 

        private void Window_Loaded(object sender, RoutedEventArgs e)

        {

            InitCategoriesGrid();

        }

 

        private void btnNew_Click(object sender, RoutedEventArgs e)

        {

            grdCategories.BeginDataUpdate();

 

            var c = new Category{ParentCategory = _currentParentCategory != null ? _currentParentCategory.ID_Category : 0,

                                 Parent = _currentParentCategory};

            ((List<Category>)grdCategories.DataSource).Add(c);

            _dataManager.CategoryRepository.InsertCategory(c);

            _needForSave = true;

 

            grdCategories.EndDataUpdate();

            grdCategories.View.MoveLastRow();

        }

 

        private void btnLoadImage_Click(object sender, RoutedEventArgs e)

        {

            var dlg = new OpenFileDialog();

            dlg.Filter = "Image files: *.jpg, *.png, *.bmp | *.jpg; *.png; *.bmp";

 

            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)

            {

                System.Drawing.Image img = System.Drawing.Image.FromFile(dlg.FileName);

                BitmapImage bitmap = new BitmapImage();

 

                bitmap.BeginInit();

                MemoryStream ms = new MemoryStream();

                img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);

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