Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тестирование программы




Программа тестировалась на плотформах: Windows 7, Windows 8, Windows server 2012 r2. Тестирование происходило вручную по всем моментам требуемым курсовым заданием.

Заключение

При разработке курсового проекта был использован язык программирования c #. Программа создавалась в программе Visual Studio 2013. Программа соответствует набору требований.

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

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

Программа будет полезна системным администраторам или бухгалтерам.

 

 

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

  1. Агуров П. C#. Разработка компонентов в MS Visual Studio 2005/2008. – СПб.: БХВ-петербург, 2008. – 480с
  2. Википедия – свободная энциклопедия [Электронный ресурс] / Wikimedia Foundation, Inc. – 2012. – Режим доступа: http://ru.wikipedia.org/wiki/C_Sharp -- Дата доступа:15.05.2013.
  3. Абрамян М. Visual C# на примерах. - СПб.: БХВ-петербург, 2008. – 496с
  4. http://www.mini-soft.ru/book/c_sharp/index.php

 

 

 

 

Приложение А

TurtsevCourseWork.cs

{

public partial class MainForm: Form

{

public MainForm()

{

InitializeComponent();

}

 

private GridEnum _currentList = GridEnum.Employee;

 

//открыть список сотрудников

private void btnEmployeeList_Click(object sender, EventArgs e)

{

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM employee");

_currentList = GridEnum.Employee;

}

//открыть список техники

private void btnTechnicList_Click(object sender, EventArgs e)

{

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics");

_currentList = GridEnum.Technics;

}

//открыть список списанной техники

private void btnShowInventory_Click(object sender, EventArgs e)

{

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 'Yes'");

_currentList = GridEnum.Inventarized;

}

 

//событие загрузки формы

private void MainForm_Load(object sender, EventArgs e)

{

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM employee");

}

//кнопка удалить

private void btnDeleteRecord_Click(object sender, EventArgs e)

{

switch(_currentList)

{

case(GridEnum.Employee):

DBHelper.ExecuteCommand(String.Format("DELETE FROM employee WHERE id={0};", gridView.SelectedRows[0].Cells["id"].Value));

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM employee");

break;

case (GridEnum.Technics):

DBHelper.ExecuteCommand(String.Format("DELETE FROM Technics WHERE id={0};", gridView.SelectedRows[0].Cells["id"].Value));

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics");

break;

case (GridEnum.NonUsed):

DBHelper.ExecuteCommand(String.Format("DELETE FROM Technics WHERE id={0};", gridView.SelectedRows[0].Cells["id"].Value));

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 'No' AND Used = 'No'");

break;

default:

DBHelper.ExecuteCommand(String.Format("DELETE FROM Technics WHERE id={0};", gridView.SelectedRows[0].Cells["id"].Value));

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 1");

break;

}

}

//кнопка открыть

private void btnOpenRecord_Click(object sender, EventArgs e)

{

this.OpenDetailForm(false);

}

 

}

//двойной клик по списку открывает форму для просмотра

private void gridView_DoubleClick(object sender, EventArgs e)

{

this.OpenDetailForm(false);

}

 

private void OpenDetailForm(bool isNewObject)

{

switch (_currentList)

{

case (GridEnum.Employee):

this.OpenEmployeeForm(isNewObject);

break;

default:

this.OpenTechnicForm(isNewObject);

break;

}

}

//открыть список рабоче и неиспользуемой техники

private void button1_Click(object sender, EventArgs e)

{

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 'No' AND Used = 'No'");

_currentList = GridEnum.NonUsed;

}

//кнопка создать

private void btnCreateRecord_Click(object sender, EventArgs e)

{

this.OpenDetailForm(true);

}

 

private void MainForm_Activated(object sender, EventArgs e)

{

switch (_currentList)

{

case (GridEnum.Employee):

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM employee");

break;

case (GridEnum.Technics):

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics");

break;

case (GridEnum.NonUsed):

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 'No' AND Used = 'No'");

break;

default:

DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 1");

break;

}

}

}

}

 

Program.cs

