Ejemplo n.º 1
0
 private static void ValidateAccountsEmailAddress(TBAccount account, TBEmailValidation emailValidation)
 {
     if (
         account.Emails.CollectionContent.Exists(
             candidate => candidate.EmailAddress.ToLower() == emailValidation.Email.ToLower()) == false)
         throw new SecurityException("Login account does not contain email address that was target of validation");
 }
        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);
        }
Ejemplo n.º 3
0
        private void HandleAccountEmailValidation(HttpContext context, TBAccount account, TBEmailValidation emailValidation)
        {
            if (account.Emails.CollectionContent.Find(candidate => candidate.EmailAddress.ToLower() == emailValidation.Email.ToLower()) == null)
            {
                TBEmail email = TBEmail.CreateDefault();
                email.EmailAddress = emailValidation.Email;
                email.ValidatedAt = DateTime.Now;
                account.Emails.CollectionContent.Add(email);
                account.StoreAccountToRoot();
                // TODO: Move Emailroot storage to account root syncs
                string emailRootID = TBREmailRoot.GetIDFromEmailAddress(email.EmailAddress);
                TBREmailRoot emailRoot = TBREmailRoot.RetrieveFromDefaultLocation(emailRootID);
                if (emailRoot == null)
                {
                    emailRoot = TBREmailRoot.CreateDefault();
                    emailRoot.ID = emailRootID;
                    emailRoot.UpdateRelativeLocationFromID();
                }
                emailRoot.Account = account;
                StorageSupport.StoreInformation(emailRoot);

                string accountID = account.ID;
                UpdateAccountRootToReferences.Execute(new UpdateAccountRootToReferencesParameters
                                                          {
                                                              AccountID = accountID
                                                          });
                UpdateAccountContainerFromAccountRoot.Execute(new UpdateAccountContainerFromAccountRootParameters
                                                                  {
                                                                      AccountID = accountID
                                                                  });
            }

            if(String.IsNullOrEmpty(emailValidation.RedirectUrlAfterValidation) == false)
                context.Response.Redirect(emailValidation.RedirectUrlAfterValidation, true);
        }
Ejemplo n.º 4
0
 private static void ValidateAccountsEmailAddress(TBAccount account, TBEmailValidation emailValidation)
 {
     if (
         account.Emails.CollectionContent.Exists(
             candidate => candidate.EmailAddress.ToLower() == emailValidation.Email.ToLower()) == false)
     {
         throw new SecurityException("Login account does not contain email address that was target of validation");
     }
 }
 public static TBEmailValidation GetTarget_EmailValidation(string memberEmailAddress, string groupID)
 {
     TBEmailValidation emailValidation = new TBEmailValidation();
     emailValidation.Email = memberEmailAddress;
     emailValidation.ValidUntil = DateTime.UtcNow.AddDays(14); // Two weeks to accept the group join
     emailValidation.GroupJoinConfirmation = new TBGroupJoinConfirmation
     {
         GroupID = groupID
     };
     return emailValidation;
 }
        public static TBEmailValidation GetTarget_EmailValidation(string memberEmailAddress, string groupID)
        {
            TBEmailValidation emailValidation = new TBEmailValidation();

            emailValidation.Email                 = memberEmailAddress;
            emailValidation.ValidUntil            = DateTime.UtcNow.AddDays(14); // Two weeks to accept the group join
            emailValidation.GroupJoinConfirmation = new TBGroupJoinConfirmation
            {
                GroupID = groupID
            };
            return(emailValidation);
        }
Ejemplo n.º 7
0
 public static void SendDeviceJoinEmail(TBEmailValidation emailValidation, DeviceMembership deviceMembership, string[] ownerEmailAddresses)
 {
     string urlLink = GetUrlLink(emailValidation.ID);
     bool isAccount = emailValidation.DeviceJoinConfirmation.AccountID != null;
     string ownerID = isAccount
                          ? emailValidation.DeviceJoinConfirmation.AccountID
                          : emailValidation.DeviceJoinConfirmation.GroupID;
     string emailMessageFormat = InstanceConfiguration.EmailDeviceJoinMessageFormat;
     string message = String.Format(emailMessageFormat, deviceMembership.DeviceDescription,
                                    isAccount ? "account" : "collaboration group", ownerID, urlLink);
     string subject = String.Format(InstanceConfiguration.EmailDeviceJoinSubjectFormat, ownerID);
     foreach (string emailAddress in ownerEmailAddresses)
     {
         SendEmail(FromAddress, emailAddress, subject, message);
     }
 }
Ejemplo n.º 8
0
        public static void Execute(InviteMemberToGroupParameters parameters)
        {
            PrepareParameters(parameters);
            TBRGroupRoot      GroupRoot       = InviteMemberToGroupImplementation.GetTarget_GroupRoot(parameters.GroupID);
            TBEmailValidation EmailValidation = InviteMemberToGroupImplementation.GetTarget_EmailValidation(parameters.MemberEmailAddress, parameters.GroupID);
            string            AccountID       = InviteMemberToGroupImplementation.GetTarget_AccountID(parameters.MemberEmailAddress);

            InviteMemberToGroupImplementation.ExecuteMethod_AddAsPendingInvitationToGroupRoot(parameters.MemberEmailAddress, GroupRoot);
            InviteMemberToGroupImplementation.ExecuteMethod_StoreObjects(GroupRoot, EmailValidation);
            InviteMemberToGroupImplementation.ExecuteMethod_SendEmailConfirmation(EmailValidation, GroupRoot);

            {     // Local block to allow local naming
                RefreshAccountGroupMembershipsParameters operationParameters = InviteMemberToGroupImplementation.RefreshAccountAndGroupContainers_GetParameters(GroupRoot, AccountID);
                RefreshAccountGroupMemberships.Execute(operationParameters);
            }     // Local block closing
        }
Ejemplo n.º 9
0
        public static void SendGroupJoinEmail(TBEmailValidation emailValidation, TBCollaboratingGroup collaboratingGroup)
        {
            string urlLink = GetUrlLink(emailValidation.ID);

            QueueSupport.ReportStatistics("Group Email sent! Link: " + urlLink, TimeSpan.FromDays(1));
//            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);
        }
 public static TBEmailValidation GetTarget_MergeAccountEmailConfirmation(string currentAccountId, string emailAddress, string redirectUrlAfterValidation, string accountToMergeToId)
 {
     if (currentAccountId == accountToMergeToId)
         return null;
     TBEmailValidation emailValidation = new TBEmailValidation
         {
             AccountID = currentAccountId,
             Email = emailAddress,
             ValidUntil = DateTime.UtcNow.AddMinutes(5),
             MergeAccountsConfirmation = new TBMergeAccountConfirmation
                 {
                     AccountToBeMergedID = currentAccountId,
                     AccountToMergeToID = accountToMergeToId
                 },
             RedirectUrlAfterValidation = redirectUrlAfterValidation
         };
     return emailValidation;
 }
 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;
 }
Ejemplo n.º 12
0
        private void AddAccountEmailAddressHandling()
        {
            string       emailRootID = TBREmailRoot.GetIDFromEmailAddress(EmailAddress);
            TBREmailRoot emailRoot   = TBREmailRoot.RetrieveFromDefaultLocation(emailRootID);

            if (emailRoot != null)
            {
                throw new InvalidDataException("Email address '" + EmailAddress + "' is already registered to the system.");
            }
            string            accountID       = StorageSupport.GetAccountIDFromLocation(this.RelativeLocation);
            VirtualOwner      owner           = VirtualOwner.FigureOwner(this);
            TBEmailValidation emailValidation = new TBEmailValidation();

            emailValidation.AccountID  = accountID;
            emailValidation.Email      = this.EmailAddress;
            emailValidation.ValidUntil = DateTime.UtcNow.AddMinutes(30);
            StorageSupport.StoreInformation(emailValidation);
            EmailSupport.SendValidationEmail(emailValidation);
        }
