Разработка информационной системы 'Строительство жилых зданий'

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

Разработка информационной системы 'Строительство жилых зданий'














ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту

по дисциплине «Базы данных»

Тема проекта «Разработка информационной системы "Строительство жилых зданий»

Реферат

БАЗЫ ДАННЫХ, ПРОГРАММНОЕ ОБЕСПЕЧНИЕ, АВТОМАТИЗАЦИЯ, КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ, СХЕМА ДАННЫХ, ПРЕДМЕТНАЯ ОБЛАСТЬ, Microsoft SQL Server, Microsoft C#, ОРГАНИЗАЦИЯ УЧЕТА ПЕРСОНАЛА.

Тема: «Разработка информационной системы "Строительство жилых зданий"».

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

Содержание

Введение

. Нормативные ссылки

. Анализ предметной области и требований

.1 Цель автоматизации

.2 Перечень задач, подлежащих автоматизации

.3 Объекты автоматизируемых процессов

.4 Последовательность действий участников заказа

.5 Концептуальная модель

. Постановка задачи на разработку БД и По

.1 Перечень функций программы

.2 Реляционная модель данных

.3 Перечень форм программы

.4 Отчеты программы и авторизация

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

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

.2 Порядок установки программы

.3 Запуск программы

.4 Выполнение пользовательских операций

.4.1 Навигация по программе

.5 Завершение работы с программой

Заключение

Список используемых источников

Приложение А

Введение

Одним из важнейших понятий теории базы данных является понятие информации. Здесь под информацией понимают любые сведения о каком-либо событии, процессе, объекте. С понятием информации тесно связано понятие данных. Данные - это информация, представленная в определенном виде, позволяющем автоматизировать ее сбор, хранение и обработку.

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

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

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

Понятие «реляционная» происходит из того факта, что каждая таблица содержит сведения, связанные с одним и только одним предметом. При дальнейшем изучении реляционной модели вы поймете, что понятие «связь» (relation) применяется к набору строк (или таблице), относящихся к одному предмету. Кроме того, данные о двух классах информации (например, клиенты и заказы) могут обрабатываться как единое целое, с учетом связей между значениями данных. Например, излишним будет хранение имени и адреса клиента в каждом размещаемом им заказе. В реляционной СУБД информация о заказе имеет поле, в котором хранится номер клиента, что позволяет связать каждый заказ с информацией о соответствующем клиенте.

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

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

В качестве средств для разработки автоматизированного решения выбрана СУБД Microsoft SQL Server 2008 и среда разработки Microsoft Visual Studio 2010 (язык приложения - C#). Это надежные и хорошо проверенные временем продукты, с помощью которых были созданы решения для десятков тысяч различных организаций.

 

. Нормативные ссылки


В настоящих методических указаниях используются ссылки на следующие нормативные документы:

ГОСТ Р 1.5-2004 - Стандарты национальные РФ. Правила построения, изложения, оформления и обозначения.

ГОСТ Р 7.05-2008 - СИБИД. Библиографическая ссылка. Общие требования и правила составления.

ГОСТ 2.301- 68 - ЕСКД. Форматы.

ГОСТ 2.105-95 - ЕСКД. Общие требования к текстовым документам.

ГОСТ 7.9-95 - СИБИД. Реферат и аннотация. Общие требования.

ГОСТ 7.82-2001 - СИБИД. Библиографическая запись. Библиографическое описание электронных ресурсов. Общие требования и правила составления.

. Анализ предметной области и требований

2.1 Цель автоматизации

Можно выделить следующие основные цели автоматизации в рамках данного проекта:

.        Улучшение автоматизации процесса заказа разработки жилых домов;

.        Увеличения достоверности и скорости получения кадровой отчетности.

.        Сокращение числа человеческих ошибок, влияния «человеческого фактора»;

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

2.2 Перечень задач, подлежащих автоматизации

Разрабатываемое программное обеспечение должно решать следующие задачи:

.        хранение основных элементов справочной информации (сотрудники, отделы, подразделения.);

.        ввод информации о новых отделениях, сотрудниках и т.д.

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

2.3 Объекты автоматизируемых процессов

Непосредственно заказчики, для работы с которыми и разрабатывается данное приложение.

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

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

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

Разработки цен и установление площадей проектов.

Информация рабочих (сотрудников) бригад компании.

2.4 Последовательность действий участников заказа

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

Администратор в свое время вносит данные в базу данных . (Открытие нового отделения, принятие нового сотрудника на работу и т. д.)

2.5 Концептуальная модель

Для построения концептуальной модели будем использовать схему «сущность-связь» (англ. Entity-RelationshipDiagram). Схема предметной области представлена на рисунке 1.

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

Рисунок 1 - Концептуальная модель предметной области

. Постановка задачи на разработку БД и ПО

3.1 Перечень функций программы

.        Оформление нового заказа.

.        Редактирование таблиц базы данных.

.        Вывод данных из таблиц.

.        Поиск по таблицам баз данных.

3.2 Реляционная модель данных

Реляционная модель данных представлена на рисунке 2.

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

3.3 Перечень форм программы

Программа содержит следующие формы:

)        Главная форма, которая содержит меню смены режима работы. Главную форму оформления заказа и главную форму ред. табл

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

)        Форма авторизации пользователя, в которой проверяется, как соответствие логина и пароля, так и права пользователя.

3.4 Отчеты программы и авторизация

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

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

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

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

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

Компьютер под управлением операционной системы Microsoft Windows XP и выше (или Microsoft Windows Server 2003 и выше);

- Microsoft .NET Framework 4.0 и выше;

Microsoft SQL Server 2008 и выше.

4.2 Порядок установки программы

программа модель данные

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

) Убедиться в том, что на компьютере установлен Microsoft .NET Framework 4.0, при необходимости установить или обновить его;

) Убедиться в том, что на компьютере установлен и работоспособен Microsoft SQL Server 2008, при необходимости установить или обновить его;

4.3 Запуск программы

Для запуска программы необходимо, предварительно выполнив действия, указанные в предыдущем пункте, дважды щёлкнуть по файлу sportshop.exe, расположенному в папке Debug.

4.4 Выполнение пользовательских операций

.4.1   Навигация по программе

Работа с программой начинается с окна авторизации.

Рисунок 1 - Форма авторизации

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

Рисунок 2 - Внешний вид программы

Рисунок 4 - Главная форма программы

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

Рисунок 5 - Выбор вкладки «Склад

Выбрав третью вкладку «Статистика», мы можем выбрать интересующий нас товар и увидеть, какое его количество было продано.

Рисунок 5 - Выбор вкладки «Статистика»

В программе имеется возможность вывода данных в txt файл. Для этого нужно открыть файл bill.txt в папке Debug.


4.5 Завершение работы с программой

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

Заключение

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

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

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

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

Список используемых источников

1. Малыхина М.П. Базы данных: основы, проектирование, использование: Сер. «Учебное пособие». - СПб.; БХВ-Петербург, 2004. - 512 с.

. Дейт К. Дж. Введение в системы баз данных 7-е изд. - М.: Вильямс, 2012. - С. 1072. - ISBN 5-8459-0138-3.

. Шилдт Г. C# учебный курс. Пер. с англ. - СПб.: изд. Питер, изд. Группа BHV, 2011. - 512 с.

. Нэш Т. C# 2008 ускоренный курс. Пер. с англ. - М.: изд Вильямс, 2008. - 576 стр.

. С.А. Каратыгин, А.Ф. Тихонов, В.Г. Долголаптев. Базы данных. т.1 и 2, М., "ABF", 2010.

. Microsoft Software Developers Network [Электронный ресурс]: Online электронный ресурс, посвященный вопросам разработки программного обеспечения и баз данных с помощью продуктов Microsoft. - Электрон, дан. (55 518 файлов). - Адрес доступа: http://www.msdn.com/ - Главная страница.

Приложение А

Листинг программы

Форма авторизацииSystem;

using System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;

sportshop

{partial class Form1 : Form

{Form1()

{();

}

void button1_Click(object sender, EventArgs e)

{(login.Text != string.Empty && pass.Text != string.Empty)

{

{man = new Manager(login.Text, pass.Text);res = ManagerModel.Instance().getManager(man);(res.id > 0)

{form = new Form2();.managerid = res.id;.Show();();

}

{.Text = "Pair login pass is not correct";

}

}(Exception ex)

{.Text = "Pair login pass is not correct";

}

}

{.Text = "Pair login pass is not correct";

}

}

}

}




Главная формаSystem;System.Collections.Generic;System.Linq;System.Text;System.Data;System.Data.SqlClient;sportshop