{

static class Program

{

/// <summary>

/// Точка входа.

/// </summary>

[STAThread]

static void Main()

{

 

if (!File.Exists("TechnicsDB.db"))

CreateDB();

 

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new MainForm());

}

 

/// <summary>

/// Создание базы данных и генерация данных.

/// </summary>

static void CreateDB()

{

//создание таблицы сотрудников

string createEmpl = @"DROP TABLE IF EXISTS employee;

CREATE TABLE employee(

ID INTEGER PRIMARY KEY AUTOINCREMENT,

FirstName TEXT,

LastName TEXT,

Position TEXT,

BirthDate TEXT,

Technic TEXT);

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Ivan', 'Nosov', 'Manager', '01.03.1985', 'PC-1002');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Leonid', 'Satin', 'Worker', '04.10.1970', 'PC-2024');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Elena', 'Vasilieva', 'Worker', '09.12.1990', 'PC-1206');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Petr', 'Osinin', 'Worker', '26.02.1995', 'PC-3245');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Nikolai', 'Losev', 'Manager', '16.03.1978', 'PC-1134');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Evgenij', 'Filatov', 'Director', '02.09.1979', 'PC-1364');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Tamara', 'Dolina', 'Worker', '09.11.1991', 'PC-7811');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Anton', 'Stepanov', 'Worker', '22.01.1992', 'PC-9912');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Vladimir', 'Kazakov', 'Manager', '01.01.1986', 'PC-4551');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Svetlana', 'Andreeva', 'Worker', '14.11.1976', 'PC-4651');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Stepan', 'Kozlov', 'Worker', '09.12.1990', 'PC-6453');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Ekaterina', 'Loyko', 'Worker', '26.02.1995', 'PC-3451');

INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic)

VALUES ('Stanislav', 'Vlasov', 'Security', '31.04.1989', 'PC-1278');";

 

//создание таблицы техники

string createTech = @"DROP TABLE IF EXISTS technics;

CREATE TABLE technics(

ID INTEGER PRIMARY KEY AUTOINCREMENT,

Name TEXT,

Inventarized TEXT,

Used TEXT,

ManufacturedAt TEXT);

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-1002', 'No','01.02.2011', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-2024', 'No','04.01.2012', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-1206', 'No','23.02.2014', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-3245', 'No','11.10.2014', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-1134', 'No','23.02.2013', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-1890', 'Yes','17.06.2005', 'No');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-1364', 'No','21.11.2012', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-7811', 'No','07.02.2013', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-9912', 'No','01.01.2014', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-4551', 'No','12.07.2012', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-4651', 'No','30.12.2014', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-6453', 'No','29.12.2014', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-6643', 'Yes','12.08.2004', 'No');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-3451', 'No','01.02.2011', 'Yes');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-7777', 'No','11.12.2014', 'No');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-8888', 'No','17.11.2013', 'No');

INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used)

VALUES ('PC-1278', 'No','01.02.2011', 'Yes');";

 

DBHelper.ExecuteCommand(createEmpl);

DBHelper.ExecuteCommand(createTech);

 

}

}

}

 

EmployeeForm.cs

