Разработка бизнес-приложения

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,36 Мб
  • Опубликовано:
    2014-02-08
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка бизнес-приложения

РЕФЕРАТ


Пояснительная записка к курсовому проекту содержит 66 стр., 16 рис., 4 лит.ист., 3 табл., 1 прил.

Ключевые слова: БД, ADO.NET, объектная модель Word, объектная модель Excel, отчет, автовладельцы, транспортные средства, особые отметки, диаграмма.

Целью работы является разработка приложения для кассы ПТО предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3» в интегрированной среде Microsoft Visual Studio 2005 на языке С#.

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

СОДЕРЖАНИЕ


РЕФЕРАТ 1

СОДЕРЖАНИЕ 2

ВВЕДЕНИЕ        4

1. Постановка задачи         5

1.1 Основные функциональные характеристики разрабатываемого приложения          5

1.2 Обоснование выбора средства программирования     5

1.3 Входная и выходная информация    5

1.4 Требования к аппаратному и программному обеспечению 6

2. СВЕДЕНИЯ ИЗ ТЕОРИИ         7

2.1 С#.       7

2.2 Microsoft Visual Studio   7

2.3 Технология ADO.NET    8

3. организационный анализ предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3»  9

3.1 Стратегическая модель целеполагания      9

3.2 Организационно-функциональная модель         9

3.3 Функционально-технологическая модель 12

3.4 Процессно-ролевая модель     12

3.5 Количественная модель  13

3.6 Инфологическая модель 14

3.7 Даталогическая модель  15

3.8 Реляционная модель базы данных   17

4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ    18

5. ОПИСАНИЕ ПРОГРАММЫ    20

5.1 Функциональное назначение   20

5.2 Внутренняя структура программы  20

5.3 Описание классов, используемых в программе  20

5.4 Описание функций, используемых в программе         21

5.5 Описание методов, используемых в программе 26

5.6 Описание стандартных компонентов, используемых в программе        26

6. Руководство пользователя  28

ЗАКЛЮЧЕНИЕ 34

Список используемой литературы         35

Приложение А       36

ВВЕДЕНИЕ

В современном мире стремительными темпами развиваются информационные технологии и те сферы человеческой деятельности, которые с ними связаны. С каждым годом всё больший и больший объём информации обрабатывается при помощи современных и продолжающих совершенствоваться персональных компьютерах.

Целью данного проекта является исследование алгоритмов разработки бизнес-приложений, а также закрепление практических навыков программирования в среде Microsoft Visual Studio.

Задачи курсового проекта:

·   Изучить общую структуру и основные виды провайдеров технологии ADO.NET.

·   Научиться применять классы и методы, используемые при работе с управляемым провайдером OLE DB

·   Изучить принципы доступа к данным с помощью технологии ADO.NET.

·   Получить навыки работы с пространствами имен, классами, методами, используемыми для работы с данными.

·   Научиться генерировать отчеты с помощью машины Crystal Reports, на основе объектных моделей Word и Excel

·   Научиться графически отображать информацию из БД

·   разработать алгоритм решения задачи;

·   осуществить программную реализацию и протестировать разработанное приложение.

1. Постановка задачи


1.1 Основные функциональные характеристики разрабатываемого приложения

программный  алгоритм автоматизация бизнес

Данное приложение должно автоматизировать работу помощника инспектора ПТО. Оно реализует основные операций с БД на основе технологии ADO.NET (добавление, редактирование, удаление, фильтрация записей), генерирует отчеты в соответствии с заданными условиями, графически отображает необходимую информацию.

1.2 Обоснование выбора средства программирования

Для написания программы была выбрана среда программирования Microsoft Visual Studio 2005, основанная на языке С#. Данная среда выгодно отличается эффективностью и надежностью. К тому же С# предоставляет разработчику комфортные условия и широкие возможности для создания дружественного интерфейса.

1.3 Входная и выходная информация

Входными данными для приложения являются: информация о личных данных клиентов (ФИО автовладельца, дата рождения, адрес, телефон), информация об автовладельцах (№ и серия водительского удостоверения, № и серия медицинской справки, № и серия страхового полиса), информация о страховых агентствах, информация о транспортных средствах (регистрационный №, марка, год выпуска, № двигателя, № кузова, № шасси, код VIN, цвет), информация об особых отметках транспортных средств (вид груза, вид топлива, фары, пробег, расположение руля).

Выходными данными являются: отчеты Crystal Reports(отчет по личным данным, страховым агентствам, всем автовладельцам, особым отметкам), отчеты в Microsoft Word(по страховым агентствам, имеющим более 1 клиента, по автовладельцам, имеющих более одного транспортного средства, по особым отметкам), отчеты в Microsoft Excel (список личных данных автовладельцев, отчет по автовладельцам и транспортным средствам), уведомление об явке автовладельца за получением талона о прохождении техосмотра, диаграмма, показывающая, сколько транспортных средств имеет один автовладелец.

1.4 Требования к аппаратному и программному обеспечению

Для функционирования данного программного необходимо иметь в наличии:

·    ПК (системный блок, монитор, клавиатура, манипулятор)

·        Одну из операционных систем Windows 9Х, NT, 2000, XP, установленную на компьютере

·        Средства Microsoft Office(MS Word, MS Excel, MS Access)

·        Реntium 166 и выше

·        Объем оперативной памяти не менее 16 Мб

·        Жесткий диск объемом не менее 500 Мб

Именно эти параметры создают условия для полноценной работы программ, созданных в среде Microsoft Visual Studio. Данная программа должна предоставлять пользователю дружественный интерфейс.

2. СВЕДЕНИЯ ИЗ ТЕОРИИ

 

2.1 С#.

# - объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств, вроде Visual Studio.# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

2.2 Microsoft Visual Studio

Visual Studio (по-русски обычно произносится [майкрософт ви́жуал сту́дио]) - линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.Studio включает один или несколько компонентов из следующих:

·    Visual Basic .NET, а до его появления - Visual Basic

·        Visual C++

·        Visual C#

Visual Studio построена в архитектуре, поддерживающей возможность использования дополнений (Add-Ins) - плагинов от сторонних разработчиков, что позволяет расширять возможности среды разработки.

 

2.3 Технология ADO.NET

В платформе .NET определено множество типов (организованных в соответствующие пространства имен), которые помогают обеспечить взаимодействие с локальными и удаленными хранилищами данных. Общее название пространств имен с этими типами - ADO.NET.

Все типы ADO.NET предназначены для выполнения единого набора задач: установить соединение с хранилищем данных, создать и заполнить данными объект DataSet, отключиться от хранилища данных и вернуть изменения, внесенные в объект DataSet, обратно в хранилище данных. Объект DataSet - это тип данных, представляющий локальный набор таблиц и информацию об отношениях между ними.

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

Все возможности ADO.NET заключены в типах, определенных в соответствующих пространствах имен, главным из которых является System.Data.

Эти типы предназначены для представления данных, полученных из источника (но не для установления соединения непосредственно с источником). В основном эти типы представляют собой объектные представления примитивов для работы с базами данных - таблицами, строками, столбцами, ограничениями и т.п.

3. организационный анализ предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3»

 

3.1 Стратегическая модель целеполагания

Целью функционирования предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3» ст. Полтавской является технический осмотр транспортных средств. Дополнительные отделы предприятия позволяют регистрировать транспортные средства, их покупку и продажу, принимать уплату налогов и пошлин, штрафов, производить страховку транспортных средств, регистрировать государственные номера транспортных средств, проходить авто-мото экспертизу.

 

3.2 Организационно-функциональная модель

Предприятие по техническому осмотру транспортных средств ООО «СЭСМА-3» ст. Полтавской состоит из нескольких отделов, задачи которых представлены в Таблице 1.

Таблица 1 - отделы ООО «СЭСМА-3».

Отдел

Задачи отдела

Отделение учета и регистрации транспортных средств ГИБДД Красноармейского района

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

Отделение банка «Кубань Кредит»

Данный отдел занимается приемом оплаты штрафов и прочих оплат.

Касса ПТО(пункта технического осмотра)

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

Пункт технического осмотра(линия ТО)

Данная линия технического осмотра занимается осмотром транспортных средств. Осмотр распределен по трем постам.


Пост 1. 1) Визуальный осмотр(установка автомобиля на площадку осмотра, проверка на соответствие требованиям- тип, цвет, расположение) 2) Проверка света фар, указателей, аптечка, огнетушители(регулировка и сила света фар дальнего и ближнего света, противотуманных фар, передних габаритных огней, передних указателей поворота и аварийной сигнализации, сигналов торможения, задних габаритных и противотуманных огней, задних указателей поворота и аварийной сигнализации, фонарей освещения регистрационного знака, огней заднего хода, световозвращателей, сигналы включения световых приборов, находящихся в кабине, наличие и комплектность медицинской аптечки, наличие и срок годности огнетушителя, знака аварийной остановки) 3) Реклама, светография(размещение наружной рекламы) 4) Светопропускание стекол(состояние стекол, наличие дополнительных покрытий, цветографические схемы окраски АТС) 5) Оформление результатов проверки.


Пост 2. 1) Ходовая часть(проверка передней подвески на отсутствие повреждений и дефектов деталей, состояние и крепление шаровых опор, шкворней, амортизаторов; проверка задней подвески на крепление деталей, состояние и крепление втулок продольных и поперечных тяг, рессор, амортизаторов; проверка состояния карданной передачи и крепление ее деталей у заднепроводных транспортных средств, крестовины, подвесные подшипники, эластичные муфты, шлицевые соединения; проверка состояния приводов передних колес у переднеприводных и полноприводных транспортных средств; проверить давление в шинах, наличие и крепление запасного колеса, остаточную высоту рисунка протектора шин, маркировку шин и соответствие их установки, конструкции, размеру и допустимой нагрузки, правильность установки шин с шипами противоскольжения; осмотр с наружной и внутренней стороны, проверить состояние шин, состояние дисков ободьев колес и наличие элементов их крепления.) 2) Рулевое управление(проверить рулевое управление и его составные части на соответствие конструкции транспортного средства; установить на рулевое кресло прибор, возле переднего колеса установить и отрегулировать датчик перемещения и произвести замер люфта в рулевом управлении; проверка взаимного перемещения деталей рулевого привода, крепление картера рулевого механизма и рычагов поворотных цапф; проверка осевого перемещения м качания в плоскости, отсутствие подтекания рабочей жидкости в гидросистеме рулевого управления.) 3) Тормозной привод(проверка геометричности гидравлического тормозного привода, работоспособность системы сигнализации и контроля тормозных систем, работоспособность монометра пневманического, состояние элементов тормозных систем.) 4) Оформление результатов проверки.


Пост 3. 1) Контроль тормозных систем(проверить состояние и работу в установленном режиме) 2) Стеклоочистители и стеклоомыватели(проверить состояние и работу в установленном режиме; проверить стеклоочистители ветрового стекла, работоспособность стеклоомывателей ветрового стекла при работающем двигателе на максимальных оборотах коленвала; с электроприводом при включенном свете фар) 3) Двигатель и его системы(проверка герметичности системы питания транспортного средства с бензиновыми и дизельными двигателями по подтеканию топлива, работоспособность запоров топливных баков и устройств перекрывания топлива, герметичность газовой системы питания газобаллонных транспортных средств, соответствие сроков периодического освидетельствования газовых баллонов; проверка предельно допустимого содержания загрязняющих веществ в отработавших газах АТС с бензиновым двигателем; проверка дымности отработавших газов транспортных средств с дизельными двигателями.) 4) Прочие элементы конструкции(проверить состояние, соответствие места и надежность крепления государственных регистрационных знаков, наличие состояния и крепления зеркал заднего вида, звуковой сигнал, работоспособность механизма регулировки фиксирующих устройств сидений водителя и пассажира, работоспособность замков двери, работоспособность устройств обогрева и обдула, противоугонных устройств; проверка наличия, крепления и состояния грязозащитных фартуков и брызговиков, исправность тягового сцепного устройства, переднее буксирное устройство АТС; проверка наличия, состояния и работоспособности ремней безопасности.) 5) Оформление результатов проверки.

Бухгалтерия

Занимается сбором, регистрацией и обобщением информации в денежном выражении о состоянии имущества, обязательств организации и их изменениях (движении денежных средств) путём сплошного, непрерывного и документального учёта всех хозяйственных операций. Основной задачей бухгалтерии является формирование полной и достоверной информации (бухгалтерской отчётности) о деятельности предприятия и его имущественном положении.

Авто-мото экспертиза

Данный отдел занимается экспертизой транспортных средств, проверкой и выявлением неисправностей, диагностикой.

Автострахование

Данный отдел позволяет застраховать транспортное средство. Автовладелец может выбрать наиболее удобное для него страховое агенство(«Росгосстрах», «Югория», «Русский мир»).


Данная структура представлена на Рисунке 1.












Рисунок 1 - Организационно-функциональная модель

3.3 Функционально-технологическая модель

Автовладелец регистрируется на прохождение техосмотра в отделении учета и регистрации транспортных средств ГИБДД Красноармейского района. Далее необходимо предоставить документы в кассу ПТО, где производится учет и соответствующая запись в базу данных. По ней можно быстро определить основные данные транспортного средства, особые отметки, личные данные автовладельца, найти автовладельца по необходимым параметрам поиска, найти траснпортное средство по необходимым параметрам поиска, просмотреть и распечатать отчеты.

 