{BaseDB

{DataTable SelectQuery(string query)

{

// create a new data adapter based on the specified query.adapter = new SqlDataAdapter();

//set the SelectCommand of the adapter.SelectCommand = new SqlCommand(query, DB.Instance().connection);

// create a new DataTabletable = new DataTable();

//fill the DataTable.Fill(table);

//return the DataTabletable;

}

void UpdateQuery(string query)

{

// create a new data adapter based on the specified query.adapter = new SqlDataAdapter();

//set the SelectCommand of the adapter.UpdateCommand = new SqlCommand(query, DB.Instance().connection);

.UpdateCommand.ExecuteNonQuery();

}

void InsertQuery(string query)

{

// create a new data adapter based on the specified query.adapter = new SqlDataAdapter();

//set the SelectCommand of the adapter.InsertCommand = new SqlCommand(query, DB.Instance().connection);

.InsertCommand.ExecuteNonQuery();

}

}

}

System;System.Collections.Generic;System.Linq;System.Text;

sportshop

{BuyBill

{BuyBill() { }

int id { get; set; }int providerid { get; set; }DateTime date { get; set; }

}

}

System;System.Collections.Generic;System.Linq;System.Text;System.Data;

sportshop

{BuyBillModel

{static BuyBillModel instance = null;

BuyBillModel() { }

static BuyBillModel Instance()

{(instance == null)

{= new BuyBillModel();

}instance;

}

int getGoodCountByName(Good good)

{count = 0;query = "select count from buygoodlist where goodid = '" + good.id + "'";result = DB.Instance().SelectQuery(query);= int.Parse(result.Rows[0]["count"].ToString());count;

}

}

}

System;System.Collections.Generic;System.Linq;System.Text;

sportshop

{Buyer

{Buyer() { }

int id { get; set; }string name { get; set; }string address { get; set; }int telefon { get; set; }

}

Buyers : List<Buyer>

{

}

}

System;System.Collections.Generic;System.Linq;System.Text;System.Data.SqlClient;System.Data;

sportshop

{DB : BaseDB

{static DB instance = null;

//Возвращает экземпляр класса самого себя (патерн синглтон)

public static DB Instance()

{(instance == null)

{= new DB();

}instance;

}

#region Свойства

SqlConnection connection

{

{connection = new SqlConnection("server=(local);Trusted_Connection=yes;database=sportshop;Connection Timeout=60;");.Open();connection;

}

}

bool checkConnection

{

{(this.connection.State.ToString() == "Open")true;false;

}

}

#endregion

}

}

System;System.Collections.Generic;System.Linq;System.Text;

sportshop

{Delivery

{Delivery() { }

int id { get; set; }string name { get; set; }decimal cost { get; set; }

}

Deliveries : List<Delivery>

{

}

}System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;

sportshop

{partial class Form1 : Form

{Form1()

{();

}

void button1_Click(object sender, EventArgs e)

{(login.Text != string.Empty && pass.Text != string.Empty)

{

{man = new Manager(login.Text, pass.Text);res = ManagerModel.Instance().getManager(man);(res.id > 0)

{form = new Form2();.managerid = res.id;.Show();();

}

{.Text = "Pair login pass is not correct";

}

}(Exception ex)

{.Text = "Pair login pass is not correct";

}

}

{.Text = "Pair login pass is not correct";

}

}

}

}

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.IO;

sportshop

