예제 #1
0
        public virtual string[] GetRecipientAddresses(int tenantId, IDirectRecipient recipient, string senderName)
        {
            if (recipient == null)
            {
                throw new ArgumentNullException("recipient");
            }

            if (TryParseGuid(recipient.ID, out var userID))
            {
                var user = CoreContext.UserManager.GetUsers(tenantId, userID);
                if (user.ID != Constants.LostUser.ID)
                {
                    if (senderName == ASC.Core.Configuration.Constants.NotifyEMailSenderSysName)
                    {
                        return new[] { user.Email }
                    }
                    ;
                    if (senderName == ASC.Core.Configuration.Constants.NotifyMessengerSenderSysName)
                    {
                        return new[] { user.UserName }
                    }
                    ;
                    if (senderName == ASC.Core.Configuration.Constants.NotifyPushSenderSysName)
                    {
                        return new[] { user.UserName }
                    }
                    ;
                }
            }
            return(new string[0]);
        }
예제 #2
0
 public NoticeMessage(IDirectRecipient recipient, INotifyAction action, string objectID)
 {
     if (recipient == null) throw new ArgumentNullException("recipient");
     Recipient = recipient;
     Action = action;
     ObjectID = objectID;
 }
 public bool IsUnsubscribe(IDirectRecipient recipient, INotifyAction action, string objectID)
 {
     if (recipient == null) throw new ArgumentNullException("recipient");
     if (action == null) throw new ArgumentNullException("action");
     
     return subscriptionManager.IsUnsubscribe(sourceID, recipient.ID, action.ID, objectID);
 }        
        public virtual bool IsUnsubscribe(IDirectRecipient recipient, INotifyAction action, string objectID)
        {
            if (action == null) throw new ArgumentNullException("action");
            if (recipient == null) throw new ArgumentNullException("recipient");

            return subscriptionProvider.IsUnsubscribe(recipient, action, objectID);
        }
예제 #5
0
 public NoticeMessage(IDirectRecipient recipient, string subject, string body, string contentType)
 {
     Recipient   = recipient ?? throw new ArgumentNullException("recipient");
     Subject     = subject;
     Body        = body ?? throw new ArgumentNullException("body");
     ContentType = contentType;
 }
예제 #6
0
 public NoticeMessage(IDirectRecipient recipient, INotifyAction action, string objectID, IPattern pattern)
 {
     Recipient   = recipient ?? throw new ArgumentNullException("recipient");
     Action      = action;
     Pattern     = pattern ?? throw new ArgumentNullException("pattern");
     ObjectID    = objectID;
     ContentType = pattern.ContentType;
 }
예제 #7
0
 public NoticeMessage(IDirectRecipient recipient, string subject, string body, string contentType)
 {
     if (recipient == null) throw new ArgumentNullException("recipient");
     if (body == null) throw new ArgumentNullException("body");
     Recipient = recipient;
     Subject = subject;
     Body = body;
     ContentType = contentType;
 }
예제 #8
0
 public NoticeMessage(IDirectRecipient recipient, INotifyAction action, string objectID, IPattern pattern)
 {
     if (recipient == null) throw new ArgumentNullException("recipient");
     if (pattern == null) throw new ArgumentNullException("pattern");
     Recipient = recipient;
     Action = action;
     Pattern = pattern;
     ObjectID = objectID;
     ContentType = pattern.ContentType;
 }
예제 #9
0
 public NoticeMessage(IDirectRecipient recipient, INotifyAction action, string objectID)
 {
     if (recipient == null)
     {
         throw new ArgumentNullException("recipient");
     }
     Recipient = recipient;
     Action    = action;
     ObjectID  = objectID;
 }
예제 #10
0
 public virtual bool IsUnsubscribe(IDirectRecipient recipient, INotifyAction action, string objectID)
 {
     if (action == null)
     {
         throw new ArgumentNullException("action");
     }
     if (recipient == null)
     {
         throw new ArgumentNullException("recipient");
     }
     return(_directSubscriptionProvider.IsUnsubscribe(recipient, action, objectID));
 }
        public bool IsUnsubscribe(IDirectRecipient recipient, INotifyAction action, string objectID)
        {
            if (recipient == null)
            {
                throw new ArgumentNullException("recipient");
            }
            if (action == null)
            {
                throw new ArgumentNullException("action");
            }

            return(subscriptionManager.IsUnsubscribe(sourceID, recipient.ID, action.ID, objectID));
        }