3.4 Процессно-ролевая модель

Из отделения учета и регистрации транспортных средств ГИБДД Красноармейского района документы о регистрации, снятии с учета транспортного средства поступают в ГИБДД. Квитанции об оплате государственных пошлин, диагностике и регистрации транспортного средства на прохождение техосмотра поступают в кассу ПТО. Помимо этого, в кассе ПТО, необходимо предъявить личный паспорт, техпаспорт, страховое свидетельство, медицинскую справку. На кассе необходимые данные вносятся в базу данных, которые идут на центральный компьютер, после чего выдается лист учета прохождения транспортного средства по постам.

Далее автомобиль отправляется на линию ТО. После проверки на первом посту в лист учета прохождения транспортного средства по постам вносится соответствующая запись, делается фото автомобиля камерой внешнего наблюдения, данные поступают на центральный компьютер, где формируется отчет, содержащий транспортные сведения, сведения об автовладельце и прикрепляется фото автомобиля. После проверки на втором посту данные поступают на центральный компьютер, где формируется соответствующий отчет. После проверки на третьем посту центральный компьютер формируют отчет по измеряемым параметрам. Заполняется диагностичепская карта, содержащая все проверенные данные. Карта направляется начальнику ПТО на проверку, подпись и заверение печатью. Далее диагностическая карта направляется к инспектору ГИБДД. Инспектор проверяет соответствие данных реальным. Если обнаруживается ошибка, он вправе зачеркнуть подпись начальника ПТО и направить автомобиль на повторную проверку. Если все нормально, автовладельцу выдается талон о прохождении техосмотра. Диагностическая карта делается в трех экземплярах: автовладельцу, в бухгалтерию и в архив.

 

3.5 Количественная модель

Минимальное количество ресурсов, необходимых для функционирования предприятия: 20 ПК, земельный участок площадью от 9,031 тыс. м2, помещения площадью от 30 м2, 10 автомобилей, оснащение помещений электричеством, сигнализацией, водопроводом, наличие соответствующего оборудования:

·    стенд тормозной(СТМ 8000-1 шт.)

·        установка компрессорная(СБ4/Ф-500НВ-1 шт.)

·        люфтометр(ИСЛ-М-1 шт.)

·        измеритель параметров света(ИПФ-01-1 шт.)

·        газоанализатор(Автотест 02 СО-СН-1 шт.)

·        измеритель дымности(Мета-01 МП-1 шт.)

·        аппарат определения подделки(FD-04/06-1 шт.)

·        прибор для определения светопропускания стекла(«Тоник»-1 шт.)

·        течеискатель(ТМ-Мета-02-1 шт.)

·        прибор для проверки маркировочных данных(DEX-detektor-1 шт.)

·        прибор для проверки натяжных ремней(ППНР-1 шт.)

·        штангельциркуль(2 шт.)

·        секундомер(2 шт.)

·        домкрат подкатный(1 шт.)  

·        набор ключей комплект(1 шт.)

·        молоток(2 шт.)

·        монтировка(2 шт.)

·        шланги подкачки(2 шт.)

·        шланг вентиляции(1 шт.)

 

3.6 Инфологическая модель

Инфологическая модель базы данных включает: логическую схему данных: таблицы, связи, ключевые поля. Инфологическая модель нашей базы данных представлена в Таблице 2:

Таблица 2 - Инфологическая модель базы данных.

Название таблицы

Ключ

Связь с другими таблицами

Автомобиль

Ключ

Особые отметки Личные данные автовладельца

Особые отметки

Ключ

Автомобиль Личные данные автовладельца

Личные данные автовладельца

Ключ

Автомобиль Особые отметки Автовладелец

Страховые агентства

Ключ

Автовладелец

Автовладелец

Ключ

Страховые агенства Личные данные автовладельца


Данная инфологическая модель представлена на Рисунке 2:







Рисунок 2 - Инфологическая модель базы данных

 

3.7 Даталогическая модель

Даталогическая модель употребляется при рассмотрении вопросов представления данных в памяти ЭВМ.

Исходя из возможностей Microsoft Access, разрабатываются соответствующие формы представления данных.

Даталогическая модель представлена в Таблице 3:

Таблица 3 - Даталогическая модель базы данных.

Название таблицы

Атрибут

Тип данных

Размер

Автомобиль

Код автомобиля Регистрационный № Марка Год выпуска № двигателя № шасси № кузова Код VIN Цвет ФИО владельца

Счетчик Текст Текст Текст Текст Текст Текст Текст Текст Число

− 25 30 10 50 50 50 50 25 50

Особые отметки

Код особых отметок Регистрационный № ФИО владельца Вид груза Пробег Фары Вид топлива Расположение руля

Счетчик Число Число Текст Текст Текст Текст Текст

− 25 100 100 100 100 100 20

Личные данные автовладельца

Код личных данных ФИО Дата рождения Адрес Телефон

Счетчик Текст Дата/время Текст Текст

− 100 30 150 40

Страховое агенство

Код страхового агенства Страховое агенство

Счетчик Текст

− 50

Автовладелец

Код автовладельца ФИО № водительского удостоверения Серия водительского удостоверения № медицинской справки Серия медицинской справки № страхового полиса Серия страхового полиса Кем выдан страховой полис Дата оплаты ТО

Счетчик Число Текст Текст Текст Текст Текст Текст Число Дата/время

− 100 50 50 50 50 50 50 50


3.8 Реляционная модель базы данных

Определив связи между сущностями и атрибутами, строим реляционную модель базу данных. Данная реляционная модель представлена на Рисунке 3:

Рисунок 3 - Реляционная модель базы данных

 


4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ


Для начала необходимо создать БД в MS Access, к которой будет обращаться разрабатываемое приложение.

Создается главная форма «ООО «СЭСМА-3»» (Form1). На ней размещаются катринка(pictureBox1) и кнопки: автовладельцы(button1), транспортные средства(button2), особые отметки(button3).

Создается форма «Информация об автовладельцах». Для нее настраиваются компоненты: oleDbConnection1, oleDbDataAdapter1(Автовладелец), oleDbDataAdapter3(Личные_данные_автовладельцев), oleDbDataAdapter5(Страховые_агентства), по каждому из которых генерируется dataset11. На форме размещаются компоненты-таблицы dataGridView1, dataGridView2, dataGridView3, для которых происходит связь с конкретными таблицами(свойство DataSource) и задаются значения столбцам(свойство Columns).

На форме, для каждого компонента-таблицы размещаются кнопки: добавить, изменить, удалить и соответствующие кнопки, при нажатии на которые генерируются необходимые отчеты. Также форма содержит компонент-флажок(checkBox1), при нажатии на который происходит фильтрация данных компонента dataGridView3 формы по ФИО.

