コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }