public static string[] GetTarget_OwnerEmailAddresses(TBAccount owningAccount, TBCollaboratingGroup owningGroup)
 {
     if (owningAccount != null)
     {
         return owningAccount.Emails.CollectionContent.Select(email => email.EmailAddress).ToArray();
     }
     return owningGroup.Roles.CollectionContent.Where(role => TBCollaboratorRole.HasInitiatorRights(role.Role))
                 .Select(role => role.Email.EmailAddress).ToArray();
 }
Esempio n. 2
0
 public void JoinGroup(TBCollaboratingGroup collaboratingGroup, TBCollaboratorRole role)
 {
     if (this.GroupRoleCollection.CollectionContent.Find(member => member.GroupID == collaboratingGroup.ID) != null)
         return;
     this.GroupRoleCollection.CollectionContent.Add(new TBAccountCollaborationGroup()
                                                        {
                                                            GroupID = collaboratingGroup.ID,
                                                            GroupRole = role.Role,
                                                            RoleStatus = role.RoleStatus
                                                        });
 }
 public static TBEmailValidation GetTarget_EmailValidation(TBAccount owningAccount, TBCollaboratingGroup owningGroup, InformationInput informationInput, string[] ownerEmailAddresses)
 {
     TBEmailValidation emailValidation = new TBEmailValidation();
     emailValidation.InformationInputConfirmation = new TBInformationInputConfirmation();
     if (owningAccount != null && owningGroup != null)
         throw new InvalidDataException("Both owning account and owning group cannot be defined");
     if (owningAccount == null && owningGroup == null)
         throw new InvalidDataException("Both owning account and owning group must not be null");
     if (owningAccount != null)
         emailValidation.InformationInputConfirmation.AccountID = owningAccount.ID;
     if (owningGroup != null)
         emailValidation.InformationInputConfirmation.GroupID = owningGroup.ID;
     emailValidation.InformationInputConfirmation.InformationInputID = informationInput.ID;
     emailValidation.ValidUntil = DateTime.UtcNow.AddMinutes(30);
     emailValidation.Email = ownerEmailAddresses.FirstOrDefault();
     if (emailValidation.Email == null)
         throw new InvalidDataException("Owner must have at least one email address defined");
     return emailValidation;
 }
Esempio n. 4
0
 public static void SendGroupJoinEmail(TBEmailValidation emailValidation, TBCollaboratingGroup collaboratingGroup)
 {
     string urlLink = GetUrlLink(emailValidation.ID);
     string emailMessageFormat = InstanceConfiguration.EmailGroupJoinMessageFormat;
     string message = String.Format(emailMessageFormat, collaboratingGroup.Title, urlLink);
     SendEmail(FromAddress, emailValidation.Email,
         String.Format(InstanceConfiguration.EmailGroupJoinSubjectFormat, collaboratingGroup.Title),
               message);
 }
        public static void SendGroupJoinEmail(TBEmailValidation emailValidation, TBCollaboratingGroup collaboratingGroup)
        {
            string urlLink = GetUrlLink(emailValidation.ID);
            string emailMessageFormat =
                @"You have been invited to join in the collaboration platform by Aalto Global Impact to collaborate in the group: {0}.

            Use the following link to accept the invitation and join the group:
            {1}

            The link is valid for 14 days, after which you need to request new invitation.";
            string message = String.Format(emailMessageFormat, collaboratingGroup.Title, urlLink);
            SendEmail(FromAddress, emailValidation.Email,
                      "Invitation to join collaboration group: " + collaboratingGroup.Title, message);
        }