public static string SendTasks(DataTable dataTable) { DateTime dateNow = DateTime.Now; string recipient = "*****@*****.**"; int tasksSended = 0; foreach (DataRow dataRow in dataTable.Rows) { try { string date = dataRow[0].ToString(); if (!DateTime.TryParse(date, out DateTime dateTime)) { continue; } if (!dateTime.Date.Equals(dateNow.Date)) { continue; } string task = dataRow[1].ToString(); string responsible = dataRow[2].ToString(); string initiator = dataRow[3].ToString(); if (string.IsNullOrEmpty(task) || string.IsNullOrEmpty(responsible) || string.IsNullOrEmpty(initiator)) { Logging.ToLog("Строка содержит пустые ячейки: задача - " + task + ", ответственный - " + responsible + ", инициатор - " + initiator); Logging.ToLog("Пропуск"); continue; } string body = "Назначить на: " + responsible + Environment.NewLine + "Задача: " + task + Environment.NewLine + "Инициатор: " + initiator; SystemMail.SendMail("Заявка", body, recipient, addSignature: false); tasksSended++; } catch (Exception e) { Logging.ToLog(e.Message + Environment.NewLine + e.StackTrace); } } return("Задач отправлено: " + tasksSended); }
private void ReadUserCertificate(string userName) { string userCertificate = string.Empty; if (IsSettingsFileExist(fileUserCertificatesINI)) { userCertificate = IniFile.ReadValue("Main", Environment.UserName, fileUserCertificatesINI); } if (string.IsNullOrEmpty(userCertificate) && IsSettingsFileExist(fileUserCertificatesKontur)) { try { using (TextFieldParser csvParser = new TextFieldParser(fileUserCertificatesKontur, Encoding.GetEncoding("windows-1251"))) { csvParser.CommentTokens = new string[] { "#" }; csvParser.SetDelimiters(new string[] { ";" }); csvParser.HasFieldsEnclosedInQuotes = true; csvParser.ReadLine(); DateTime validTo = new DateTime(); while (!csvParser.EndOfData) { string[] fields = csvParser.ReadFields(); if (fields.Length < 14) { continue; } string lineUserName = fields[3]; if (!ClearString(lineUserName).Equals(ClearString(userName))) { continue; } string isRevoked = fields[10]; if (isRevoked.Equals("1")) { continue; } string lineCertificateSN = fields[6]; DateTime lineValidTo = DateTime.Parse(fields[9]); if (string.IsNullOrEmpty(userCertificate)) { userCertificate = lineCertificateSN; validTo = lineValidTo; continue; } if (lineValidTo <= validTo) { continue; } userCertificate = lineCertificateSN; validTo = lineValidTo; } } } catch (Exception e) { LoggingService.LogMessageToFile(e.Message + Environment.NewLine + e.StackTrace); } } if (string.IsNullOrEmpty(userCertificate)) { string message = "Не удалось найти сертификат для пользователя '" + Environment.UserName + "@" + Environment.MachineName + "' в файлах: " + fileUserCertificatesINI + ", " + fileUserCertificatesKontur; LoggingService.LogMessageToFile(message); SystemMail.SendMail("FssAutoConfig", message); return; } Settings["certwsname"] = userCertificate; }