예제 #12
0
 public NoticeMessage(IDirectRecipient recipient, string subject, string body, string contentType)
 {
     if (recipient == null)
     {
         throw new ArgumentNullException("recipient");
     }
     if (body == null)
     {
         throw new ArgumentNullException("body");
     }
     Recipient   = recipient;
     Subject     = subject;
     Body        = body;
     ContentType = contentType;
 }
예제 #13
0
        public virtual string[] GetRecipientAddresses(IDirectRecipient recipient, string senderName)
        {
            if (recipient == null) throw new ArgumentNullException("recipient");

            Guid userID;
            if (TryParseGuid(recipient.ID, out userID))
            {
                var user = CoreContext.UserManager.GetUsers(userID);
                if (user.ID != Constants.LostUser.ID)
                {
                    if (senderName == ASC.Core.Configuration.Constants.NotifyEMailSenderSysName) return new[] { user.Email };
                    if (senderName == ASC.Core.Configuration.Constants.NotifyMessengerSenderSysName) return new[] { user.UserName };
                }
            }
            return new string[0];
        }
예제 #14
0
        /// <summary>
        /// Check if user with this email is activated
        /// </summary>
        /// <param name="recipient"></param>
        /// <returns></returns>
        public IDirectRecipient FilterRecipientAddresses(int tenantId, IDirectRecipient recipient)
        {
            //Check activation
            if (recipient.CheckActivation)
            {
                //It's direct email
                if (recipient.Addresses != null && recipient.Addresses.Any())
                {
                    //Filtering only missing users and users who activated already
                    var filteredAddresses = from address in recipient.Addresses
                                            let user = CoreContext.UserManager.GetUserByEmail(tenantId, address)
                                                       where user.ID == Constants.LostUser.ID || (user.IsActive && (user.Status & EmployeeStatus.Default) == user.Status)
                                                       select address;

                    return(new DirectRecipient(recipient.ID, recipient.Name, filteredAddresses.ToArray(), false));
                }
            }
            return(recipient);
        }
예제 #15
0
 public string[] GetRecipientAddresses(IDirectRecipient recipient, string senderName, string objectID)
 {
     return GetRecipientAddresses(recipient, senderName);
 }
 public bool IsUnsubscribe(IDirectRecipient recipient, INotifyAction action, string objectID)
 {
     return(provider.IsUnsubscribe(recipient, action, objectID));
 }
 public string[] GetRecipientAddresses(IDirectRecipient recipient, string senderName, string objectID)
 {
     return(GetRecipientAddresses(recipient, senderName));
 }
예제 #18
0
 public bool IsUnsubscribe(IDirectRecipient recipient, INotifyAction action, string objectID)
 {
     return provider.IsUnsubscribe(recipient, action, objectID);
 }
예제 #19
0
 internal NoticeMessage CreateMessage(IDirectRecipient recipient)
 {
     return(new NoticeMessage(recipient, NotifyAction, ObjectID));
 }
예제 #20
0
 internal NoticeMessage CreateMessage(IDirectRecipient recipient)
 {
     return new NoticeMessage(recipient, NotifyAction, ObjectID);
 }
예제 #21
0
        /// <summary>
        /// Check if user with this email is activated
        /// </summary>
        /// <param name="recipient"></param>
        /// <returns></returns>
        public IDirectRecipient FilterRecipientAddresses(IDirectRecipient recipient)
        {
            //Check activation
            if (recipient.CheckActivation)
            {
                //It's direct email
                if (recipient.Addresses != null && recipient.Addresses.Any())
                {
                    //Filtering only missing users and users who activated already
                    var filteredAddresses = from address in recipient.Addresses
                                            let user = CoreContext.UserManager.GetUserByEmail(address)
                                            where user.ID == Constants.LostUser.ID || (user.IsActive && (user.Status & EmployeeStatus.Default) == user.Status)
                                            select address;

                    return new DirectRecipient(recipient.ID, recipient.Name, filteredAddresses.ToArray(), false);
                }
            }
            return recipient;
        }