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_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); }
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()); }
private static void executeOperationWithFormValues(IContainerOwner containerOwner, string operationName, NameValueCollection form, HttpFileCollection fileContent) { var filterFields = new string[] { "ExecuteOperation", "ObjectDomainName", "ObjectName", "ObjectID" }; switch (operationName) { case "CreateInformationInput": { CreateInformationInputParameters parameters = new CreateInformationInputParameters { InputDescription = form["InputDescription"], LocationURL = form["LocationURL"], Owner = containerOwner }; var createdInformationInput = CreateInformationInput.Execute(parameters); var owningAccount = containerOwner as TBAccount; TBCollaboratingGroup owningGroup = null; if (owningAccount == null) { TBRGroupRoot groupRoot = TBRGroupRoot.RetrieveFromDefaultLocation(containerOwner.LocationPrefix); owningGroup = groupRoot.Group; } CreateAndSendEmailValidationForInformationInputConfirmationParameters emailParameters = new CreateAndSendEmailValidationForInformationInputConfirmationParameters { OwningAccount = owningAccount, OwningGroup = owningGroup, InformationInput = createdInformationInput.InformationInput, }; CreateAndSendEmailValidationForInformationInputConfirmation.Execute(emailParameters); break; } case "CreateSpecifiedInformationObjectWithValues": { CreateSpecifiedInformationObjectWithValuesParameters parameters = new CreateSpecifiedInformationObjectWithValuesParameters { Owner = containerOwner, ObjectDomainName = form["ObjectDomainName"], ObjectName = form["ObjectName"], HttpFormData = filterForm(form, filterFields), HttpFileData = fileContent, }; CreateSpecifiedInformationObjectWithValues.Execute(parameters); break; } case "DeleteSpecifiedInformationObject": { DeleteSpecifiedInformationObjectParameters parameters = new DeleteSpecifiedInformationObjectParameters { Owner = containerOwner, ObjectDomainName = form["ObjectDomainName"], ObjectName = form["ObjectName"], ObjectID = form["ObjectID"], }; DeleteSpecifiedInformationObject.Execute(parameters); break; } case "SetIsFavouriteStatus": { bool isFavourite; bool.TryParse(form["IsFavourite"], out isFavourite); SetFavouriteStatusOfStockCompany.Execute(new SetFavouriteStatusOfStockCompanyParameters { Id = form["Id"], IsFavourite = isFavourite }); break; } case "SetAlarmPrice": { double alarmPrice; double.TryParse(form["AlarmPrice"], out alarmPrice); SetAlarmPriceOfStockCompany.Execute(new SetAlarmPriceOfStockCompanyParameters { Id = form["Id"], AlarmPrice = alarmPrice }); break; } case "AddOrUpdatePortfolio": { AddOrUpdatePortfolio.Execute(new AddOrUpdatePortfolioParameters { Id = form["Id"], Name = form["Name"] }); break; } case "DeletePortfolio": { RemovePortfolio.Execute(new RemovePortfolioParameters { Id = form["Id"] }); break; } case "AddStockCompanyToPortfolio": { AddStockCompanyToPortfolio.Execute(new AddStockCompanyToPortfolioParameters { PortfolioId = form["Id"], StockCompanyId = form["StockCompanyId"] }); break; } case "RemoveStockCompanyFromPortfolio": { RemoveStockCompanyFromPortfolio.Execute(new RemoveStockCompanyFromPortfolioParameters { PortfolioId = form["Id"], StockCompanyId = form["StockCompanyId"] }); break; } default: throw new NotSupportedException("Operation not (yet) supported: " + operationName); } }