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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
75
ПРИЛОЖЕНИЕ 1.
Структура управления медицинской организации
76
ПРИЛОЖЕНИЕ 2.
Структура медучреждения
77
ПРИЛОЖЕНИЕ 3.
Схема локальной вычислительной сети медучреждения
78
ПРИЛОЖЕНИЕ 4.
Диаграмма вариантов использования
79
ПРИЛОЖЕНИЕ 5.
Диаграмма активности
80
ПРИЛОЖЕНИЕ 6.
Диаграмма последовательности
81
ПРИЛОЖЕНИЕ 7.
Диаграмма классов сервер
82
ПРИЛОЖЕНИЕ 8.
Диаграмма классов клиент
83
ПРИЛОЖЕНИЕ 9.
Диаграмма классов общей библиотеки ChatLib.dll
84
ПРИЛОЖЕНИЕ 10.
Листинг приложения сервер
public static class SQL {
private static MySqlConnection _mySqlConnection;
public static MySqlCommand MySqlCommand { get; private set; }
public static string Error { get; private set; }
public static bool Connect() {
_mySqlConnection?.Close();
var connectionString = $"server={SQLConfig.Server};" +
$"uid={SQLConfig.User};" +
$"pwd={SQLConfig.Password};" +
$"database={SQLConfig.Database}";
try {
_mySqlConnection = new MySqlConnection(connectionString);
_mySqlConnection.Open();
MySqlCommand = _mySqlConnection.CreateCommand();
}
catch (MySqlException ex) {
Error = ex.Message; return false;
}
return true;
}
public static void Disconnect() { _mySqlConnection?.Close(); }
}
class HistoryMessage {
public DateTime MsgDate { get; set; }
public int IdUser { get; set; }
public string Msg { get; set; }
public HistoryMessage() {}
public HistoryMessage(DateTime msgDate, int idUser, string msg) {
MsgDate = msgDate;
IdUser = idUser;
Msg = msg;
}
public static List<HistoryMessage> Get() {
var history = new List<HistoryMessage>();
SQL.MySqlCommand.CommandText = $"SELECT * FROM {HistoryTable.Name}";
using (var mySqlDataReader = SQL.MySqlCommand.ExecuteReader()) {
while (mySqlDataReader.Read()) {
var historyMsg = new HistoryMessage {
MsgDate = UnixTimeStamp.ToDateTime(mySqlDataReader.GetInt32(HistoryTable.MsgDate)),
IdUser = mySqlDataReader.GetInt32(HistoryTable.IdUser),
Msg = mySqlDataReader.GetString(HistoryTable.Msg),
};
history.Add(historyMsg);
}
mySqlDataReader.Close();
}
return history;
}
public static int Add(HistoryMessage historyMessage) {
SQL.MySqlCommand.CommandText =
$"INSERT INTO {HistoryTable.Name} " +
$"({HistoryTable.MsgDate}, {HistoryTable.IdUser}, {HistoryTable.Msg}) " +
$"VALUES ('{UnixTimeStamp.ToUnix(historyMessage.MsgDate)}', '{historyMessage.IdUser}', '{historyMessage.Msg}')";
SQL.MySqlCommand.ExecuteNonQuery();
return (int) SQL.MySqlCommand.LastInsertedId;
}
private static void DeleteOld() {
SQL.MySqlCommand.CommandText = $"DELETE FROM {HistoryTable.Name} " +
$"WHERE {HistoryTable.MsgDate} < '{UnixTimeStamp.ToUnix(DateTime.Now - TimeSpan.FromMinutes(15))}'";
SQL.MySqlCommand.ExecuteNonQuery();
}
}

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

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран