コード例 #1
0
        public void UploadIfOutdated()
        {
            int valueOrDefault = this.mailboxSession.Mailbox.GetValueOrDefault <int>(MailboxSchema.GroupMailboxGeneratedPhotoVersion, -1);

            byte[] array = this.ReadGroupMailboxPhoto();
            bool   flag  = false;

            if (valueOrDefault == -1 && array.Length == 0)
            {
                flag = true;
            }
            else if (valueOrDefault < 1 && array.Length > 0)
            {
                byte[] valueOrDefault2 = this.mailboxSession.Mailbox.GetValueOrDefault <byte[]>(MailboxSchema.GroupMailboxGeneratedPhotoSignature, null);
                byte[] photoSignature  = GroupMailboxDefaultPhotoUploader.GetPhotoSignature(array);
                if (valueOrDefault2 != null && photoSignature.SequenceEqual(valueOrDefault2))
                {
                    flag = true;
                }
            }
            if (flag)
            {
                this.UploadAndUpdateVersion(1);
                return;
            }
            this.mailboxSession.Mailbox[MailboxSchema.GroupMailboxGeneratedPhotoVersion] = int.MaxValue;
            this.mailboxSession.Mailbox.Save();
            this.mailboxSession.Mailbox.Load();
        }
コード例 #2
0
 private void UploadPhoto()
 {
     try
     {
         if (GroupMailboxDefaultPhotoUploader.IsFlightEnabled(this.mailboxSession))
         {
             GrayException.MapAndReportGrayExceptions(delegate()
             {
                 GroupMailboxDefaultPhotoUploader groupMailboxDefaultPhotoUploader = new GroupMailboxDefaultPhotoUploader(this.adSession, this.mailboxSession, this.group);
                 this.group.ThumbnailPhoto = groupMailboxDefaultPhotoUploader.Upload();
             }, (Exception e) => GrayException.IsSystemGrayException(e));
         }
     }
     catch (LocalizedException arg)
     {
         this.TraceAndReportWarning(new LocalizedString(string.Format("Unable to upload photo for group {0} Error {1}", this.group.PrimarySmtpAddress, arg)));
     }
 }
コード例 #3
0
 private byte[] UploadAndUpdateVersion(int version)
 {
     this.InternalUploadPhoto();
     byte[] array = this.ReadGroupMailboxPhoto();
     this.mailboxSession.Mailbox[MailboxSchema.GroupMailboxGeneratedPhotoSignature] = GroupMailboxDefaultPhotoUploader.GetPhotoSignature(array);
     this.mailboxSession.Mailbox[MailboxSchema.GroupMailboxGeneratedPhotoVersion]   = version;
     return(array);
 }