Аналогично для форм «Информация о транспортных средствах»(Form7) и «Особые отметки»(Form8).

Для генерации отчетов Crystal Reports выполняем команду меню Project -> Add New Item, в открывшемся окне выберите пункт Crystal Report. В панели Field Explorer выбираем нужные поля таблиц и переносим их в секцию Details формы отчета. Создаем новые формы для отображения отчетов на экране (Form2, Form3, Form4, Form5, Form6, Form9, Form10).

Чтобы генерировать отчеты в MS Word и MS Excel, необходимо добавить компоненты Microsoft Word 11.0 Object Library и Microsoft Excel 11.0 Object Library. Создаем соответствующие шаблоны документов и размещаем их в папках docs и reports соответственно в каталоге, где находится .exe-файл приложения.

Написание программы сводится непосредственно к написанию кода обработки всех этих событий

5. ОПИСАНИЕ ПРОГРАММЫ

 

5.1 Функциональное назначение

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

 

5.2 Внутренняя структура программы

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

Таким образом, исходный код программы состоит из процедур, содержащихся в модуле, используемом программой. Ознакомиться с исходным кодом программы можно в Приложении A.

 

5.3 Описание классов, используемых в программе

public partial class Form1 : Form- класс главной формы

public partial class Form2 : Form- класс формы «Информация автовладельцев»partial class Form3 : Form- класс формы «Отчет по личным данным автовладельцев»partial class Form4 : Form- класс формы «Отчет по страховым агентствам»partial class Form5 : Form- класс формы «Отчет по автовладельцам»partial class Form6 : Form- класс формы для заполнения «Явка»partial class Form7 : Form- класс формы «Информация о транспортных средствах»

public partial class Form8 : Form- класс формы «Особые отметки»

public partial class Form9 : Form- класс формы «Отчет по особым отметкам»

public partial class Form10 : Form- класс формы «Диаграмма»

 

5.4 Описание функций, используемых в программе

Функции Главной формы(Form1):

-     public Form1()- функция инициализации главной формы(Form1)

-        private void Form1_Load(object sender, EventArgs e)- функция закрузки главной формы(Form1)

-        private void button1_Click(object sender, EventArgs e)- открытие формы «Информация автовладельцев»(Form2)

         private void button2_Click(object sender, EventArgs e)- открытие формы «Информация о транспортных средствах»(Form7)

         private void button3_Click(object sender, EventArgs e)- открытие формы «Особые отметки»(Form8)

Функции формы «Информация автовладельцев»(Form2):

-     public Form2()- функция инициализации формы «Информация автовладельцев»(Form2)

-        private void Form2_Load(object sender, EventArgs e)- функция закрузки формы «Информация автовладельцев»(Form2)

         private void Form2_FormClosing(object sender, FormClosingEventArgs e)- функция закрытия формы «Информация автовладельцев»(Form2)

         private void UpdateLich()- функция обновления таблиц БД

         private void button1_Click(object sender, EventArgs)- функция нажатия кнопки на добавление новой строки в таблицу «Личные_данные_автовладельца»

         private void button2_Click(object sender, EventArgs e) - функция нажатия кнопки на добавление новой строки в таблицу «Страховые_агентства»

         private void button3_Click(object sender, EventArgs e) - функция нажатия кнопки на добавление новой строки в таблицу «Автовладелец»

         private void button4_Click(object sender, EventArgs e) - функция нажатия кнопки на изменение выделенной строки таблицы «Личные_данные_автовладельца»

         private void button5_Click(object sender, EventArgs e) - функция нажатия кнопки на изменение выделенной строки таблицы «Страховые_агентства»

         private void button6_Click(object sender, EventArgs e) - функция нажатия кнопки на изменение выделенной строки таблицы «Автовладелец»

         private void button7_Click(object sender, EventArgs e) - функция нажатия кнопки на удаление выделенной строки таблицы «Личные_данные_автовладельца»

         private void button8_Click(object sender, EventArgs e) - функция нажатия кнопки на удаление выделенной строки таблицы «Страховые_агентства»

         private void button9_Click(object sender, EventArgs e) - функция нажатия кнопки на удаление выделенной строки таблицы «Автовладелец»

         private void checkBox1_CheckedChanged(object sender, EventArgs e)-функция отметки флажка, осуществляющая фильтр по ФИО

         private void button10_Click(object sender, EventArgs e) - функция нажатия кнопки на открытие формы «Отчет по личным данным автовладельцев»(Form3)

         private void button11_Click(object sender, EventArgs e) - функция нажатия кнопки на открытие формы «Отчет по страховым агентствам»(Form4)

         private void button12_Click(object sender, EventArgs e) - функция нажатия кнопки на открытие формы «Отчет по автовладельцам»(Form5)

         private void button13_Click(object sender, EventArgs e) - функция нажатия кнопки на открытие формы для заполнения «Явка»(Form6)

         private void button14_Click(object sender, EventArgs e) - функция нажатия кнопки на открытие отчета в MS Word, показывающий страховые агентства, имеющие более одного клиента

         private void button15_Click(object sender, EventArgs e) - функция нажатия кнопки на открытие отчета в MS Excel, составляющего список данных автовладельцев

Функции формы «Отчет по личным данным автовладельцев»(Form3):

-     public Form3()- функция инициализации формы «Отчет по личным данным автовладельцев»(Form3)

-        private void Form3_Load(object sender, EventArgs e) - функция закрузки формы «Отчет по личным данным автовладельцев»(Form3)

Функции формы «Отчет по страховым агентствам» (Form4):

-     public Form4()- функция инициализации формы «Отчет по страховым агентствам»(Form4)

-        private void Form4_Load(object sender, EventArgs e) - функция закрузки формы «Отчет по страховым агентствам»(Form4)

Функции формы «Отчет по автовладельцам»(Form5):

-     public Form5()- функция инициализации формы «Отчет по автовладельцам»(Form5)

-        private void Form5_Load(object sender, EventArgs e) - функция закрузки формы «Отчет по автовладельцам»(Form5)

Функции формы «Явка»(Form6):

-     public Form6()- функция инициализации формы «Явка»(Form6)

-        private void Form6_Load(object sender, EventArgs e) - функция закрузки формы «Явка»(Form6)

Функции формы «Информация о транспортных средствах»(Form7):

-     public Form7()- функция инициализации формы «Информация о транспортных средствах»(Form7)