Ejemplo n.º 13
0
        public static void SendValidationEmail(TBEmailValidation emailValidation)
        {
            string urlLink = GetUrlLink(emailValidation.ID);

            QueueSupport.ReportStatistics("Email sent! Link: " + urlLink, TimeSpan.FromDays(1));
//            string emailMessageFormat =
//                @"Welcome to The Open Innovation Platform!
//
//
//You have just joined the collaboration platform by Aalto Global Impact. Your email address '{0}' has been registered on the OIP system. Before you start your collaboration we simply need to confirm that you did register your email. Please follow the link below during which you might be redirected to perform the authentication on OIP.
//
//
//Use the following link to complete your registration (the link is valid for 30 minutes after which you need to resend the validation):
//{1}
//
//
//Wishing you all the best from OIP team!";
//            string message = string.Format(emailMessageFormat, emailValidation.Email, urlLink);
//            SendEmail(FromAddress, emailValidation.Email, "Welcome to The Open Innovation Platform!", message);
        }
Ejemplo n.º 14
0
        public static void SendInputJoinEmail(TBEmailValidation emailValidation, InformationInput informationInput, string[] ownerEmailAddresses)
        {
            string urlLink = GetUrlLink(emailValidation.ID);

            QueueSupport.ReportStatistics("Input Join Email sent! Link: " + urlLink, TimeSpan.FromDays(1));
//      bool isAccount = emailValidation.InformationInputConfirmation.AccountID != null;
//      string ownerID = isAccount
//                           ? emailValidation.InformationInputConfirmation.AccountID
//                           : emailValidation.InformationInputConfirmation.GroupID;
//      string emailMessageFormat =
//          @"Your confirmation is required to allow the following information source '{0}' to be fetched within {1} ID {2}.
//
//
//Click the following link to confirm this action:
//{3}";
//      string message = String.Format(emailMessageFormat, informationInput.Description,
//                                     isAccount ? "account" : "collaboration group", ownerID, urlLink);
//      foreach (string emailAddress in ownerEmailAddresses)
//      {
//        SendEmail(FromAddress, emailAddress, "Information Input Confirmation", message);
//      }
        }
Ejemplo n.º 15
0
        private void HandleEmailValidation(HttpContext context)
        {
            string            loginUrl          = WebSupport.GetLoginUrl(context);
            TBRLoginRoot      loginRoot         = TBRLoginRoot.GetOrCreateLoginRootWithAccount(loginUrl, false);
            string            requestPath       = context.Request.Path;
            string            emailValidationID = requestPath.Substring(AuthEmailValidationLen);
            TBAccount         account           = loginRoot.Account;
            TBEmailValidation emailValidation   = TBEmailValidation.RetrieveFromDefaultLocation(emailValidationID);

            if (emailValidation == null)
            {
                RespondEmailValidationRecordNotExist(context);
                return;
            }
            StorageSupport.DeleteInformationObject(emailValidation);
            if (emailValidation.ValidUntil < DateTime.UtcNow)
            {
                RespondEmailValidationExpired(context, emailValidation);
                return;
            }
            if (emailValidation.GroupJoinConfirmation != null)
            {
                HandleGroupJoinConfirmation(context, account, emailValidation);
            }
            else if (emailValidation.DeviceJoinConfirmation != null)
            {
                HandleDeviceJoinConfirmation(context, account, emailValidation);
            }
            else if (emailValidation.InformationInputConfirmation != null)
            {
                HandleInputJoinConfirmation(context, account, emailValidation);
            }
            else
            {
                HandleAccountEmailValidation(context, account, emailValidation);
            }
        }
 public static void ExecuteMethod_SendEmailConfirmation(InformationInput informationInput, TBEmailValidation emailValidation, string[] ownerEmailAddresses)
 {
     EmailSupport.SendInputJoinEmail(emailValidation, informationInput, ownerEmailAddresses);
 }
