public void MemoGen() { MemoReport memo = new MemoReport(); // memo.CreateDocument("D:\\Testing\\",null,null); ModelMemoReport memoReport = new ModelMemoReport() { SelectParameterDocument = new SelectParameterDocument() { IdUser = 33, NameDocument = "RR", NumberDocument = 4, TabelNumber = "7751-00-099", TypeDocument = 1 } }; SelectSql select = new SelectSql(); SelectImns selectFrames = new SelectImns(); SqlConnectionType sql = new SqlConnectionType(); XmlReadOrWrite xml = new XmlReadOrWrite(); select.SelectMemoReport(ref memoReport); var commandOrders = string.Format(selectFrames.LastOrder, memoReport.UserDepartment.SmallTabelNumber); var userOrder = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", commandOrders); if (userOrder != null) { userOrder = string.Concat("<Orders>", userOrder, "</Orders>"); memoReport.UserDepartment.Orders = ((Orders)xml.ReadXmlText(userOrder, typeof(Orders))); } memo.CreateDocument("D:\\Testing\\", memoReport); }
/// <summary> /// Формирование заявок пляшем от АИС 3 /// </summary> /// <param name="userRule">Спаршенные данные АИС 3</param> /// <returns></returns> public async Task <ModelPathReport> GenerateTemplateRule(UserRules userRule) { var report = new ModelPathReport(); try { return(await Task.Factory.StartNew(() => { var sql = new SelectSql(); var templateword = new TemplateUserRule(); var ruletemplate = new RuleTemplate() { SenderUsers = new SenderUsers() }; var modelselect = sql.SendersUsers(ref ruletemplate); sql.UserRuleModel(ref ruletemplate, userRule, modelselect); templateword.CreateDocum(_parametrService.ReportMassTemplate, ruletemplate, null); report.Note = "Заявки запущены и сохраняются в папку"; report.Url = _parametrService.ReportMassTemplate; return report; })); } catch (Exception e) { Loggers.Log4NetLogger.Error(e); report.Note = e.Message; return(report); } }
/// <summary> /// Получение всех сервисов в БД для шаблонов /// </summary> /// <returns></returns> public async Task <ServiceModelInventory[]> GetServiceApi() { return(await Task.Factory.StartNew(() => { var sql = new SelectSql(); var service = sql.GetServiceApi(); sql.Dispose(); return service; })); }
public void TestOfficialXlsx() { ReportCardModel model = new ReportCardModel() { SettingParameters = new SettingParameters() { TabelNumber = "7751-00-548", Year = 2021, IdDepartment = 8, Type = new Type() { IdType = 1, NameType = "Полный" }, View = new View() { IdView = 0, NameView = "Первичный" }, Mouth = new Mouth() { NumberMouthString = "09", NameMouth = "Сентябрь", NumberMouth = 9 } } }; SqlConnectionType sql = new SqlConnectionType(); SelectImns selectFrames = new SelectImns(); XmlReadOrWrite xml = new XmlReadOrWrite(); SelectSql select = new SelectSql(); select.SelectCardModelLeader(ref model); var command = string.Format(selectFrames.UserReportCard, model.SettingParameters.LeaderD.NameDepartment, $"{model.SettingParameters.Year}-{model.SettingParameters.Mouth.NumberMouthString}-01"); var userReportCard = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", command); userReportCard = string.Concat("<SettingParameters>", userReportCard, "</SettingParameters>"); model.SettingParameters.UsersReportCard = ((SettingParameters)xml.ReadXmlText(userReportCard, typeof(SettingParameters))).UsersReportCard; foreach (var usersReportCard in model.SettingParameters.UsersReportCard) { var commandVacation = string.Format(selectFrames.ItemVacationNew, usersReportCard.Tab_num, $"{model.SettingParameters.Year}", $"{model.SettingParameters.Year}"); var userVacation = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", commandVacation); userVacation = string.Concat("<UsersReportCard>", userVacation, "</UsersReportCard>"); usersReportCard.ItemVacation = ((UsersReportCard)xml.ReadXmlText(userVacation, typeof(UsersReportCard))).ItemVacation; var commandDisability = string.Format(selectFrames.Disability, usersReportCard.Tab_num, $"{model.SettingParameters.Year}"); var userDisability = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", commandDisability); userDisability = string.Concat("<UsersReportCard>", userDisability, "</UsersReportCard>"); usersReportCard.Disability = ((UsersReportCard)xml.ReadXmlText(userDisability, typeof(UsersReportCard))).Disability; var commandBusiness = string.Format(selectFrames.Business, usersReportCard.Tab_num, $"{model.SettingParameters.Year}"); var userBusiness = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", commandBusiness); userBusiness = string.Concat("<UsersReportCard>", userBusiness, "</UsersReportCard>"); usersReportCard.Business = ((UsersReportCard)xml.ReadXmlText(userBusiness, typeof(UsersReportCard))).Business; } ReportCard report = new ReportCard(); report.CreateDocument("D:\\Testing\\", model); }
/// <summary> /// Пересылка с почты oit на пользователей Lotus /// </summary> /// <param name="parameters"></param> public void StartMessageOit(ConfigFile.ConfigFile parameters) { try { int count = 0; ZipAttachments zip = new ZipAttachments(); using (Pop3Client client = new Pop3Client()) { client.CheckCertificateRevocation = false; client.Connect(parameters.Pop3Address, 995, true); MailSender mail = new MailSender(); Loggers.Log4NetLogger.Info(new Exception($"Соединение с сервером eups.tax.nalog.ru установлено (OIT)")); client.Authenticate(parameters.LoginOit, parameters.PasswordOit); Loggers.Log4NetLogger.Info(new Exception($"Пользователь проверен (OIT)")); if (client.IsConnected) { MailLogicLotus mailSave = new MailLogicLotus(); SelectSql select = new SelectSql(); UserLotus userSqlDefault = select.FindUserGroup(7); int messageCount = client.GetMessageCount(); for (int i = 0; i < messageCount; i++) { MimeMessage message = client.GetMessage(i); var messageAttaches = message.Attachments as List <MimeEntity> ?? new List <MimeEntity>(); var messageBodyAttaches = new List <MimeEntity>(); messageBodyAttaches.AddRange(message.BodyParts); var calendar = messageBodyAttaches.Where(x => x.ContentType.MimeType == "text/calendar").ToList(); var file = messageBodyAttaches.Where(x => x.ContentType.MediaType == "image" || x.ContentType.MediaType == "application").ToList(); if (file.Count > 0) { messageAttaches.AddRange(file); } string body; var isHtmlMime = false; if (string.IsNullOrWhiteSpace(message.TextBody)) { body = message.HtmlBody; isHtmlMime = true; } else { body = message.TextBody; } var date = message.Date; if (date.Date >= DateTime.Now.Date) { if (!mailSave.IsExistsBdMail(message.MessageId)) { if (calendar.Count > 0) { var calendarVks = new CalendarVks(); body = calendarVks.CalendarParser(calendar, message); } var address = (MailboxAddress)message.From[0]; var mailSender = address.Address; var nameFile = date.ToString("dd.MM.yyyy_HH.mm.ss") + "_" + mailSender.Split('@')[0] + ".zip"; var fullPath = Path.Combine(parameters.PathSaveArchive, nameFile); MailLotusOutlookIn mailMessage = new MailLotusOutlookIn() { IdMail = message.MessageId, MailAdressSend = parameters.LoginOit, SubjectMail = message.Subject, Body = body, MailAdress = mailSender, DateInputServer = date.DateTime, NameFile = nameFile, FullPathFile = fullPath, FileMail = zip.StartZipArchive(messageAttaches, fullPath) }; mailSave.AddModelMailIn(mailMessage); var mailUsers = mail.FindUserLotusMail(select.FindUserOnUserGroup(userSqlDefault, mailMessage.SubjectMail), "(OIT)"); if (!string.IsNullOrWhiteSpace(message.HtmlBody)) { var math = Regex.Match(body, @"CN=(.+)МНС"); if (!string.IsNullOrWhiteSpace(math.Value)) { mailUsers.Add(math.Value); } } if (isHtmlMime) { mail.SendMailMimeHtml(mailMessage, mailUsers); } else { mail.SendMailIn(mailMessage, mailUsers); } count++; Loggers.Log4NetLogger.Info(new Exception($"УН: {mailMessage.IdMail} Дата/Время: {date} От кого: {mailMessage.MailAdress}")); } } else { //Удаление сообщения/письма client.DeleteMessage(i); } } mailSave.Dispose(); Loggers.Log4NetLogger.Info(new Exception("Количество пришедшей (OIT) почты:" + count)); } mail.Dispose(); client.Disconnect(true); } //Очистить временную папку с файлами zip.DropAllFileToPath(parameters.PathSaveArchive); foreach (FileInfo file in new DirectoryInfo(parameters.PathSaveArchive).GetFiles()) { Loggers.Log4NetLogger.Info(new Exception($"Наименование удаленных файлов: {file.FullName}")); file.Delete(); } Loggers.Log4NetLogger.Info(new Exception("Очистили папку от файлов (OIT)!")); Loggers.Log4NetLogger.Info(new Exception("Перерыв 5 минут (OIT)")); } catch (Exception x) { Loggers.Log4NetLogger.Debug(x); } }
/// <summary> /// Загрузка справочников по шаблонам ролям пользователям /// </summary> /// <param name="infoUserTemlateAndRule">Шаблоны роли пользователи</param> /// <returns></returns> public ModelPathReport LoadInfoUserTemplateAndRuleToDataBase(InfoUserTemlateAndRule infoUserTemlateAndRule) { var sql = new SelectSql(); return(sql.LoadModelToDataBase(infoUserTemlateAndRule, 38, 3)); }
/// <summary> /// Загрузка шаблонов в БД /// </summary> /// <param name="infoTemplate">Шаблоны</param> /// <returns></returns> public ModelPathReport LoadInfoTemplateToDataBase(InfoRuleTemplate infoTemplate) { var sql = new SelectSql(); return(sql.LoadModelToDataBase(infoTemplate, 36, 2)); }