-        private void Form7_Load(object sender, EventArgs e) - функция закрузки формы «Информация о транспортных средствах»(Form7)

         private void Form7_FormClosing(object sender, FormClosingEventArgs e)- функция закрытия формы «Информация о транспортных средствах»(Form7)

         private void UpdateLich()- функция обновления таблиц БД

         private void button1_Click(object sender, EventArgs)- функция нажатия кнопки на добавление новой строки в таблицу «Личные_данные_автовладельца»

         private void button2_Click(object sender, EventArgs e) - функция нажатия кнопки на добавление новой строки в таблицу «Автомобиль»

         private void button3_Click(object sender, EventArgs e) - функция нажатия кнопки на добавление новой строки в таблицу «Личные_данные_автовладельца»

         private void button4_Click(object sender, EventArgs e) - функция нажатия кнопки на изменение выделенной строки таблицы «Автомобиль»

         private void button5_Click(object sender, EventArgs e) - функция нажатия кнопки на удаление выделенной строки таблицы «Личные_данные_автовладельца»

         private void button6_Click(object sender, EventArgs e) - функция нажатия кнопки на удаление выделенной строки таблицы «Автомобиль»

         private void button7_Click(object sender, EventArgs e) - функция формирования отчета по автомобилям в MS Word

         private void button8_Click(object sender, EventArgs e) - функция формирования отчета в MS Word по автовладельцам, имеющим более одного автомобиля

         private void button9_Click(object sender, EventArgs e) - функция формирования отчета в MS Excel

         private void button10_Click(object sender, EventArgs e) - функция нажатия кнопки на открытие формы «Диаграмма»(Form10)

Функции формы «Особые отметки»(Form8):

-     public Form8()- функция инициализации формы «Особые отметки»(Form8)

-        private void Form8_Load(object sender, EventArgs e) - функция закрузки формы «Особые отметки»(Form8)

         private void Form8_FormClosing(object sender, FormClosingEventArgs e)- функция закрытия формы «Особые отметки»(Form8)

         private void UpdateLich()- функция обновления таблиц БД

         private void button1_Click(object sender, EventArgs)- функция нажатия кнопки на добавление новой строки в таблицу «Особые_отметки»

         private void button2_Click(object sender, EventArgs e) - функция нажатия кнопки на изменение выделенной строки таблицы «Особые_отметки»

         private void button3_Click(object sender, EventArgs e) - функция нажатия кнопки на удаление выделенной строки таблицы «Особые_отметки»

         private void button4_Click(object sender, EventArgs e) - функция нажатия кнопки на открытие формы «Отчет по особым отметкам»(Form9)

         private void button5_Click(object sender, EventArgs e) - функция формирования отчета по особым отметкам в MS Word

         private void button6_Click(object sender, EventArgs e) - функция формирования отчета в MS Excel

Функции формы «Отчет по особым отметкам»(Form9):

-     public Form9()- функция инициализации формы «Отчет по особым отметкам»(Form9)

-        private void Form9_Load(object sender, EventArgs e) - функция закрузки формы «Отчет по особым отметкам»(Form9)

Функции формы «Диаграмма»(Form10):

-     public Form10()- функция инициализации формы «Диаграмма»(Form10)

-        private void Form10_Load(object sender, EventArgs e) - функция закрузки формы «Диаграмма»(Form10)

5.5 Описание методов, используемых в программе

void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e), private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e), private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)-методы получения выделенной строкиvoid OpenExcelDocument(string FileName)-метод создания нового отчета в Excel на основе заданного шаблона

private void PutCell(string cell, string val), private void PutCellBorder(string cell, string val)-методы занесения данных в ячейки

private void OpenDocument(string FileName)-метод открытия Word, создания документа на основе шаблона, добавление документа в список документов приложения

public void ReplaceText(string word, string repl), private Boolean ExecuteReplace(Word.Find find), private Boolean ExecuteReplace(Word.Find find, Object replaceOption) - методы поиска и замены в тексте документа

 

5.6 Описание стандартных компонентов, используемых в программе

Компонент textBox - используется для ввода или вывода пользовательского текста. В программе используется для добавления/изменения записей таблиц.

Компонент button - используется для выполнения какого либо действия.

Компонент checkBox - флаг-переключатель. В программе применяется для фильтрации по ФИО.

Компонент comboBox- выпадающий список. В программе используется для выбора данных из списка.

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

6. Руководство пользователя


Установка приложения производится путем копирования sesma3.exe на к компьютер

Запускаемым файлом программы является файл sesma3.exe.

После запуска на экране появляется главное окно программы (Рисунок 4).

Рисунок 4 - Главное окно программы «ООО «СЭСМА-3»»

На нем расположены кнопки: «Автовладельцы», «Транспортные средства», «Особые отметки». При нажатии на кнопки открываются, соответственно формы «Информация об автовладельцах» (Рисунок 5), «Информация о транспортных средствах» (Рисунок 6), «Особые отметки» (Рисунок 7).

Рисунок 5 - Форма «Информация об автовладельцах»

Рисунок 6 - Форма «Информация о транспортных средствах»

Рисунок 7 - Форма «Особые отметки»

Рассмотрим реализацию программы на примере формы «Информация об автовладельцах».

Для добавления данных в таблицу необходимо внести информацию в текстовые поля и нажать на кнопку «Добавить» (Рисунок 8).

Рисунок 8 - Добавление строки

Для изменения данных таблицы необходимо выделить нужную строку, внести изменения в текстовых полях и нажать на кнопку «Изменить» (Рисунок 9). Удаление производится аналогично.

Рисунок 9 - Изменение строки

Для фильтрации данных выбираем человека в выпадающем списке (Рисунок 10).

Рисунок 10 - Выбор человека

Нажимаем на флаг-переключатель «Фильтр по ФИО». В результате отобразится строка только с выбранным человеком (Рисунок 11).

Рисунок 11 - Фильтрация

При нажатии на кнопку «Отчет по автовладельцам» открывается данный отчет (Рисунок 12).

Рисунок 12 - Отчет по автовладельцам

При выборе человека в таблице «Личные данные автовладельца» нажимаем на кнопку «Явка». Откроется форма для заполнения (Рисунок 13). Здесь пользователь вносит место, куда необходимо явиться автовладельцу и дату явки.

Рисунок 13 - Форма для заполнения

При нажатии на кнопку «ОК» откроется отчет в Word (Рисунок 14).

Рисунок 14 - Отчет в Word

При нажатии на кнопку «Список в Excel» открывается отчет в Excel (Рисунок 15).

Рисунок 15 - Отчет в Excel

Аналогичные действия пользователь может производить с остальными формами.

При нажатии на кнопку «Диаграмма» на форме «Транспортные средства» откроется отчет, содержащий диаграмму, в которой отображается количество транспортных средств автовладельцев (Рисунок 16).

Рисунок 16 - Диаграмма

ЗАКЛЮЧЕНИЕ


В ходе выполнения курсового проекта были получены и закреплены навыки программирования в среде Microsoft Visual Studio.

В результате создано работоспособное приложение для кассы ПТО предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3». Проведенное тестирование работы приложения не выявило существенных ошибок. Это, однако, не исключает возможности их появления при проведении более глубокого и длительного тестирования.

Разработанное приложение автоматизирует работу помощника инспектора ПТО. Оно реализует основные операций с БД на основе технологии ADO.NET (добавление, редактирование, удаление, фильтрация записей), генерирует отчеты в соответствии с заданными условиями, графически отображает необходимую информацию.

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

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

Список используемой литературы


1.   Кунт Рейсдорф - « Microsoft Visual Studio 2005. Освой самостоятельно за 21 день»

.        Х. Дейтел, П. Дейтел. Как программировать на C#: Пер. с англ. - Москва: ЗАО "Издательство БИНОМ", 1998. 1024с.

Приложение А

Листинг главной формы:

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;курсач

{partial class Form1 : Form

{Form1()

{();

}void Form1_Load(object sender, EventArgs e)

{

}void button1_Click(object sender, EventArgs e)

{rep = new Form2();.Show();

}void button2_Click(object sender, EventArgs e)

{rep = new Form7();.Show();

}void button3_Click(object sender, EventArgs e)

{rep = new Form8();.Show();

}

}

}

Листинг формы «Информация автовладельцев»:

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;CrystalDecisions.Shared;CrystalDecisions.CrystalReports.Engine;CrystalDecisions.Windows.Forms;System.Windows.Forms;Microsoft.Office.Core;курсач

{partial class Form2 : Form

{Form2()

{();

}Form2 MF;void Form2_Load(object sender, EventArgs e)

{.Open(); //открыть соединение

//заполнить таблицы в объекте DataSet();();();

}int LichId;int StragId;int AwzId;.Application wordApp;.Document wordDoc;.Application ExcelApp; //объект приложения.Window ExcelWindow; //объект окна Excel.Workbook WorkBook; //объект рабочей книги.Sheets ExcelSheets; //набор листов Excel.Worksheet WorkSheet; //объект рабочего листа.Range range; //диапазон ячеекvoid OpenExcelDocument(string FileName)

{

//создать новый объект приложения Excel= new Excel.Application();

//задать файл шаблонаtemplate = Application.StartupPath + @"\reports\" + FileName;

//применить шаблон.Workbooks.Add(template);

//получить первую рабочую книгу файла= ExcelApp.Workbooks[1];

//получить список листов рабочей книги= WorkBook.Worksheets;

//выбрать первый лист= (Excel.Worksheet)ExcelSheets.get_Item(1);

}void PutCell(string cell, string val)

{

//получить диапазон, соответствующий выбранной ячейке= WorkSheet.get_Range(cell, Type.Missing);

//занести в ячейку значение.Value2 = val;

}void PutCellBorder(string cell, string val)

{

//вызвать функцию занесения в ячейку значения(cell, val);

//нарисовать границу вокруг ячейки.BorderAround(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlThin, Excel.XlColorIndex.xlColorIndexAutomatic, Type.Missing);

}void OpenDocument(string FileName)

{

//открываем Word= new Word.Application();

//создаем документ на основе шаблонаtemplate = Application.StartupPath + @"\docs\" + FileName;newTemplate = false;

Object documentType = Word.WdNewDocumentType.wdNewBlankDocument;

Object visible = true;

//добавляем документ в список документов приложения= wordApp.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);

}void ReplaceText(string word, string repl)

{

// Смещаем выделение к началу документаunit = Word.WdUnits.wdStory;extend = Word.WdMovementType.wdMove;.Selection.HomeKey(ref unit, ref extend);

//создаем объект Find для поиска текста.Find fnd = wordApp.Selection.Find;

//очищаем его настройки.ClearFormatting();

//задаем текст для поиска.Text = word;

//очищаем настройки для замены.Replacement.ClearFormatting();

//задаем текст для замены.Replacement.Text = repl;

//запускаем процесс поиска и замены(fnd);

}Boolean ExecuteReplace(Word.Find find)

{ExecuteReplace(find, Word.WdReplace.wdReplaceAll);

}Boolean ExecuteReplace(Word.Find find, Object replaceOption)

{findText = Type.Missing;matchCase = Type.Missing;matchWholeWord = Type.Missing;matchWildcards = Type.Missing;matchSoundsLike = Type.Missing;matchAllWordForms = Type.Missing;forward = Type.Missing;wrap = Type.Missing;format = Type.Missing;replaceWith = Type.Missing;replace = replaceOption;matchKashida = Type.Missing;matchDiacritics = Type.Missing;matchAlefHamza = Type.Missing;matchControl = Type.Missing;find.Execute(ref findText, ref matchCase,matchWholeWord, ref matchWildcards, ref matchSoundsLike,matchAllWordForms, ref forward, ref wrap, ref format,replaceWith, ref replace, ref matchKashida,matchDiacritics, ref matchAlefHamza, ref matchControl);

}void Form2_FormClosing(object sender, FormClosingEventArgs e)

{.Close(); //закрыть соединение

}void UpdateLich()

{

//обновить содержимое таблиц базы данных.Update(dataSet11);.Update(dataSet11);.Update(dataSet11);

//очистить DataSet.Clear();

//заполнить таблицы в объекте DataSet.Fill(dataSet11.Личные_данные_автовладельца);.Fill(dataSet11.Страховые_агенства);.Fill(dataSet11.Автовладелец);

//очистить содерижмое списка фамилий.Items.Clear();

//заполнить список фамилий значениями из таблицы

foreach (DataRow row in dataSet11.Личные_данные_автовладельца.Rows)

comboBox1.Items.Add(row["ФИО"]);

//в списке фамилий - ни одна фамилия не выделена.Text = "";

}void UpdateStrag()

{

//обновить содержимое таблиц базы данных.Update(dataSet11);.Update(dataSet11);.Update(dataSet11);

//очистить DataSet.Clear();

//заполнить таблицы в объекте DataSet.Fill(dataSet11.Личные_данные_автовладельца);.Fill(dataSet11.Страховые_агенства);.Fill(dataSet11.Автовладелец);

//очистить содерижмое списка страховых агентств.Items.Clear();

//заполнить список фамилий значениями из таблицы(DataRow row in dataSet11.Страховые_агенства.Rows).Items.Add(row["Страховое агенство"]);

//в списке агентств - ни одно агентство не выделено.Text = "";

}void UpdateAwz()

{

//обновить содержимое таблиц базы данных.Update(dataSet11);.Update(dataSet11);.Update(dataSet11);

//очистить DataSet.Clear();

//заполнить таблицы в объекте DataSet.Fill(dataSet11.Личные_данные_автовладельца);.Fill(dataSet11.Страховые_агенства);.Fill(dataSet11.Автовладелец);

}void button1_Click(object sender, EventArgs e)

{

//если текстовые поля не пусты,(textBox1.Text != "" && textBox2.Text != "" & textBox3.Text != "" & textBox4.Text != "")

{

//то создать новую запись в таблице Личные_данные_автовладельца,row = dataSet11.Личные_данные_автовладельца.NewRow();

//заполнить ее столбцы["ФИО"] = textBox1.Text;["Дата рождения"] = textBox2.Text;["Адрес"] = textBox3.Text;["Телефон"] = textBox4.Text;

//и добавить запись в таблицу.Личные_данные_автовладельца.Rows.Add(row);

//обновить содержимое главного окна();

}

}void button2_Click(object sender, EventArgs e)

{

//если текстовые поля не пусты,(textBox5.Text != "")

{

//то создать новую запись в таблице Страховые_агенстваrow = dataSet11.Страховые_агенства.NewRow();

//заполнить ее столбцы["Страховое агенство"] = textBox5.Text;

//и добавить запись в таблицу.Страховые_агенства.Rows.Add(row);

//обновить содержимое главного окна();

}

}void button3_Click(object sender, EventArgs e)

{

//если текстовые поля не пусты,(textBox6.Text != "" && textBox7.Text != "" && textBox8.Text != "" && textBox9.Text != "" && textBox10.Text != "" && textBox11.Text != "" && textBox12.Text != "")

{

//то создать новую запись в таблице Автовладелец,row = dataSet11.Автовладелец.NewRow();

//заполнить ее столбцы["№ водительско удостоверения"] = textBox6.Text;["Серия водительского удостоверения"] = textBox7.Text;["№ медицинской справки"] = textBox8.Text;["Серия медицинской справки"] = textBox8.Text;["№ страхового полиса"] = textBox10.Text;["Серия страхового полиса"] = textBox11.Text;["Дата оплаты техосмотра"] = textBox12.Text;

//и добавить запись в таблицуfio = comboBox1.SelectedItem.ToString();

// string fioq = comboBox2.SelectedItem.ToString();

//составить условие для поиска этого человека str = "ФИО='" + fio + "'";

//string strq = "Страховое агенство='" + fioq + "'";

//получить id этого человека в таблице Contacts[] Личные_данные_автовладельца = dataSet11.Личные_данные_автовладельца.Select(str);

//DataRow[] Страховые_агенства = dataSet11.Страховые_агенства.Select(strq);

//заполнить столбец "ContactId" редактируемой записи["ФИО"] = Личные_данные_автовладельца[0]["Код личных данных автовладельца"];

//row["Кем выдан страховой полис"] = Страховые_агенства[0]["Код cтрахового агенства"];.Автовладелец.Rows.Add(row);

//обновить содержимое главного окна();

}

}void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)

{

{

//получить номер выделенной строки= e.RowIndex;

//отобразить фамилию и имя выбранного человека

//в текстовых полях

textBox1.Text = dataSet11.Личные_данные_автовладельца.Rows[LichId]["ФИО"].ToString();.Text = dataSet11.Личные_данные_автовладельца.Rows[LichId]["Дата рождения"].ToString();.Text = dataSet11.Личные_данные_автовладельца.Rows[LichId]["Адрес"].ToString();.Text = dataSet11.Личные_данные_автовладельца.Rows[LichId]["Телефон"].ToString();

}(Exception)

{

}

}void dataGridView2_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)

