Ejemplo n.º 1
0
        public SignatureResource GetSignatureResource()
        {
            var sr = new SignatureResource();

            var signature = pvs.SearchForProperty((int)MFBuiltInPropertyDef.MFBuiltInPropertyDefSignatureManifestation).GetValueAsLocalizedText();

            Writelog(string.Format("signature is  <{0}>,{1},{2},{3}", signature, signature.Length, signature.LastIndexOf('('), signature.LastIndexOf(')')));
            var start    = signature.LastIndexOf('(') + 1;
            var length   = signature.LastIndexOf(')') - start;
            var username = signature.Substring(start, length);


            start  = signature.IndexOf(')') + 1;
            length = signature.LastIndexOf('(') - start;

            sr.ContentText = signature.Substring(start, length);;
            var di = new DirectoryInfo(SignaturePicturePath);

            foreach (FileInfo fi in di.GetFiles())
            {
                if (fi.Name.StartsWith(username))
                {
                    sr.ContentText = fi.FullName;
                    sr.IsFile      = true;
                    break;
                }
            }

            return(sr);
        }
Ejemplo n.º 2
0
        public SignatureResource GetSignatureResourceByCreator()
        {
            var sr = new SignatureResource();

            var creator =
                vault.ObjectPropertyOperations.GetProperty(objver,
                                                           (int)MFBuiltInPropertyDef.MFBuiltInPropertyDefCreatedBy).Value.GetLookupID();
            var logaccount = vault.UserOperations.GetLoginAccountOfUser(creator);
            var username   = logaccount.AccountName;

            sr.ContentText = logaccount.FullName;
            var di = new DirectoryInfo(SignaturePicturePath);

            foreach (FileInfo fi in di.GetFiles())
            {
                if (fi.Name.StartsWith(username))
                {
                    sr.ContentText = fi.FullName;
                    sr.IsFile      = true;
                    break;
                }
            }

            return(sr);
        }
Ejemplo n.º 3
0
 public void PictureOrLiteralSignatureIncludeDateByAlias(Cell cell, string ugAlias, string literalAnchor)
 {
     try
     {
         SignatureResource sr = GetSignatureResource(ugAlias);
         if (sr.IsFile)
         {
             if (doc.Bookmarks.Exists(ugAlias))
             {
                 return;
             }
             SignatureDateEx(cell, literalAnchor);
             InsertPictureSignature(cell, literalAnchor, sr.ContentText);
             doc.Bookmarks.Add(ugAlias);
         }
         else
         {
             InsertLiteralSignature(cell, sr.ContentText, literalAnchor);
             SignatureDateEx(cell, literalAnchor);
         }
     }
     catch (Exception ex)
     {
         Writelog(string.Format("PictureOrLiteralSignatureIncludeDateByAlias-{0},{1},{2}", ugAlias, literalAnchor, ex.Message));
     }
 }
