Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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);
            }
        }
Exemple #3
0
 /// <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;
     }));
 }
Exemple #4
0
        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);
        }
Exemple #5
0
        /// <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);
            }
        }
Exemple #6
0
        /// <summary>
        /// Загрузка справочников по шаблонам ролям пользователям
        /// </summary>
        /// <param name="infoUserTemlateAndRule">Шаблоны роли пользователи</param>
        /// <returns></returns>
        public ModelPathReport LoadInfoUserTemplateAndRuleToDataBase(InfoUserTemlateAndRule infoUserTemlateAndRule)
        {
            var sql = new SelectSql();

            return(sql.LoadModelToDataBase(infoUserTemlateAndRule, 38, 3));
        }
Exemple #7
0
        /// <summary>
        /// Загрузка шаблонов в БД
        /// </summary>
        /// <param name="infoTemplate">Шаблоны</param>
        /// <returns></returns>
        public ModelPathReport LoadInfoTemplateToDataBase(InfoRuleTemplate infoTemplate)
        {
            var sql = new SelectSql();

            return(sql.LoadModelToDataBase(infoTemplate, 36, 2));
        }