{partial class Form2 : Form

{int managerid = 0;

Goods goodlist = new Goods();

Manager manager = new Manager();

Form2()

{();

}

void Form2_Load(object sender, EventArgs e)

{= ManagerModel.Instance().getManagerByID(managerid);buyers = SaleBillModel.Instance().getAllBuyers();deliveries = SaleBillModel.Instance().getAllDeliveries();(int i = 0; i < buyers.Count; i++)

{.Items.Add(buyers[i].name);

}.SelectedIndex = 0;(int i = 0; i < deliveries.Count;i++ )

{.Items.Add(deliveries[i].name);

}.SelectedIndex = 3;.Text = SaleBillModel.Instance().getDeliveryByName(comboBox2.SelectedItem.ToString()).cost.ToString();.Text = DateTime.Now.ToShortDateString();

groups = SaleBillModel.Instance().getAllGroups();makers = SaleBillModel.Instance().getAllMakers();

(int i = 0; i < groups.Count; i++)

{.Items.Add(groups[i].name);

}

(int i = 0; i < makers.Count; i++)

{.Items.Add(makers[i].name);

}

.SelectedIndex = 0;.SelectedIndex = 0;.Enabled = false;.Enabled = false;

goods = SaleBillModel.Instance().getGoods();

(int i = 0; i < goods.Count; i++)

{.Items.Add(goods[i].name);.Items.Add(goods[i].name);

}.SelectedIndex = 0;.SelectedIndex = 0;

();

();

}

void FillGoods()

{group = SaleBillModel.Instance().getGroupByName(comboBox3.SelectedItem.ToString());maker = SaleBillModel.Instance().getMakerByName(comboBox5.SelectedItem.ToString());

goods = SaleBillModel.Instance().getGoodsByGroupAndMaker(group.id, maker.id);

(int i = 0; i < goods.Count; i++)

{.Items.Add(goods[i].name);

}(goods.Count > 0)

{.SelectedIndex = 0;

}

}

void FillBuyGoods()

{good = SaleBillModel.Instance().getGoodByName(comboBox6.SelectedItem.ToString());

count = BuyBillModel.Instance().getGoodCountByName(good) - SaleBillModel.Instance().SaledGoods(good);

.Text = count.ToString();

}

void FillSaledGoods()

{good = SaleBillModel.Instance().getGoodByName(comboBox7.SelectedItem.ToString());

.Text = SaleBillModel.Instance().getSaleCountGood(manager, good).ToString();

}

void button1_Click(object sender, EventArgs e)

{bill = new SaleBill();.manager = manager;.buyer = SaleBillModel.Instance().getBuyerByName(comboBox1.SelectedItem.ToString());.delivery = SaleBillModel.Instance().getDeliveryByName(comboBox2.SelectedItem.ToString());.goods = goodlist;.date = DateTime.Now;.cost = decimal.Parse(textBox2.Text.ToString());res = SaleBillModel.Instance().CreateSaleBill(bill);sbill = "Менеджер по продажам: " + manager.name + " Телефон: " + manager.telefon +

"\r\nПокупатель: " + bill.buyer.name + " Адрес: " + bill.buyer.address + " Телефон: " + bill.buyer.telefon +

"\r\nВид доставки: " + bill.delivery.name + " Cтоимость доставки: " + bill.delivery.cost +

"\r\nСписок товаров: " + richTextBox1.Text.ToString() +

"\r\nДата: " + bill.date +

"\r\nОбщая цена: " + bill.cost;.Text = sbill;text = new StreamWriter("bill.txt");.Write(sbill);.Close();();

}

void AllClean()

{= new Goods();.Text = DateTime.Now.ToShortDateString();.Text = SaleBillModel.Instance().getDeliveryByName(comboBox2.SelectedItem.ToString()).cost.ToString();.Clear();

}

void button2_Click(object sender, EventArgs e)

{goodname = comboBox4.SelectedItem.ToString();good = SaleBillModel.Instance().getGoodByName(goodname);.Add(good);.Text += goodname + Environment.NewLine;count = decimal.Parse(textBox2.Text.ToString()) + good.outputcost;.Text = count.ToString();

}

void button3_Click(object sender, EventArgs e)

{.Items.Clear();();.Enabled = true;.Enabled = true;

}

void button4_Click(object sender, EventArgs e)

{();

}

void button5_Click(object sender, EventArgs e)

{();

}

}

}

System;System.Collections.Generic;System.Linq;System.Text;

{Good

{Good() { }

int id { get; set; }string name { get; set; }int groupid { get; set; }int makerid { get; set; }decimal inputcost { get; set; }decimal outputcost { get; set; }

}

Goods : List<Good>

{

}

}

System;System.Collections.Generic;System.Linq;System.Text;

sportshop

{Group

{Group() { }

int id { get; set; }string name { get; set; }

}

Groups : List<Group>

{

}

}

System;System.Collections.Generic;System.Linq;System.Text;

sportshop

{Maker

{Maker() { }

int id { get; set; }string name { get; set; }

}

Makers : List<Maker>

{

}

}

System;System.Collections.Generic;System.Linq;System.Text;

sportshop

{Manager

{Manager() { }

Manager(string name, string pass)

{.id = 0;.name = name;.pass = pass;

}

int id { get; set; }string name { get; set; }string pass { get; set; }string address { get; set; }int telefon { get; set; }

}

}

System;System.Collections.Generic;System.Linq;System.Text;System.Data;

sportshop