Ejemplo n.º 17
0
 public static void ExecuteMethod_SendEmailConfirmation(DeviceMembership deviceMembership, TBEmailValidation emailValidation, string[] ownerEmailAddresses)
 {
     EmailSupport.SendDeviceJoinEmail(emailValidation, deviceMembership, ownerEmailAddresses);
 }
 public static void ExecuteMethod_StoreObject(TBEmailValidation emailValidation)
 {
     emailValidation.StoreInformation();
 }
 public static void ExecuteMethod_SendEmailConfirmation(TBEmailValidation emailValidation, TBRGroupRoot groupRoot)
 {
     EmailSupport.SendGroupJoinEmail(emailValidation, groupRoot.Group);
 }
Ejemplo n.º 20
0
        private void HandleAccountEmailValidation(HttpContext context, TBAccount account, TBEmailValidation emailValidation)
        {
            if (account.Emails.CollectionContent.Find(candidate => candidate.EmailAddress.ToLower() == emailValidation.Email.ToLower()) == null)
            {
                TBEmail email = TBEmail.CreateDefault();
                email.EmailAddress = emailValidation.Email;
                email.ValidatedAt  = DateTime.Now;
                account.Emails.CollectionContent.Add(email);
                account.StoreAccountToRoot();
                // TODO: Move Emailroot storage to account root syncs
                string       emailRootID = TBREmailRoot.GetIDFromEmailAddress(email.EmailAddress);
                TBREmailRoot emailRoot   = TBREmailRoot.RetrieveFromDefaultLocation(emailRootID);
                if (emailRoot == null)
                {
                    emailRoot    = TBREmailRoot.CreateDefault();
                    emailRoot.ID = emailRootID;
                    emailRoot.UpdateRelativeLocationFromID();
                }
                emailRoot.Account = account;
                StorageSupport.StoreInformation(emailRoot);

                string accountID = account.ID;
                UpdateAccountRootToReferences.Execute(new UpdateAccountRootToReferencesParameters
                {
                    AccountID = accountID
                });
                UpdateAccountContainerFromAccountRoot.Execute(new UpdateAccountContainerFromAccountRootParameters
                {
                    AccountID = accountID
                });
            }

            context.Response.Redirect("/auth/account/website/oip-account/oip-layout-account-welcome.phtml", true);
        }
 public static void ExecuteMethod_StoreObject(TBEmailValidation mergeAccountEmailConfirmation)
 {
     if(mergeAccountEmailConfirmation != null)
         mergeAccountEmailConfirmation.StoreInformation();
 }
 private void RespondEmailValidationExpired(HttpContext context, TBEmailValidation emailValidation)
 {
     context.Response.Write("Error to be replaced: email validation expired at: " + emailValidation.ValidUntil.ToString());
 }
 private void HandleGroupJoinConfirmation(HttpContext context, TBAccount account, TBEmailValidation emailValidation)
 {
     if (account.Emails.CollectionContent.Exists(candidate => candidate.EmailAddress.ToLower() == emailValidation.Email.ToLower()) == false)
         throw new SecurityException("Login account does not contain email address that was target of validation");
     string groupID = emailValidation.GroupJoinConfirmation.GroupID;
     ConfirmInviteToJoinGroup.Execute(new ConfirmInviteToJoinGroupParameters
                                          {GroupID = groupID, MemberEmailAddress = emailValidation.Email});
     context.Response.Redirect("/auth/grp/" + groupID + "/website/oip-group/oip-layout-groups-edit.phtml");
 }
Ejemplo n.º 24
0
 private void HandleGroupJoinConfirmation(HttpContext context, TBAccount account, TBEmailValidation emailValidation)
 {
     ValidateAccountsEmailAddress(account, emailValidation);
     string groupID = emailValidation.GroupJoinConfirmation.GroupID;
     ConfirmInviteToJoinGroup.Execute(new ConfirmInviteToJoinGroupParameters
                                          {GroupID = groupID, MemberEmailAddress = emailValidation.Email});
     context.Response.Redirect("/auth/grp/" + groupID + "/");
 }
 public static void ExecuteMethod_SendEmailConfirmation(TBEmailValidation emailValidation, TBRGroupRoot groupRoot)
 {
     EmailSupport.SendGroupJoinEmail(emailValidation, groupRoot.Group);
 }
