Справочная система "Белорусьфильм" на C#

Задание:

Программное средство разрабатывается с целью ознакомления с материалами киностудии, а также получение справочной информации по услугам и вакансиям.

Опыт показывает, что отсутствие должного помощника при работе с медиа файлами и справочной информации отнимает много времени у квалифицированного специалиста.

В проекте имеется разделенным доступ к функциональность проекта на администратора и пользователя.

Исходя из этого, можно выделить следующие задачи, которые необходимо автоматизировать:

  • Организовать медиа данные должным образом.
  • Предоставление базы преподавателей.
  • Процесс добавления данных.
  • Редактирование данных.
  • Формировать отчеты.

В настоящее время данные задачи решаются в ручную или в приложении «С1».

На сегодняшний день существуют аналоги данного приложения, но все они очень ресурсоемкие и не подходят для данной организации, в связи с этим существует необходимость в разработке индивидуального приложения которое может справиться с поставленными задачами.

Содержимое проекта:

Содержимое папки Data (bin/Debug/Data):

  • DB - папка с исходным SQL кодом, для создания базы данных и её заполнения
  • Help - папка с файлом справки о проекте, а также проектом Help and Manual для изменения файла справки
  • Ico - папка со всеми иконками проекта
  • Img - папка для хранения изображений проекта
  • MySQLcon.cfg - файл хранящий строку подключениия к СУБД (системе управления базами данных)

Данный проект содержит в себе пояснительную записку состоящую из следующих пунктов:

Диаграммы хранятся в файле mdl, который открывается программой RationalRose.

Данных проект написан таким образом, что неважно в каком месте расположенна сама база данных, для этого достаточно указать путь к базе и проект будет работать.

Для проекта специально разработано два не стандартных класса. Класс ConnectorSQL и класс Exports.

Класс ConnectorAccess:

Обеспечивает всю функциональном с базой данных, а именно:

  • Коннект к базе данных.
  • Закрытие коннекта.
  • Загрузку данных в таблицу DataGridView.
  • Запросы к базе.
  • Агрегатные запросы к базе.
  • Загрузку столбца в выпадающий список comboBox.

Класс Exports обеспечивает печать данных из представления dataGridView.

Пример кода:

//Происходит при смене вкладки 100%
        private void tabControlBelFim_Selecting(object sender, TabControlCancelEventArgs e)
        {
            if (tabControlBelFim.SelectedTab == tabPageUsers)
            {
                conMySQL.LoadTable("USERS", "SELECT * FROM `USERS`", conMySQL.binSourceUsers, dgvMain, bNavigatorBelFilm);

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "Имя пользователя";
                    dgvMain.Columns[2].HeaderText = "Пароль пользователя";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPageAboutCinemaStudio)
            {
                conMySQL.LoadTable("ABOUT_CINEMA_STUDIO", "SELECT * FROM `ABOUT_CINEMA_STUDIO`", conMySQL.binSourceAboutCinemaStudio, dgvMain, bNavigatorBelFilm);

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "О студии:";
                    dgvMain.Columns[2].HeaderText = "Адрес:";
                    dgvMain.Columns[3].HeaderText = "Телефон:";
                    dgvMain.Columns[4].HeaderText = "Email:";
                    dgvMain.Columns[5].HeaderText = "Сайт:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPageDepartments)
            {
                conMySQL.LoadTable("DEPARTMENTS", "SELECT * FROM `DEPARTMENTS`", conMySQL.binSourceDepartments, dgvMain, bNavigatorBelFilm);

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "Название:";
                    dgvMain.Columns[2].HeaderText = "Описание:";
                    dgvMain.Columns[3].HeaderText = "Главный:";
                    dgvMain.Columns[4].HeaderText = "Email:";
                    dgvMain.Columns[5].HeaderText = "Телефон:";
                    dgvMain.Columns[5].HeaderText = "Дополнительная информация:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPageCinemaProjects)
            {
                conMySQL.LoadTable("CINEMA_PROJECTS", "SELECT * FROM `CINEMA_PROJECTS`", conMySQL.binSourceCinemaProjects, dgvMain, bNavigatorBelFilm);

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "Название:";
                    dgvMain.Columns[2].HeaderText = "Описание:";
                    dgvMain.Columns[3].HeaderText = "Параметры:";
                    dgvMain.Columns[4].HeaderText = "Производство:";
                    dgvMain.Columns[5].HeaderText = "Автор сценария:";
                    dgvMain.Columns[6].HeaderText = "Режиссер-постановщик:";
                    dgvMain.Columns[7].HeaderText = "Оператор-постановщик:";
                    dgvMain.Columns[8].HeaderText = "Художник-постановщик:";
                    dgvMain.Columns[9].HeaderText = "Актеры:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPageHistory)
            {
                conMySQL.LoadTable("HISTORY", "SELECT * FROM `HISTORY`", conMySQL.binSourceHistory, dgvMain, bNavigatorBelFilm);

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "Название:";
                    dgvMain.Columns[2].HeaderText = "Описание:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPagePrizesAndAwards)
            {
                conMySQL.LoadTable("PRIZES_AND_AWARDS", "SELECT * FROM `PRIZES_AND_AWARDS`", conMySQL.binSourcePrizesAndAwards, dgvMain, bNavigatorBelFilm);

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "Год:";
                    dgvMain.Columns[2].HeaderText = "Название:";
                    dgvMain.Columns[3].HeaderText = "Описание:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPageContacts)
            {
                conMySQL.LoadTable("CONTACTS", "SELECT * FROM `CONTACTS`", conMySQL.binSourceContacts, dgvMain, bNavigatorBelFilm);

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "Адрес:";
                    dgvMain.Columns[2].HeaderText = "Email:";
                    dgvMain.Columns[3].HeaderText = "Телефон:";
                    dgvMain.Columns[4].HeaderText = "ФИО:";
                    dgvMain.Columns[5].HeaderText = "Позиция:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPagePartners)
            {
                conMySQL.LoadTable("PARTNERS", "SELECT * FROM `PARTNERS`", conMySQL.binSourcePartners, dgvMain, bNavigatorBelFilm);

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "Название:";
                    dgvMain.Columns[2].HeaderText = "Описание:";
                    dgvMain.Columns[3].HeaderText = "Адрес:";
                    dgvMain.Columns[4].HeaderText = "Email:";
                    dgvMain.Columns[5].HeaderText = "Телефон:";
                    dgvMain.Columns[6].HeaderText = "Сайт:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPageCinemaStudio)
            {
                conMySQL.LoadTable("CINEMA_STUDIO", "SELECT CS.iIdCinemaStudio, ACS.vAboutStudio, DEP.vName, CP.vName, H.vName, PaA.vName, CON.vAdress, PAR.vName"
                    + " FROM `CINEMA_STUDIO` AS CS, `ABOUT_CINEMA_STUDIO` AS ACS, `DEPARTMENTS` AS DEP,"
                    + "`CINEMA_PROJECTS` AS CP, `HISTORY` AS H, `PRIZES_AND_AWARDS` AS PaA, `CONTACTS` AS CON, `PARTNERS` AS PAR "
                    + "WHERE CS.fk_iIdAboutCinemaStudio = ACS.iIdAboutCinemaStudio AND CS.fk_iIdDepartments = DEP.iIdDepartments AND "
                    + "CS.fk_iIdCinemaProjects = CP.iIdCinemaProjects AND CS.fk_iIdHistory = H.iIdHistory AND CS.fk_iIdPrizesAndAwards = PaA.iIdPrizesAndAwards AND "
                    + "CS.fk_iIdContacts = CON.iIdContacts AND CS.fk_iIdPartners = PAR.iIdPartners", 
                    conMySQL.binSourceCinemaStudio, dgvMain, bNavigatorBelFilm);
                //Прогрузка данных в комбо бокс
                conMySQL.QueryToComboBox("SELECT vAboutStudio FROM ABOUT_CINEMA_STUDIO", cbFkAboutCinemaStudio, "vAboutStudio");
                conMySQL.QueryToComboBox("SELECT vName FROM DEPARTMENTS", cbFkDep, "vName");
                conMySQL.QueryToComboBox("SELECT vName FROM CINEMA_PROJECTS", cbFkProjects, "vName");
                conMySQL.QueryToComboBox("SELECT vName FROM HISTORY", cbFkHistory, "vName");
                conMySQL.QueryToComboBox("SELECT vName FROM PRIZES_AND_AWARDS", cbFkPaA, "vName");
                conMySQL.QueryToComboBox("SELECT vAdress FROM CONTACTS", cbFkContacts, "vAdress");
                conMySQL.QueryToComboBox("SELECT vName FROM PARTNERS", cbFkPartners, "vName");

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "FK О студии:";
                    dgvMain.Columns[2].HeaderText = "FK Отделы:";
                    dgvMain.Columns[3].HeaderText = "FK Проекты:";
                    dgvMain.Columns[4].HeaderText = "FK История:";
                    dgvMain.Columns[5].HeaderText = "FK Призы и награды:";
                    dgvMain.Columns[6].HeaderText = "FK Контакты:";
                    dgvMain.Columns[7].HeaderText = "FK Партнеры:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPageCareers)
            {
                conMySQL.LoadTable("CAREERS", "SELECT * FROM `CAREERS`", conMySQL.binSourceCareers, dgvMain, bNavigatorBelFilm);

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "Название:";
                    dgvMain.Columns[2].HeaderText = "Описание:";
                    dgvMain.Columns[3].HeaderText = "Зарплата:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPageActors)
            {
                conMySQL.LoadTable("ACTORS", "SELECT A.iIdActors, C.vName, A.vFIO, A.vDateOfBirth, A.vAge,"
                    + "A.vPhone, A.vAdress FROM `ACTORS` AS A, `CAREERS` AS C WHERE A.fk_iIdCareers = C.iIdCareers", conMySQL.binSourceActors, dgvMain, bNavigatorBelFilm);
                //Прогрузка данных в комбо бокс
                conMySQL.QueryToComboBox("SELECT vName FROM CAREERS", cbActorsFkCareersName, "vName");

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "FK Должность:";
                    dgvMain.Columns[2].HeaderText = "ФИО:";
                    dgvMain.Columns[3].HeaderText = "Дата рождения:";
                    dgvMain.Columns[4].HeaderText = "Возраст:";
                    dgvMain.Columns[5].HeaderText = "Телефон:";
                    dgvMain.Columns[6].HeaderText = "Адрес:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
            else if (tabControlBelFim.SelectedTab == tabPageWorkingStaff)
            {
                conMySQL.LoadTable("WORKING_STAFF", "SELECT WS.iIdWorkingStaff, C.vName, WS.vFIO, WS.vDateOfBirth, WS.vAge,"
                    + "WS.vPhone, WS.vAdress FROM `WORKING_STAFF` AS WS, `CAREERS` AS C WHERE WS.fk_iIdCareers = C.iIdCareers", conMySQL.binSourceWorkingStaff, dgvMain, bNavigatorBelFilm);
                //Прогрузка данных в комбо бокс
                conMySQL.QueryToComboBox("SELECT vName FROM CAREERS", cbWorkStaffFkCareersName, "vName");

                try
                {
                    dgvMain.Columns[0].Visible = false;
                    dgvMain.Columns[1].HeaderText = "FK Должность:";
                    dgvMain.Columns[2].HeaderText = "ФИО:";
                    dgvMain.Columns[3].HeaderText = "Дата рождения:";
                    dgvMain.Columns[4].HeaderText = "Возраст:";
                    dgvMain.Columns[5].HeaderText = "Телефон:";
                    dgvMain.Columns[6].HeaderText = "Адрес:";
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Message);
                }
            }
        }

Перед первым запуском проекта требуется внимательно изучить файл инструкции Настройки.docx. 

Содержание архива

  • Исходный код на C# для Visual Studio

  • Исходный код на SQL MySQL (XAMPP)

  • Файл инструкции по установке и настройке

  • Пояснительная записка на 31 стр. (docx)

  • Диаграмма вариантов использования для RationalRose (mdl)
  • Диаграмма классов для RationalRose (mdl)
  • Диаграмма деятельности для RationalRose (mdl)
  • Диаграмма компонентов для RationalRose (mdl)
  • Диаграмма активности для RationalRose (mdl)
  • Диаграмма структуры проекта (png)
Купить

6000,00 

(без учета комиссии 3,8 %)

После оплаты Вы получите работу на электронную почту.
BelorusFilm.rar
16752862
Настройки.docx
152210
Оцени работу

рейтинг

Поделись работой с друзьями

Комментарии (0)

Zicise

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Справочная система "Белорусьфильм" на C#
Среда разработки: Visual Studio Язык разработки: .Net C# Хранение данных: MySQL (XAMPP)
Категория: Образование
Стоимость: 6000,00