{

public partial class EmployeeForm: Form

{

public EmployeeForm()

{

InitializeComponent();

}

//разрешить редактирвоание

private void EnableEditing(bool value)

{

this.txtFirstName.ReadOnly =!value;

this.txtLastName.ReadOnly =!value;

this.txtBirthDate.ReadOnly =!value;

this.txtPosition.ReadOnly =!value;

this.txtTechnic.ReadOnly =!value;

this.btnApplyEmpl.Visible = value;

this.btnBrowseTechnic.Visible = value;

this.btnEditEmpl.Visible =!value;

}

//заполнить поля формы значениями полей открываемого объекта сотрудника

public void SetEmployee(Employee employeeToShow, bool newObject)

{

this.txtFirstName.Text = employeeToShow.FirstName;

this.txtLastName.Text = employeeToShow.LastName;

this.txtBirthDate.Text = employeeToShow.BirthDate;

this.txtPosition.Text = employeeToShow.Position;

this.txtTechnic.Text = employeeToShow.Technic;

 

this.EnableEditing(newObject);

this.gridViewTech.Visible = false;

this.btnChooseTechnic.Visible = false;

this.btnCreateEmpl.Visible = newObject;

this.btnApplyEmpl.Visible =!newObject;

}

//кнопка сохранить

private void btnApplyEmpl_Click(object sender, EventArgs e)

{

this.EnableEditing(false);

this.gridViewTech.Visible = false;

this.btnChooseTechnic.Visible = false;

 

DBHelper.ExecuteCommand(String.Format("UPDATE technics SET Used = 'No' WHERE Name = '{0}'", this._currentTechnic));

 

this.Save(false);

 

this.gridViewTech.Visible = false;

this.btnChooseTechnic.Visible = false;

this.Size = new Size(530, 230);

this.Close();

}

//кнопка изменить

private void btnEditEmpl_Click(object sender, EventArgs e)

{

this.EnableEditing(true);

}

//кнопка открыть доступную технику

private void btnBrowseTechnic_Click(object sender, EventArgs e)

{

DBHelper.ExecuteAndShowDataGrid(this.gridViewTech, "SELECT * FROM Technics WHERE Inventarized == 'No' AND Used = 'No'");

this.Size = new Size(530, 525);

this.gridViewTech.Visible = true;

this.btnChooseTechnic.Visible = true;

this.btnBrowseTechnic.Visible = false;

}

//кнопка выбрать

private void btnChooseTechnic_Click(object sender, EventArgs e)

{

this.ChooseTechnic();

}

//дабл клик по технике в списке

private void gridViewTech_DoubleClick(object sender, EventArgs e)

{

this.ChooseTechnic();

}

 

private void ChooseTechnic()

{

_technic = new Technic(this.gridViewTech.SelectedRows[0]);

this.txtTechnic.Text = _technic.Name;

}

 

private Technic _technic = null;

private string _currentTechnic = String.Empty;

private string _oldFirstName = String.Empty;

private string _oldLastName = String.Empty;

//событие загрузки формы

private void EmployeeForm_Load(object sender, EventArgs e)

{

this._currentTechnic = this.txtTechnic.Text;

this._oldFirstName = this.txtFirstName.Text;

this._oldLastName = this.txtLastName.Text;

}

//кнопка создать

private void btnCreateEmpl_Click(object sender, EventArgs e)

{

this.btnCreateEmpl.Visible = false;

this.EnableEditing(false);

 

this.Save(true);

this.Close();

}

//кнопка сохранить

private void Save(bool isNew)

{

//если техника была изменена

if (_technic!= null)

{

//если это новый объект, создаем запись в базе

DBHelper.ExecuteCommand(String.Format("UPDATE technics SET Used = 'Yes' WHERE ID = {0}", _technic.Oid));

if(isNew)

DBHelper.ExecuteCommand(String.Format("INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('{0}','{1}','{2}','{3}','{4}')", this.txtFirstName.Text, this.txtLastName.Text, this.txtPosition.Text, this.txtBirthDate.Text, _technic.Name));

//иначе редактируем существующую

else

DBHelper.ExecuteCommand(String.Format("UPDATE employee SET Technic = '{0}', FirstName = '{1}', LastName = '{2}', Position = '{3}', BirthDate = '{4}' WHERE FirstName = '{5}' AND LastName = '{6}'", _technic.Name, this.txtFirstName.Text, this.txtLastName.Text, this.txtPosition.Text, this.txtBirthDate.Text, this._oldFirstName, this._oldLastName));

}

else

//если это новый объект, создаем запись в базе

if(isNew)

DBHelper.ExecuteCommand(String.Format("INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('{0}','{1}','{2}','{3}','{4}')", this.txtFirstName.Text, this.txtLastName.Text, this.txtPosition.Text, this.txtBirthDate.Text, ""));

//иначе редактируем существующую

else

DBHelper.ExecuteCommand(String.Format("UPDATE employee SET FirstName = '{0}', LastName = '{1}', Position = '{2}', BirthDate = '{3}' WHERE FirstName = '{4}' AND LastName = '{5}'", this.txtFirstName.Text, this.txtLastName.Text, this.txtPosition.Text, this.txtBirthDate.Text, this._oldFirstName, this._oldLastName));

}

}

}

 




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 211; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.