Дипломная работа: Автоматизация процесса ведения информационной базы о должностях и вакансиях с указанием требований к уровню знаний и навыков кандидатов для ПАО Тостелеком

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
107
/// <param name="__port_">Порт</param>
public void Set(string __server_name_, string __login_, string __password_,
string __db_, string __port_)
{
ServerAddress = __server_name_;
ServerLogin = __login_;
ServerPassword = __password_;
DataBaseName = __db_;
ServerPort = __port_;
}
/// <summary>
/// Сброс флага подключения к БД
/// </summary>
public void ResetConnection() { Connected = false; }
/// <summary>
/// Установка флага подключения к БД
/// </summary>
public void Successfully() { Connected = true; }
}
/// <summary>
/// Параметры строки подключения к БД
/// </summary>
public static ConnectionString DB_CS;
/// <summary>
/// Получение настроек подключения из файла
/// </summary>
/// <param name="__filename_">Файл с настройками</param>
/// <returns>Структура с параметрами плдключения к БД</returns>
public static ConnectionString LoadConnectionSettings(string __filename_)
{
// Новая строка подключения
ConnectionString NewCS = new ConnectionString();
// Поток чтения данных их файла
FileStream fs = null;
StreamReader sr = null;
// Попытка прочитать данные
try
{
fs = new FileStream(__filename_, FileMode.Open);
sr = new StreamReader(fs);
// Чтение данных
NewCS.ServerAddress = sr.ReadLine().Split(new char[] { '=' },
StringSplitOptions.RemoveEmptyEntries)[1];
NewCS.ServerLogin = sr.ReadLine().Split(new char[] { '=' },
StringSplitOptions.RemoveEmptyEntries)[1];
NewCS.ServerPassword = sr.ReadLine().Split(new char[] { '=' },
StringSplitOptions.RemoveEmptyEntries)[1];
NewCS.DataBaseName = sr.ReadLine().Split(new char[] { '=' },
StringSplitOptions.RemoveEmptyEntries)[1];
NewCS.ServerPort = sr.ReadLine().Split(new char[] { '=' },
StringSplitOptions.RemoveEmptyEntries)[1];
// Закрыть файл
sr.Close();
fs.Close();
// Возврат значения
return NewCS;
}
catch (Exception)
{
NewCS.DataBaseName = "failed!";
return NewCS;
}
108
}
/// <summary>
/// Сохранение настроек подключения в файл
/// </summary>
public static void SaveConnectionSettings(string __filename_)
{
// Поток записи данных в файл
FileStream fs = null;
StreamWriter sw = null;
// Попытка записать данные
try
{
fs = new FileStream(__filename_, FileMode.Create);
sw = new StreamWriter(fs);
// Запись данных
sw.WriteLine("adress=" + DB_CS.ServerAddress);
sw.WriteLine("login=" + DB_CS.ServerLogin);
sw.WriteLine("password=" + DB_CS.ServerPassword);
sw.WriteLine("db=" + DB_CS.DataBaseName);
sw.WriteLine("port=" + DB_CS.ServerPort);
// Закрыть файл
sw.Close();
fs.Close();
}
catch (Exception) { }
}
/// <summary>
/// Попытка установить подключение к БД
/// </summary>
/// <returns>Результат подключения</returns>
public static bool SetConnectionWithDB()
{
// Попытка подключиться
try
{
// Настройка подключения
string connString = "server=" + DB_CS.ServerAddress +
";uid=" + DB_CS.ServerLogin +
";database=" + DB_CS.DataBaseName +
";charset=utf8" +
";port=" + DB_CS.ServerPort +
";password=" + DB_CS.ServerPassword + ";";
Properties.Settings.Default["VPRT_CS"] = connString;
// Попытка прочитать данные
vprtDataSetTableAdapters.accountTableAdapter TestTA =
new vprtDataSetTableAdapters.accountTableAdapter();
vprtDataSet.accountDataTable TestTable = TestTA.GetData();
// Если данные прочитаны, значит попытка успешна
DB_CS.Successfully();
MainWindow.CurrentDBName = DB_CS.DataBaseName;
TestTable.Dispose();
TestTA.Dispose();
return DB_CS.Connected;
}
catch (Exception ex)
{
MessageBox.Show("Неправильно указаны параметры подключения к БД!" +
Environment.NewLine + ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
109
/// <summary>
/// Показать форму настройки подключения к БД
/// </summary>
public static void ShowConnectionSettings()
{
// Сброс активной подсистемы
MainWindow.SubsystemView.Controls.Clear();
// Предварительный сброс флага подключения к БД
DB_CS.ResetConnection();
MainWindow.CurrentDBName = "unknown";
// Очистить данные авторизованного пользователя на форме
MainWindow.CurrentUserName = "не идентифицирован";
// Сброс данных пользователя
CurrentUser = null;
// Создание формы подключения к БД
Service.dialogDatabaseConnection ddbcf = new
Service.dialogDatabaseConnection();
// Показать форму подключения к БД
ddbcf.ShowDialog();
}
/// <summary>
/// Показать форму авторизации пользователя
/// </summary>
public static void ShowLoginForm()
{
if (DB_CS.Connected)
{
// Сброс активной подсистемы
MainWindow.SubsystemView.Controls.Clear();
// Очистить данные авторизованного пользователя на форме
MainWindow.CurrentUserName = "не идентифицирован";
// Сброс данных пользователя
CurrentUser = null;
// Создание формы авторизации пользователя
Service.dialogLogin daf = new Service.dialogLogin();
// Показать форму авторизации пользователя
daf.ShowDialog();
}
else
{
// Сообщение о необходимости подключения к БД
MessageBox.Show("Сначала необходимо подключиться к базе данных!",
Application.ProductName, MessageBoxButtons.OK,
MessageBoxIcon.Error);
MainWindow.CurrentDBName = "unknown";
// Показать форму настройки подключения к БД
ShowConnectionSettings();
}
}
}
}
Программный код класса-сущности (на примере должности)
using System;
using System.Windows.Forms;
namespace VPRT.Entities
110
{
/// <summary>
/// Класс должности
/// </summary>
public class Post : Interfaces.IDBManagement, Interfaces.IUserManagement
{
/// <summary>
/// Конструктор
/// </summary>
/// <param name="__id_">Необязательный идентификатор</param>
public Post(int __id_ = 0)
{
// Инициализация атрибутов
Initialize(__id_);
}
// ----------------------------------------------------------
// Атрибуты
// ----------------------------------------------------------
private int __id;
private string __name;
private string __reqKnowledges;
private string __reqSkills;
private int __vacationsCount;
private Department __department;
private Test __test;
// ------------------------------------ Доступ к атрибутам --
/// <summary>
/// Доступ к идентификатору
/// </summary>
public int ID { get { return __id; } }
/// <summary>
/// Доступ к количеству вакансий на должность
/// </summary>
public int VacationsCount { get { return __vacationsCount; } }
/// <summary>
/// Доступ к наименованию
/// </summary>
public string Name { get { return __name; } }
/// <summary>
/// Доступ к требованиям к навыкам и умениям
/// </summary>
public string ReqSkills { get { return __reqSkills; } }
/// <summary>
/// Доступ к требованиям к знаниям
/// </summary>
public string ReqKnowledges { get { return __reqKnowledges; } }
/// <summary>
/// Доступ к подразделению
/// </summary>
public Department HisDepartment { get { return __department; } }
/// <summary>
/// Доступ к тесту на должность
/// </summary>
public Test Posttest { get { return __test; } }
// ----------------------------------------------------------
// РЕАЗИЗАЦИЯ ИНТЕРФЕЙСА С БД ---------------------------------
/// <summary>
/// Адаптер подключения к БД - таблица должностей
/// </summary>
111
vprtDataSetTableAdapters.postsTableAdapter ADAPTER =
new vprtDataSetTableAdapters.postsTableAdapter();
/// <summary>
/// Инициализация данных
/// </summary>
/// <param name="__id_">Необязательный идентификатор</param>
/// <returns>Результат операции</returns>
public bool Initialize(int __id_ = 0)
{
try
{
// Инициализация по идентификатору
if (__id_ != 0)
{
// Получение данных из таблицы
vprtDataSet.postsDataTable TABLE = ADAPTER.GetDataByID(__id_);
// Чтение полученных данных
if (TABLE.Rows.Count > 0)
{
__id = __id_;
__department = new
Department(Convert.ToInt32(TABLE.Rows[0].ItemArray[1]));
__name = Convert.ToString(TABLE.Rows[0].ItemArray[2]);
__reqKnowledges = Convert.ToString(TABLE.Rows[0].ItemArray[3]);
__reqSkills = Convert.ToString(TABLE.Rows[0].ItemArray[4]);
__test = Convert.IsDBNull(TABLE.Rows[0].ItemArray[5])
? null
: new Test(Convert.ToInt32(TABLE.Rows[0].ItemArray[5]));
__vacationsCount = Convert.ToInt32(TABLE.Rows[0].ItemArray[6]);
// Освободить таблицу
TABLE.Dispose();
}
else
{
MessageBox.Show("Запись не найдена!", Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возврат неудачи
return false;
}
}
else // Инициализация по умолчанию
{
__department = new Department();
__name = "Новая должность";
__reqKnowledges = "Опишите необходимые требования к знаниям
кандидата";
__reqSkills = "Опишите необходимые требования к навыкам и умениям
кандидата";
__test = null;
__vacationsCount = 0;
}
// Возврат успеха
return true;
}
catch (Exception ex)
{
MessageBox.Show("Ошибка при выполнении операции: " + ex.Message,
Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Error);
// Возврат неудачи
return false;
}
}
Источник: https://baza.diplomsite.ru/previewfile/2061