Ejemplo n.º 4
0
        public SignatureResource GetSignatureResource(string ugalias)
        {
            var sr = new SignatureResource();

            try
            {
                var ug      = vault.UserGroupOperations.GetUserGroupIDByAlias(ugalias);
                var members = vault.UserGroupOperations.GetUserGroup(ug).Members;

                foreach (var member in members)
                {
                    var loginAccount = vault.UserOperations.GetLoginAccountOfUser((int)member);
                    sr.ContentText = loginAccount.FullName;
                    var di = new DirectoryInfo(SignaturePicturePath);
                    foreach (FileInfo fi in di.GetFiles())
                    {
                        if (fi.Name.StartsWith(loginAccount.AccountName))
                        {
                            sr.ContentText = fi.FullName;
                            sr.IsFile      = true;
                            break;
                        }
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Writelog(string.Format("GetSignatureResource, {0},{1}", ugalias, ex.Message));
            }

            return(sr);
        }
Ejemplo n.º 5
0
        public void MEPictureOrLiteralSignature(Cell cell, string ugAlias, string literalAnchor)
        {
            SignatureResource sr = GetSignatureResource(ugAlias);

            if (sr.IsFile)
            {
                InsertPictureSignature(cell, literalAnchor, sr.ContentText, false);
            }
            else
            {
                MEInsertLiteralSignature(cell, sr.ContentText, literalAnchor);
            }
        }
Ejemplo n.º 6
0
        public void PictureOrLiteralSignature(Cell cell, string ugAlias)
        {
            SignatureResource sr = GetSignatureResource(ugAlias);

            if (sr.IsFile)
            {
                InsertPictureSignatureByRange(cell.Range, sr.ContentText);
            }
            else
            {
                cell.Range.Text = sr.ContentText;
            }
        }
Ejemplo n.º 7
0
        public void PictureOrLiteralSignatureBaseOnCreator(Cell cell)
        {
            SignatureResource sr = GetSignatureResourceByCreator();

            if (sr.IsFile)
            {
                InsertPictureSignatureByRange(cell.Range, sr.ContentText);
            }
            else
            {
                cell.Range.Text = sr.ContentText;
            }
        }
Ejemplo n.º 8
0
        public void PictureOrLiteralSignature(string ugAlias, string literalAnchor)
        {
            SignatureResource sr = GetSignatureResource(ugAlias);

            if (sr.IsFile)
            {
                InsertPictureSignature(literalAnchor, sr.ContentText);
            }
            else
            {
                InsertLiteralSignature(sr.ContentText, literalAnchor);
            }
        }
Ejemplo n.º 9
0
        public void DANCPictureOrLiteralSignatureIncludeDateBaseOnTransition(Cell cell, string literalAnchor)
        {
            SignatureResource sr = GetSignatureResource();

            if (sr.IsFile)
            {
                SignatureDateEx(cell, literalAnchor);
                InsertPictureSignature(cell, literalAnchor, sr.ContentText, false);
            }
            else
            {
                MEInsertLiteralSignature(cell, sr.ContentText, literalAnchor);
                SignatureDateEx(cell, literalAnchor);
            }
        }
Ejemplo n.º 10
0
        public void PictureOrLiteralSignatureIncludeDate(Cell cell, string ugAlias, string literalAnchor, string dateAnchor)
        {
            SignatureResource sr = GetSignatureResource(ugAlias);

            if (sr.IsFile)
            {
                SignatureDate(cell, dateAnchor);
                // InsertPictureSignatureByRange(cell.Range, sr.ContentText, left, top);
                InsertPictureSignature(cell, literalAnchor, sr.ContentText);
            }
            else
            {
                InsertLiteralSignature(cell, sr.ContentText, literalAnchor);
                SignatureDate(cell, dateAnchor);
            }
        }
Ejemplo n.º 11
0
        public SignatureResource GetSignatureResourceByLoginAccount(LoginAccount loginaccount)
        {
            var sr = new SignatureResource();

            sr.ContentText = loginaccount.FullName;
            var di = new DirectoryInfo(SignaturePicturePath);

            foreach (FileInfo fi in di.GetFiles())
            {
                if (fi.Name.StartsWith(loginaccount.AccountName))
                {
                    sr.ContentText = fi.FullName;
                    sr.IsFile      = true;
                    break;
                }
            }

            return(sr);
        }
Ejemplo n.º 12
0
        public void PictureOrLiteralSignatureIncludeDateBaseOnCreator(Cell cell, string literalAnchor, bool eraseBlank = true)
        {
            SignatureResource sr = GetSignatureResourceByCreator();

            if (sr.IsFile)
            {
                if (doc.Bookmarks.Exists(literalAnchor + "creator"))
                {
                    return;
                }
                SignatureDateEx(cell, literalAnchor);
                InsertPictureSignature(cell, literalAnchor, sr.ContentText, eraseBlank);
                doc.Bookmarks.Add(literalAnchor + "creator");
            }
            else
            {
                InsertLiteralSignature(cell, sr.ContentText, literalAnchor);
                SignatureDateEx(cell, literalAnchor);
            }
        }
Ejemplo n.º 13
0
        private void QualityAdjustmentNoticeSignatureNorepeat(Microsoft.Office.Interop.Word.Cell cell, int left, int top, string contentAnckor, string content, string signatureAnckor, PropertyValue userPropertyValue)
        {
            var users    = userPropertyValue.Value.GetValueAsLookups();
            var literals = string.Empty;
            var lists    = new List <string>();

            foreach (Lookup lookup in users)
            {
                var loginaccount     = vault.UserOperations.GetLoginAccountOfUser(lookup.Item);
                SignatureResource sr = GetSignatureResourceByLoginAccount(loginaccount);
                if (sr.IsFile)
                {
                    lists.Add(sr.ContentText);
                }
                else
                {
                    literals += " " + sr.ContentText;
                }
            }
            if (literals != string.Empty)
            {
                QualityAdjustmentNoticeInsertLiteralSignature(cell, literals, signatureAnckor);
            }

            var   text = cell.Range.Text;
            Regex reg  = new Regex(contentAnckor + @"\s");

            cell.Range.Text = reg.Replace(text, contentAnckor + content);

            SignatureDate(cell);

            if (lists.Count > 0)
            {
                foreach (string fullpath in lists)
                {
                    InsertPictureSignatureByRange(cell.Range, fullpath, left, top);
                    left += 60;
                }
            }
        }
Ejemplo n.º 14
0
        public void SignPicture(Cell cell, string ugAlias, int left, int top, string literalAnchor)
        {
            //日期
            var dateText = cell.Range.Text;

            if (dateText.Contains("日期:"))
            {
                cell.Range.Text = dateText.Replace("日期:", "日期:" + PrintDateNow());
            }
            SignatureResource sr = GetSignatureResource(ugAlias);

            if (sr.IsFile)
            {
                object Anchor           = cell.Range;
                object LinkToFile       = false;
                object SaveWithDocument = true;
                object width            = 37;
                object height           = 26;
                object leftobj          = left;
                object topobj           = top;
                doc.Shapes.AddPicture(sr.ContentText, ref LinkToFile, ref SaveWithDocument, ref leftobj, ref topobj, ref width, ref height, ref Anchor);
            }
            else
            {
                // InsertLiteralSignature(cell, sr.ContentText, literalAnchor);
                //var text = cell.Range.Text;
                //cell.Range.Text = text.Replace(literalAnchor, literalAnchor + sr.ContentText).TrimEnd();
                //Regex rgx = new Regex(literalAnchor);
                //cell.Range.Text = rgx.Replace(cell.Range.Text, literalAnchor + sr.ContentText);
                if (!string.IsNullOrEmpty(sr.ContentText))
                {
                    var   text = cell.Range.Text;
                    Regex reg  = new Regex(literalAnchor);
                    cell.Range.Text = reg.Replace(text, literalAnchor + sr.ContentText);
                }
            }
        }