Ejemplo n.º 26
0
 private void HandleAccountMergeConfirmation(HttpContext context, TBAccount account, TBEmailValidation emailValidation)
 {
     ConfirmAccountMergeFromEmail.Execute(new ConfirmAccountMergeFromEmailParameters
         {
             CurrentAccountID = account.ID,
             EmailConfirmation = emailValidation
         });
     string redirectUrl = emailValidation.RedirectUrlAfterValidation ?? "/auth/account/";
     context.Response.Redirect(redirectUrl, true);
 }
 public static TBMergeAccountConfirmation GetTarget_MergeAccountConfirmation(TBEmailValidation emailConfirmation)
 {
     return emailConfirmation.MergeAccountsConfirmation;
 }
 public static void ExecuteMethod_SendEmailConfirmation(InformationInput informationInput, TBEmailValidation emailValidation, string[] ownerEmailAddresses)
 {
     EmailSupport.SendInputJoinEmail(emailValidation, informationInput, ownerEmailAddresses);
 }
 public static void ExecuteMethod_StoreObject(TBEmailValidation emailValidation)
 {
     emailValidation.StoreInformation();
 }
Ejemplo n.º 30
0
        public static void SendValidationEmail(TBEmailValidation emailValidation)
        {
            string urlLink = GetUrlLink(emailValidation.ID);
            string emailMessageFormat =
                @"Welcome to The Open Innovation Platform!

            You have just joined the collaboration platform by Aalto Global Impact. Your email address '{0}' has been registered on the OIP system. Before you start your collaboration we simply need to confirm that you did register your email. Please follow the link below during which you might be redirected to perform the authentication on OIP.

            Use the following link to complete your registration (the link is valid for 30 minutes after which you need to resend the validation):
            {1}

            Wishing you all the best from OIP team!";
            string message = string.Format(emailMessageFormat, emailValidation.Email, urlLink);
            SendEmail(FromAddress, emailValidation.Email, "Welcome to The Open Innovation Platform!", message);
        }
Ejemplo n.º 31
0
        private void HandleInputJoinConfirmation(HttpContext context, TBAccount account, TBEmailValidation emailValidation)
        {
            ValidateAccountsEmailAddress(account, emailValidation);
            VirtualOwner owner;
            var          inputJoinInfo = emailValidation.InformationInputConfirmation;
            string       redirectUrl;

            if (String.IsNullOrEmpty(inputJoinInfo.AccountID) == false)
            {
                owner       = VirtualOwner.FigureOwner("acc/" + inputJoinInfo.AccountID);
                redirectUrl = "/auth/account/website/oip-account/oip-layout-account-welcome.phtml";
            }
            else
            {
                string groupID = inputJoinInfo.GroupID;
                owner       = VirtualOwner.FigureOwner("grp/" + groupID);
                redirectUrl = "/auth/grp/" + groupID + "/website/oip-group/oip-layout-groups-edit.phtml";
            }
            SetInformationInputValidationAndActiveStatus.Execute(
                new SetInformationInputValidationAndActiveStatusParameters
            {
                Owner = owner,
                InformationInputID = inputJoinInfo.InformationInputID,
                IsValidAndActive   = true
            });
            context.Response.Redirect(redirectUrl, true);
        }
Ejemplo n.º 32
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 ExecuteMethod_SendConfirmationEmail(TBEmailValidation mergeAccountEmailConfirmation)
 {
     if(mergeAccountEmailConfirmation != null)
         EmailSupport.SendMergeAccountsConfirmationEmail(mergeAccountEmailConfirmation);
 }
