예제 #1
0
        private void SendEmail(CPCOfficialFile cpcOfficialFile)
        {
            var message  = new MailMessage();
            var fromAddr = new MailAddress("*****@*****.**");

            message.From = fromAddr;
            message.To.Add(HtEmails[cpcOfficialFile.CPCOfficialFileConfig.Dealer].ToString());
            message.CC.Add("*****@*****.**");
            message.Headers.Add("Disposition-Notification-To", "*****@*****.**");

            var listSubject = new List <string>();

            listSubject.Add(cpcOfficialFile.CaseSerial);
            if (cpcOfficialFile.Applicants.Count > 0)
            {
                listSubject.Add(cpcOfficialFile.Applicants.Cast <DictionaryEntry>().ToList()[0].Key.ToString());
            }
            listSubject.Add(cpcOfficialFile.FileName);
            if (cpcOfficialFile.CPCOfficialFileConfig.CreateDeadline &&
                cpcOfficialFile.CPCOfficialFileConfig.DeadlineFiled != "PRE_EXAM_PASSED" &&
                !(cpcOfficialFile.FileCode == "200702" && !IsValidCase(cpcOfficialFile.AppNo)))
            {
                listSubject.Add(
                    cpcOfficialFile.SendDate.AddDays(cpcOfficialFile.CPCOfficialFileConfig.AddDays)
                    .AddMonths(cpcOfficialFile.CPCOfficialFileConfig.AddMonths)
                    .ToString("yyyy/MM/dd"));
            }
            else if (cpcOfficialFile.FileCode == "200103")//缴纳申请费通知书
            {
                listSubject.Add((cpcOfficialFile.DivFilingDate ?? cpcOfficialFile.AppDate).AddMonths(2).ToString("yyyy/MM/dd"));
            }
            else if (cpcOfficialFile.FileCode == "200021")//费用减缓通知书
            {
                listSubject.Add((cpcOfficialFile.DivFilingDate ?? cpcOfficialFile.AppDate).AddMonths(2).ToString("yyyy/MM/dd"));
            }
            if (!string.IsNullOrWhiteSpace(cpcOfficialFile.WithDrew))
            {
                listSubject.Add(cpcOfficialFile.WithDrew);
            }
            message.Subject = string.Join(";", listSubject);

            var listBody = new List <string>();

            listBody.Add(
                $"申请人:{string.Join("; ", cpcOfficialFile.Applicants.Cast<DictionaryEntry>().Select(a => a.Key + "," + a.Value).ToList())}");
            listBody.Add($"委托人:{cpcOfficialFile.ClientNo},{cpcOfficialFile.ClientName}");
            listBody.Add($@"文件地址:\\PTFILE\PATENT\Cases-CN\{cpcOfficialFile.CaseSerial.Substring(0, cpcOfficialFile.CaseSerial.IndexOf("-", StringComparison.Ordinal))}\From_Office");
            message.Body = string.Join("\r\n", listBody);

            var client = new SmtpClient("smtp.beijingeastip.com", 25);

            client.Credentials = new NetworkCredential("*****@*****.**", "O@notice");
            //client.EnableSsl = true;
            client.Send(message);
        }
예제 #2
0
        public void GeneratePDFFile(CPCOfficialFile cpcOfficialFile)
        {
            if (!Directory.Exists(cpcOfficialFile.FilePath))
            {
                return;
            }
            var sCPCFilePath = $@"{cpcOfficialFile.FilePath}\{cpcOfficialFile.FileSerial}\{cpcOfficialFile.FileSerial}";

            if (!Directory.Exists(sCPCFilePath))
            {
                return;
            }
            var files = Directory.GetFiles(sCPCFilePath, "*.tif").ToList();

            Directory.GetFiles(cpcOfficialFile.FilePath, "*.tif", SearchOption.AllDirectories).ToList().ForEach(s =>
            {
                if (files.Contains(s))
                {
                    return;
                }
                files.Add(s);
            });
            if (files.Count == 0)
            {
                return;
            }
            var sGenerateFile = $@"D:\GenerateFolder\{DateTime.Now:yyyyMMddtt}\{cpcOfficialFile.CaseSerial.Substring(0, cpcOfficialFile.CaseSerial.IndexOf("-", StringComparison.Ordinal))}-{DateTime.Now:yyyyMMdd}-{(cpcOfficialFile.CPCOfficialFileConfig == null ? cpcOfficialFile.FileName : cpcOfficialFile.CPCOfficialFileConfig.Rename)}.pdf";
            int i             = 1;

            while (File.Exists(sGenerateFile))
            {
                sGenerateFile = $@"D:\GenerateFolder\{DateTime.Now:yyyyMMddtt}\{cpcOfficialFile.CaseSerial.Substring(0, cpcOfficialFile.CaseSerial.IndexOf("-", StringComparison.Ordinal))}-{DateTime.Now:yyyyMMdd}-{(cpcOfficialFile.CPCOfficialFileConfig == null ? cpcOfficialFile.FileName : cpcOfficialFile.CPCOfficialFileConfig.Rename)}{i}.pdf";
                i++;
            }
            try
            {
                var document = new Document(PageSize.A4, 25, 25, 25, 25);
                if (!Directory.Exists(Path.GetDirectoryName(sGenerateFile)))
                {
                    Directory.CreateDirectory(Path.GetDirectoryName(sGenerateFile));
                }
                PdfWriter.GetInstance(document, new FileStream(sGenerateFile, FileMode.Create));
                document.Open();
                foreach (var p in files)
                {
                    var image = iTextSharp.text.Image.GetInstance(p);
                    if (image.Height > PageSize.A4.Height - 25)
                    {
                        image.ScaleToFit(PageSize.A4.Width - 25, PageSize.A4.Height - 25);
                    }
                    else if (image.Width > PageSize.A4.Width - 25)
                    {
                        image.ScaleToFit(PageSize.A4.Width - 25, PageSize.A4.Height - 25);
                    }
                    image.Alignment = Element.ALIGN_MIDDLE;
                    document.NewPage();
                    document.Add(image);
                }
                document.Close();
            }
            catch (Exception e)
            {
                cpcOfficialFile.Note = e.ToString();
            }
            cpcOfficialFile.BizFilePath = sGenerateFile;
        }