{

{

//получить номер выделенной строки= e.RowIndex;

//отобразить фамилию и имя выбранного человека

//в текстовых полях.Text = dataSet11.Страховые_агенства.Rows[StragId]["Страховое агенство"].ToString();

}(Exception)

{

}

}void dataGridView3_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)

{

{

//получить номер выделенной строки= e.RowIndex;

//найти запись с полученным номером в DataSetp = dataSet11.Автовладелец.Rows[AwzId];

//отобразить номер телефона найденной записи в текстовом поле.Text = p["№ водительско удостоверения"].ToString();.Text = p["Серия водительского удостоверения"].ToString();.Text = p["№ медицинской справки"].ToString();.Text = p["Серия медицинской справки"].ToString();.Text = p["№ страхового полиса"].ToString();.Text = p["Серия страхового полиса"].ToString();.Text = p["Дата оплаты техосмотра"].ToString();

//получить записи из таблицы Contacts, связанные с данной[] fams = p.GetParentRows(dataSet11.Relations["FK_Личные_данные_автовладельца_Автовладелец"]);

//выбрать фамилию человека (из текущей записи) в списке.SelectedItem = fams[0]["ФИО"].ToString();[] famsq = p.GetParentRows(dataSet11.Relations["FK_Страховые_агенства_Автовладелец"]);

//выбрать фамилию человека (из текущей записи) в списке.SelectedItem = famsq[0]["Страховое агенство"].ToString();

}(Exception)

{

}

}void button4_Click(object sender, EventArgs e)

{

//если выбрана строка в таблице(dataGridView1.SelectedRows.Count != 0)

{

//получить содержимое выбранной строкиrow = dataSet11.Личные_данные_автовладельца.Rows[LichId];

//изменить фамилию и имя на введенные значения["ФИО"] = textBox1.Text;["Дата рождения"] = textBox2.Text;["Адрес"] = textBox3.Text;["Телефон"] = textBox4.Text;

//сохранить изменения и обновить содержимое формы();

}.Show("Выберите строку для редактирования","Внезапно...");

}void button5_Click(object sender, EventArgs e)

{

//если выбрана строка в таблице(dataGridView2.SelectedRows.Count != 0)

{

//получить содержимое выбранной строкиrow = dataSet11.Страховые_агенства.Rows[StragId];

//изменить фамилию и имя на введенные значения["Страховое агенство"] = textBox5.Text;

//сохранить изменения и обновить содержимое формы();

}.Show("Выберите строку для редактирования", "Внезапно...");

}void button6_Click(object sender, EventArgs e)

{(dataGridView3.SelectedRows.Count != 0)

{

{

//получить содержимое выбранной строкиrow = dataSet11.Автовладелец.Rows[AwzId];["№ водительско удостоверения"] = textBox6.Text;["Серия водительского удостоверения"] = textBox7.Text;["№ медицинской справки"] = textBox8.Text;["Серия медицинской справки"] = textBox8.Text;["№ страхового полиса"] = textBox10.Text;["Серия страхового полиса"] = textBox11.Text;["Дата оплаты техосмотра"] = textBox12.Text;fio = comboBox1.SelectedItem.ToString();str = "ФИО='" + fio + "'";[] Личные_данные_автовладельца = dataSet11.Личные_данные_автовладельца.Select(str);["ФИО"] = Личные_данные_автовладельца[0]["Код личных данных автовладельца"];

}(Exception)

{

}

//сохранить изменения и обновить содержимое формы();

}.Show("Выберите строку для редактирования", "Внезапно...");

}void button7_Click(object sender, EventArgs e)