Ejemplo n.º 34
0
 public static void SendOutputJoinEmail(TBEmailValidation emailValidation, InformationOutput informationOutput, string[] ownerEmailAddresses)
 {
     string urlLink = GetUrlLink(emailValidation.ID);
     var confirmation = emailValidation.InformationOutputConfirmation;
     bool isAccount = confirmation.AccountID != null;
     string ownerID = isAccount
                          ? confirmation.AccountID
                          : confirmation.GroupID;
     string emailMessageFormat = InstanceConfiguration.EmailOutputJoinMessageFormat;
     string message = String.Format(emailMessageFormat, informationOutput.OutputDescription,
                                    isAccount ? "account" : "collaboration group", ownerID, urlLink);
     string subject = String.Format(InstanceConfiguration.EmailOutputJoinSubjectFormat, ownerID);
     foreach (string emailAddress in ownerEmailAddresses)
     {
         SendEmail(FromAddress, emailAddress, subject, message);
     }
 }
Ejemplo n.º 35
0
 private void RespondEmailValidationExpired(HttpContext context, TBEmailValidation emailValidation)
 {
     context.Response.Write("Error to be replaced: email validation expired at: " + emailValidation.ValidUntil.ToString());
 }
Ejemplo n.º 36
0
 public static void SendValidationEmail(TBEmailValidation emailValidation)
 {
     string urlLink = GetUrlLink(emailValidation.ID);
     string emailMessageFormat = InstanceConfiguration.EmailValidationMessageFormat;
     #if never
     #endif
     string message = string.Format(emailMessageFormat, emailValidation.Email, urlLink);
     SendEmail(FromAddress, emailValidation.Email, InstanceConfiguration.EmailValidationSubjectFormat, message);
 }
 public static void ExecuteMethod_StoreObjects(TBRGroupRoot groupRoot, TBEmailValidation emailValidation)
 {
     groupRoot.StoreInformation();
     emailValidation.StoreInformation();
 }
Ejemplo n.º 38
0
        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);
        }
Ejemplo n.º 39
0
 private void HandleOutputJoinConfirmation(HttpContext context, TBAccount account, TBEmailValidation emailValidation)
 {
     ValidateAccountsEmailAddress(account, emailValidation);
     VirtualOwner owner;
     var outputJoinInfo = emailValidation.InformationOutputConfirmation;
     string redirectUrl;
     if (String.IsNullOrEmpty(outputJoinInfo.AccountID) == false)
     {
         owner = VirtualOwner.FigureOwner("acc/" + outputJoinInfo.AccountID);
         redirectUrl = "/auth/account/";
     }
     else
     {
         string groupID = outputJoinInfo.GroupID;
         owner = VirtualOwner.FigureOwner("grp/" + groupID);
         redirectUrl = "/auth/grp/" + groupID + "/";
     }
     SetInformationOutputValidationAndActiveStatus.Execute(
         new SetInformationOutputValidationAndActiveStatusParameters
         {
             Owner = owner,
             InformationOutputID = outputJoinInfo.InformationOutputID,
             IsValidAndActive = true
         });
     context.Response.Redirect(redirectUrl, true);
 }
 public static void ExecuteMethod_StoreObjects(TBRGroupRoot groupRoot, TBEmailValidation emailValidation)
 {
     groupRoot.StoreInformation();
     emailValidation.StoreInformation();
 }
Ejemplo n.º 41
0
 private void RespondEmailValidationExpired(HttpContext context, TBEmailValidation emailValidation)
 {
     context.Response.Redirect("/auth/account/", true);
     //context.Response.Write("Error to be replaced: email validation expired at: " + emailValidation.ValidUntil.ToString());
 }
Ejemplo n.º 42
0
        private void HandleGroupJoinConfirmation(HttpContext context, TBAccount account, TBEmailValidation emailValidation)
        {
            ValidateAccountsEmailAddress(account, emailValidation);
            string groupID = emailValidation.GroupJoinConfirmation.GroupID;

            ConfirmInviteToJoinGroup.Execute(new ConfirmInviteToJoinGroupParameters
            {
                GroupID = groupID, MemberEmailAddress = emailValidation.Email
            });
            context.Response.Redirect("/auth/grp/" + groupID + "/website/oip-group/oip-layout-groups-edit.phtml");
        }