/
AstroJohn
/
MailRobot
Обзор
Документация
Войти
/
AstroJohn
/
MailRobot
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
LogProcessingModels/Configuration/clsChecker_Parameters.cs
100 строк
4 KB
AstroJohn
Fix naming
12 фев 2025, 17:22
12 фев 2025, 17:22
e55a89d
Код
Авторство
О чём код?
using System; using System.Data.SqlClient; using System.IO; using LogProcessingModels.Parsing; using MySql.Data.MySqlClient; namespace LogProcessingModels.Configuration { [Serializable] public class clsChecker_Parameters { public ParserParameters ParserParameters { get; set; } = new ParserParameters(); public string WorkingDirectory { get; set; } public string MessageIDsList_FileName { get; set; } public clsSMTP_Parameters SMTP_Parameters { get; set; } = new clsSMTP_Parameters(); public clsPOP3_Parameters POP3_Parameters { get; set; } = new clsPOP3_Parameters(); public clsMSSQL_Parameters MSSQL_Parameters { get; set; } = new clsMSSQL_Parameters(); public clsMySQL_Parameters MySQL_Parameters { get; set; } = new clsMySQL_Parameters(); public clsFTP_Parameters FTP_Parameters { get; set; } = new clsFTP_Parameters(); public string ReceivedLogs_Folder { get; set; } public string BadAnswers_Folder { get; set; } public string MailRobot_Log_FileName { get; set; } public string AdminEMail { get; set; } = string.Empty; public string AcceptedLogs_FileName { get; set; } public bool SendConfirmation { get; set; } public LOG_FORMAT LogFormat { get; set; } [System.Xml.Serialization.XmlIgnore] public string MySqlConnectionString { get; set; } [System.Xml.Serialization.XmlIgnore] public string MsSqlConnectionString { get; set; } [System.Xml.Serialization.XmlIgnore] public MySqlConnection MySqlConnection { get; set; } [System.Xml.Serialization.XmlIgnore] public SqlConnection MsSqlConnection { get; set; } public clsChecker_Parameters() { } public clsChecker_Parameters(bool LoadDefaultValues = false) { if (LoadDefaultValues) { { var withBlock = ParserParameters; withBlock.ContestName = "CUSTOM-CONTEST"; withBlock.DateStart = DateTime.Today; withBlock.DateEnd = DateTime.Today; withBlock.QSOParseMethod = QSO_PARSE_METHOD.SPLIT; withBlock.SimplestCheck = false; } LogFormat = LOG_FORMAT.ERMAK; AcceptedLogs_FileName = "AcceptedLogs.csv"; SendConfirmation = false; MailRobot_Log_FileName = "MailRobot.log"; BadAnswers_Folder = "Bad"; ReceivedLogs_Folder = "ReceivedLogs"; MessageIDsList_FileName = "MessageIDs.lst"; SMTP_Parameters.Log_FileName = "MailServer.log"; POP3_Parameters.Log_FileName = "MailServer.log"; } } public string GetContestFolder() { var hhmm = ParserParameters.DateStart.ToString("HHmm"); var contestFolder = hhmm == "0000" ? ParserParameters.DateStart.ToString("yyyyMMdd") + "_" + ParserParameters.ContestName : ParserParameters.DateStart.ToString("yyyyMMdd") + "_" + hhmm + "_" + ParserParameters.ContestName; contestFolder = string.Join("_", contestFolder.Split(Path.GetInvalidFileNameChars())); return contestFolder; } public string GetWorkingDirectoryPath() { if ((ParserParameters.ContestName != string.Empty && ParserParameters.DateStart != DateTime.MinValue)) { var contestFolder = GetContestFolder(); return Path.Combine(WorkingDirectory, contestFolder); } return WorkingDirectory; } public string GetReceivedLogsPath() { return Path.Combine(GetWorkingDirectoryPath(), ReceivedLogs_Folder); } public string GetBadAnswersPath() { return Path.Combine(GetWorkingDirectoryPath(), BadAnswers_Folder); } } }