{

//если выбрана запись для удаления(dataGridView1.SelectedRows.Count != 0)

{(MessageBox.Show("Уверены?", "Точно?", MessageBoxButtons.YesNo) == DialogResult.Yes)

{

{

//удалить выбранную строку.Личные_данные_автовладельца.Rows[LichId].Delete();

}(Exception)

{

}

//обновить БД и ее содержимое на форме();

}

}.Show("Выберите строку для удаления", "Внезапно...");

}void button8_Click(object sender, EventArgs e)

{

//если выбрана запись для удаления(dataGridView2.SelectedRows.Count != 0)

{(MessageBox.Show("Уверены?", "Точно?", MessageBoxButtons.YesNo) == DialogResult.Yes)

{

{

//удалить выбранную строку.Страховые_агенства.Rows[StragId].Delete();

}(Exception)

{

}

//обновить БД и ее содержимое на форме();

}

}.Show("Выберите строку для удаления", "Внезапно...");

}void button9_Click(object sender, EventArgs e)

{

//если выбрана запись для удаления

//если выбрана запись для удаления(dataGridView3.SelectedRows.Count != 0)

{(MessageBox.Show("Уверены?", "Точно?", MessageBoxButtons.YesNo) == DialogResult.Yes)

{

{

//удалить выбранную строку.Автовладелец.Rows[AwzId].Delete();

}(Exception)

{

}

//обновить БД и ее содержимое на форме();

}

}.Show("Выберите строку для удаления", "Внезапно...");

}void checkBox1_CheckedChanged(object sender, EventArgs e)

{

//если установлен флажок и выбрана фамилия(checkBox1.Checked && comboBox1.Text != "")

{

//получить выбранную фамилиюfio = comboBox1.SelectedItem.ToString();

//составить условие для поиска нужного человека

//в таблице Личные_данные_автовладельцаstr = "ФИО='" + fio + "'";

//найти нужного человека в таблице Личные_данные_автовладельца[] Личные_данные_автовладельца = dataSet11.Личные_данные_автовладельца.Select(str);

//составить условие для фильтра= "ФИО=" + Личные_данные_автовладельца[0]["Код личных данных автовладельца"];

//применить фильтр

автовладелецBindingSource.Filter = str;

}

//отменить фильтрацию

автовладелецBindingSource.Filter = "";

}void button10_Click(object sender, EventArgs e)

{rep = new Form3();.MF = this;.Show();

}void button11_Click(object sender, EventArgs e)

{rep = new Form4();.MF = this;.Show();

}void button12_Click(object sender, EventArgs e)

{rep = new Form5();.MF = this;.Show();

}void button13_Click(object sender, EventArgs e)

{

//если выбран человек для формирования приглашения(dataGridView1.SelectedRows.Count != 0)

{

//создаем форму для ввода доп. информацииform = new Form6();

//если мы ввели данные и нажали ОК, то формируем документ(form.ShowDialog() == DialogResult.OK)

{

//создаем новый документ на основе шаблона("йц.doc");

//получаем из БД строку с выбранным человекомrow = dataSet11.Личные_данные_автовладельца.Rows[LichId];

//получаем его имя и фамилиюFIO = row["ФИО"].ToString();

//заменяем метки в шаблоне конкретными значениями("<ФИО>", FIO);("<Place>",@form.textBox1.Text);("<Date>", form.dateTimePicker1.Value.ToLongDateString());

//делаем приложение Word видимым.Visible = true;

}

}.Show("Выберите человека", "Внезапно...");

}void button14_Click(object sender, EventArgs e)

{

//создаем новый документ на основе шаблона("список.doc");

//заменяем метку <Today> на текущую дату("<Today>", DateTime.Today.ToShortDateString());

//задаем параметры для поиска метки <Table>start = 0;end = wordDoc.Characters.Count;

//диапазон поиска - весь документ.Range rng = wordDoc.Range(ref start, ref end);.TextRetrievalMode.IncludeHiddenText = false;.TextRetrievalMode.IncludeFieldCodes = false;metka = "<Table>";

//ищем в документе метку <Table>beginphrase = rng.Text.IndexOf(metka);

//получаем "координаты" начала и конца метки в документе= beginphrase;= beginphrase + metka.Length;

//если метка <Table> найдена(beginphrase != -1)

{

//то удаляем ее= wordDoc.Range(ref start, ref end);.Text = "";

//и вставляем на ее место таблицуdefaultTableBehavior = Type.Missing;autoFitBehavior = Type.Missing;

//создаем объект таблицы (изначально - только шапка).Table tbl = rng.Tables.Add(rng,1, 3, ref defaultTableBehavior, ref autoFitBehavior);

//Форматируем таблицу и применяем стиль.Range.Font.Size = 14;style = "Сетка таблицы";.set_Style(ref style);

//шапка таблицы.Cell(1, 1).Range.Text = "№пп";.Cell(1, 2).Range.Text = "Страховое агенство";.Cell(1, 3).Range.Text = "№ водительско удостоверения";

//i - общее количество строк в формируемой таблицеi = 0;(DataRow row in dataSet11.Страховые_агенства)

{[] srtah = row.GetChildRows(dataSet11.Relations["FK_Страховые_агенства_Автовладелец"]);(srtah.Length > 1)

{(DataRow st in srtah)

{++;

//добавляем в таблицу документа новую строкуbeforeRow = Type.Missing;.Rows.Add(ref beforeRow);

//и заполняем ее столбцы.Cell(i + 1, 1).Range.Text = i.ToString();.Cell(i + 1, 2).Range.Text = row["Страховое агенство"].ToString();.Cell(i + 1, 3).Range.Text = st["№ водительско удостоверения"].ToString();

}

}

}

//шапку таблицы выделяем курсивом.Rows[1].Range.Font.Italic = 1;

//и устанавливаем выравнивание по центру.Rows[1].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;

}("Table", "");

//отображаем сформированный документ.Visible = true;

}void button15_Click(object sender, EventArgs e)

{

//создать документ на основе шаблона("spisok.xls");

//занести текущую дату в ячейку D1("E1", DateTime.Now.ToShortDateString());

//i - порядковый номер записиi = 1;(DataRow row in dataSet11.Личные_данные_автовладельца)

{

//занести в столбец А порядковый номер записи("A" + (i + 5).ToString(), i.ToString());("B" + (i + 5).ToString(), row["ФИО"].ToString());("C" + (i + 5).ToString(), row["Дата рождения"].ToString());("D" + (i + 5).ToString(), row["Адрес"].ToString());("E" + (i + 5).ToString(), row["Телефон"].ToString());++;

}

//сделать приложение Excel видимым.Visible = true;

}

}

}

Похожие работы на - Разработка бизнес-приложения

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!