{ManagerModel

{static ManagerModel instance = null;

static ManagerModel Instance()

{(instance == null)

{= new ManagerModel();

}instance;

}

Manager getManager(Manager manager)

{query = "select * from manager where name = '" + manager.name + "' and pass = '" + manager.pass + "'";result = DB.Instance().SelectQuery(query);man = new Manager();.id = int.Parse(result.Rows[0]["managerid"].ToString());.name = result.Rows[0]["name"].ToString();.pass = result.Rows[0]["pass"].ToString();.address = result.Rows[0]["address"].ToString();.telefon = int.Parse(result.Rows[0]["telefon"].ToString());man;

}

Manager getManagerByID(int id)

{query = "select * from manager where managerid = '" + id + "'";result = DB.Instance().SelectQuery(query);man = new Manager();.id = int.Parse(result.Rows[0]["managerid"].ToString());.name = result.Rows[0]["name"].ToString();.address = result.Rows[0]["address"].ToString();.telefon = int.Parse(result.Rows[0]["telefon"].ToString());man;

}

}

}

System;System.Collections.Generic;System.Linq;System.Windows.Forms;

sportshop

{class Program

{

/// <summary>

/// Главная точка входа для приложения.

/// </summary>

[STAThread]void Main()

{.EnableVisualStyles();.SetCompatibleTextRenderingDefault(false);.Run(new Form1());

}

}

}

System;System.Collections.Generic;System.Linq;System.Text;

sportshop

{Provider

{Provider() { }

int id { get; set; }string name { get; set; }

}

}

System;System.Collections.Generic;System.Linq;System.Text;

sportshop

{SaleBill

{SaleBill() { }

SaleBill(int id,Manager man)

{.id = id;.manager = man;

}

int id { get; set; }Manager manager { get; set; }Buyer buyer { get; set; }Delivery delivery { get; set; }DateTime date { get; set; }Goods goods { get; set; }decimal cost { get; set; }

}

SaleBills : List<SaleBill>

{

}

}

System;System.Collections.Generic;System.Linq;System.Text;System.Data;

sportshop

{SaleBillModel

{static SaleBillModel instance = null;

SaleBillModel() { }

static SaleBillModel Instance()

{(instance == null)

{= new SaleBillModel();

}instance;

}

Buyers getAllBuyers()

{buyers = new Buyers();query = "select * from buyer";result = DB.Instance().SelectQuery(query);(int i = 0;i<result.Rows.Count;i++)

{buyer = new Buyer();.id = int.Parse(result.Rows[i]["buyerid"].ToString());.name = result.Rows[i]["name"].ToString();.address = result.Rows[i]["address"].ToString();.telefon = int.Parse(result.Rows[i]["telefon"].ToString());.Add(buyer);

}buyers;

}

Buyer getBuyerByName(string name)

{buyer = new Buyer();query = "select * from buyer where name = '" + name + "'";result = DB.Instance().SelectQuery(query);.id = int.Parse(result.Rows[0]["buyerid"].ToString());.name = result.Rows[0]["name"].ToString();.address = result.Rows[0]["address"].ToString();.telefon = int.Parse(result.Rows[0]["telefon"].ToString());buyer;

}

Deliveries getAllDeliveries()

{deliveries = new Deliveries();query = "select * from delivery";result = DB.Instance().SelectQuery(query);(int i = 0; i < result.Rows.Count; i++)

{delivery = new Delivery();.id = int.Parse(result.Rows[i]["deliveryid"].ToString());.name = result.Rows[i]["name"].ToString();.cost = decimal.Parse(result.Rows[i]["cost"].ToString());.Add(delivery);

}deliveries;

}

Delivery getDeliveryByName(string name)

{delivery = new Delivery();query = "select * from delivery where name = '" + name + "'";result = DB.Instance().SelectQuery(query);.id = int.Parse(result.Rows[0]["deliveryid"].ToString());.name = result.Rows[0]["name"].ToString();.cost = int.Parse(result.Rows[0]["cost"].ToString());delivery;

}

Groups getAllGroups()

{groups = new Groups();query = "select * from [group]";result = DB.Instance().SelectQuery(query);(int i = 0; i < result.Rows.Count; i++)

{group = new Group();.id = int.Parse(result.Rows[i]["groupid"].ToString());.name = result.Rows[i]["name"].ToString();.Add(group);

}groups;

}

Group getGroupByName(string name)

{group = new Group();query = "select * from [group] where name = '" + name + "'";result = DB.Instance().SelectQuery(query);.id = int.Parse(result.Rows[0]["groupid"].ToString());.name = result.Rows[0]["name"].ToString();group;

}

Makers getAllMakers()

{makers = new Makers();query = "select * from maker";result = DB.Instance().SelectQuery(query);(int i = 0; i < result.Rows.Count; i++)

{maker = new Maker();.id = int.Parse(result.Rows[i]["makerid"].ToString());.name = result.Rows[i]["name"].ToString();.Add(maker);

}makers;

}

Maker getMakerByName(string name)

{query = "select * from maker where name = '" + name + "'";result = DB.Instance().SelectQuery(query);maker = new Maker();.id = int.Parse(result.Rows[0]["makerid"].ToString());.name = result.Rows[0]["name"].ToString();maker;

}

Goods getGoodsByGroupAndMaker(int groupid,int makerid)

{goods = new Goods();query = "select * from good where groupid = '" + groupid + "' and makerid = '" + makerid + "'";result = DB.Instance().SelectQuery(query);(int i = 0; i < result.Rows.Count; i++)

{good = new Good();.id = int.Parse(result.Rows[i]["goodid"].ToString());.name = result.Rows[i]["name"].ToString();.groupid = groupid;.makerid = makerid;.inputcost = decimal.Parse(result.Rows[i]["inputcost"].ToString());.outputcost = decimal.Parse(result.Rows[i]["outputcost"].ToString());.Add(good);

}goods;

}

Good getGoodByName(string name)

{query = "select * from good where name = '" + name + "'";result = DB.Instance().SelectQuery(query);good = new Good();.id = int.Parse(result.Rows[0]["goodid"].ToString());.name = result.Rows[0]["name"].ToString();.groupid = int.Parse(result.Rows[0]["groupid"].ToString());.makerid = int.Parse(result.Rows[0]["makerid"].ToString());.inputcost = decimal.Parse(result.Rows[0]["inputcost"].ToString());.outputcost = decimal.Parse(result.Rows[0]["outputcost"].ToString());good;

}

Goods getGoods()

{goods = new Goods();query = "select * from good";result = DB.Instance().SelectQuery(query);(int i = 0; i < result.Rows.Count; i++)

{good = new Good();.id = int.Parse(result.Rows[i]["goodid"].ToString());.name = result.Rows[i]["name"].ToString();.groupid = int.Parse(result.Rows[0]["groupid"].ToString());.makerid = int.Parse(result.Rows[0]["makerid"].ToString());.inputcost = decimal.Parse(result.Rows[i]["inputcost"].ToString());.outputcost = decimal.Parse(result.Rows[i]["outputcost"].ToString());.Add(good);

}goods;

}

Dictionary<int, int> CreateSaleBill(SaleBill bill)

{query = "insert into salebill values ('" + bill.manager.id + "','" + bill.buyer.id + "','" + bill.delivery.id + "','" + bill.date + "','" + bill.cost + "')";.Instance().InsertQuery(query);querys = "select top 1 salebillid from salebill order by salebillid desc";res = DB.Instance().SelectQuery(querys);id = int.Parse(res.Rows[0]["salebillid"].ToString());

result = bill.goods

.Select(str => new { id = str.id, count = bill.goods.Count(s => s.id == str.id) })

.Where(obj => obj.count > 0)

.Distinct()

.ToDictionary(obj => obj.id, obj => obj.count);

(KeyValuePair<int, int> pair in result)

{query2 = "insert into salegoodlist values ('" + id + "','" + pair.Key + "','" + pair.Value + "')";.Instance().InsertQuery(query2);

}

result;

}

int SaledGoods(Good good)

{query = "select SUM(count) from salegoodlist where goodid = '"+good.id+"'";result = DB.Instance().SelectQuery(query);int.Parse(result.Rows[0][0].ToString());

}

int getSaleCountGood(Manager manager,Good good)

{bill = new SaleBills();query = "select SUM(count) from salegoodlist where salebillid in (select salebillid from salebill where managerid = '" + manager.id + "') and goodid = '" + good.id + "'";result = DB.Instance().SelectQuery(query);

{int.Parse(result.Rows[0][0].ToString());

}

{0;

}

}

}

}

Похожие работы на - Разработка информационной системы 'Строительство жилых зданий'

 

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