public Fr8AccountDO GetOrCreateUser(EmailAddressDO emailAddressDO, string userRole = Roles.StandardUser, OrganizationDO organizationDO = null) { var matchingUser = UnitOfWork.UserRepository.DBSet.Local.FirstOrDefault(u => u.EmailAddress.Address == emailAddressDO.Address); if (matchingUser == null) { matchingUser = UnitOfWork.UserRepository.GetQuery().FirstOrDefault(u => u.EmailAddress.Address == emailAddressDO.Address); } if (matchingUser == null) { matchingUser = new Fr8AccountDO { EmailAddress = emailAddressDO, UserName = emailAddressDO.Address, FirstName = emailAddressDO.Name, SecurityStamp = Guid.NewGuid().ToString(), Organization = organizationDO, State = UserState.Active }; UnitOfWork.UserRepository.Add(matchingUser); if (!userRole.Equals(Roles.Guest)) { // Assign StandardUser role only if creation of Guest user is not intended UnitOfWork.AspNetUserRolesRepository.AssignRoleToUser(Roles.StandardUser, matchingUser.Id); } } return(matchingUser); }
public static EmailAddressDO TestEmailAddress6() { var emailAddressDO = new EmailAddressDO("*****@*****.**"); emailAddressDO.Id = 6; return(emailAddressDO); }
// EmailAddress is valid then send mail . // return "success" or error public async Task <ActionResult> ProcessSubmittedEmail(string name, string emailId, string message) { string result = ""; try { EmailAddressDO emailAddressDO = new EmailAddressDO(emailId); RegexUtilities.ValidateEmailAddress(_configRepository, emailAddressDO.Address); using (IUnitOfWork uow = ObjectFactory.GetInstance <IUnitOfWork>()) { _emailAddress.ConvertFromMailAddress(uow, new MailAddress(emailId, name)); string toRecipient = _configRepository.Get("CustomerSupportEmail"); string fromAddress = emailId; string subject = "Customer query"; await _email.SendAsync(uow, subject, message, fromAddress, toRecipient); uow.SaveChanges(); } result = "success"; } catch (ValidationException ex) { result = "You need to provide a valid Email Address."; Logger.GetLogger().Warn("Invalid email provided: " + emailId); } catch (Exception ex) { result = "Something went wrong with our effort to send this message. Sorry! Please try emailing your message directly to [email protected]"; Logger.GetLogger().Error($"Error processing a home page email form submission. Name = {name}; EmailId = {emailId}; Exception = {ex}"); } return(Content(result)); }
// EmailAddress is valid then send mail . // return "success" or error public ActionResult ProcessSubmittedEmail(string name, string emailId, string message) { string result = ""; try { EmailAddressDO emailAddressDO = new EmailAddressDO(emailId); RegexUtilities.ValidateEmailAddress(emailAddressDO.Address); using (IUnitOfWork uow = ObjectFactory.GetInstance <IUnitOfWork>()) { _emailAddress.ConvertFromMailAddress(uow, new MailAddress(emailId, name)); string toRecipient = "*****@*****.**"; string fromAddress = emailId; // EmailDO emailDO = email.GenerateBasicMessage(emailAddressDO, message); string subject = "Customer query"; _email.Send(uow, subject, message, fromAddress, toRecipient); //uow.EnvelopeRepository.ConfigurePlainEmail(emailDO); uow.SaveChanges(); } result = "success"; } catch (ValidationException) { result = "You need to provide a valid Email Address."; } catch (System.Exception ex) { result = "Something went wrong with our effort to send this message. Sorry! Please try emailing your message directly to [email protected]"; Logger.GetLogger().Error("Error processing a home page email form submission.", ex); } return(Content(result)); }
//public void Create(IUnitOfWork uow, UserDO submittedUserData, string role, bool sendEmail) //{ // if (sendEmail) // { // new Email().SendUserSettingsNotification(uow, submittedUserData); // } // new Account().Register(uow, submittedUserData.EmailAddress.Address, submittedUserData.FirstName, submittedUserData.LastName, "test@1234", role); //} //if we have a first name and last name, use them together //else if we have a first name only, use that //else if we have just an email address, use the portion preceding the @ unless there's a name //else throw public string GetDisplayName(Fr8AccountDO curDockyardAccount) { string firstName = curDockyardAccount.FirstName; string lastName = curDockyardAccount.LastName; if (firstName != null) { if (lastName == null) { return(firstName); } return(firstName + " " + lastName); } EmailAddressDO curEmailAddress = curDockyardAccount.EmailAddress; if (curEmailAddress.Name != null) { return(curEmailAddress.Name); } RegexUtilities.ValidateEmailAddress(_configRepository, curEmailAddress.Address); return(curEmailAddress.Address.Split(new[] { '@' })[0]); }
public static EmailAddressDO TestEmailAddress7() { var emailAddressDO = new EmailAddressDO("*****@*****.**"); emailAddressDO.Id = 7; return(emailAddressDO); }
public static EmailAddressDO TestEmailAddress8() { var emailAddressDO = new EmailAddressDO("*****@*****.**"); emailAddressDO.Id = 8; return(emailAddressDO); }
public static EmailAddressDO TestEmailAddress5() { var emailAddressDO = new EmailAddressDO("*****@*****.**"); emailAddressDO.Id = 5; return(emailAddressDO); }
public static EmailAddressDO TestEmailAddress4() { var emailAddressDO = new EmailAddressDO("*****@*****.**"); emailAddressDO.Id = 4; return(emailAddressDO); }
public static EmailAddressDO TestEmailAddress3() { var emailAddressDO = new EmailAddressDO("*****@*****.**"); emailAddressDO.Id = 3; return(emailAddressDO); }
public static EmailAddressDO TestEmailAddress2() { var emailAddressDO = new EmailAddressDO("*****@*****.**"); emailAddressDO.Id = 2; return(emailAddressDO); }
public static EmailAddressDO TestEmailAddress1() { var emailAddressDO = new EmailAddressDO("*****@*****.**"); emailAddressDO.Id = 1; emailAddressDO.Name = "Alex"; return(emailAddressDO); }
private Fr8AccountDO CreateAndAddUserDO() { using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { var emailAddress = new EmailAddressDO { Address = "*****@*****.**", Name = "Test Tester" }; var userDO = uow.UserRepository.GetOrCreateUser(emailAddress); uow.SaveChanges(); return(userDO); } }
/// <summary> /// Register Guest account /// </summary> /// <param name="email"></param> /// <param name="password"></param> /// <param name="tempEmail"></param> /// <param name="organizationDO">Name of organization where the user belongs to</param> /// <returns></returns> public Task <RegistrationStatus> UpdateGuestUserRegistration(IUnitOfWork uow, string email, string password, string tempEmail, OrganizationDO organizationDO = null) { RegistrationStatus curRegStatus = RegistrationStatus.Successful; Fr8AccountDO newDockyardAccountDO = null; EmailAddressDO existingEmailAddressDO = uow.EmailAddressRepository.GetQuery().FirstOrDefault(ea => ea.Address == email); if (existingEmailAddressDO != null) { curRegStatus = RegistrationStatus.UserMustLogIn; return(Task.FromResult(curRegStatus)); } //check if we know this email address EmailAddressDO guestUserexistingEmailAddressDO = uow.EmailAddressRepository.GetQuery().FirstOrDefault(ea => ea.Address == tempEmail); if (guestUserexistingEmailAddressDO != null) { var existingUserDO = uow.UserRepository.GetQuery().FirstOrDefault(u => u.EmailAddressID == guestUserexistingEmailAddressDO.Id); // Update Email uow.UserRepository.UpdateUserCredentials(existingUserDO, email, password); // update organization if (organizationDO != null) { existingUserDO.Organization = organizationDO; } guestUserexistingEmailAddressDO.Address = email; uow.AspNetUserRolesRepository.RevokeRoleFromUser(Roles.Guest, existingUserDO.Id); // Add new role uow.AspNetUserRolesRepository.AssignRoleToUser(Roles.StandardUser, existingUserDO.Id); } uow.SaveChanges(); return(Task.FromResult(curRegStatus)); }
public EmailAddressDO ConvertFromString(string emailString, IUnitOfWork uow) { String email = string.Empty; String name = string.Empty; emailString = emailString.Replace("\"", string.Empty); if (emailString.Contains("<")) { string[] parts = emailString.Split('<'); name = parts[0]; email = parts[1]; email = email.Replace(">", string.Empty); } else { email = emailString; } EmailAddressDO convertAddresFromString = uow.EmailAddressRepository.GetOrCreateEmailAddress(email, name); return(convertAddresFromString); }
public ActionResult ValidateEmailAddress(string emailString) { try { using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { EmailAddressDO emailAddressDO = _emailAddress.ConvertFromString(emailString, uow); if (!(RegexUtilities.IsValidEmailAddress(_configRepository, emailAddressDO.Address))) { return(Json("Invalid email format")); } else { return(Json(true)); } } } catch (Exception ex) { return(Json(ex.Message)); } }
/// <summary> /// Register account /// </summary> /// <param name="uow"></param> /// <param name="email"></param> /// <param name="password"></param> /// <param name="organizationDO">organization where the user belongs</param> /// <param name="isNewOrganization">In case of new created organization, make user admin of that organization</param> /// <param name="anonimousId"></param> /// <returns></returns> public RegistrationStatus ProcessRegistrationRequest(IUnitOfWork uow, string email, string password, OrganizationDO organizationDO, bool isNewOrganization, string anonimousId) { RegistrationStatus curRegStatus; Fr8AccountDO newFr8Account = null; //check if we know this email address EmailAddressDO existingEmailAddressDO = uow.EmailAddressRepository.GetQuery().FirstOrDefault(ea => ea.Address == email); if (existingEmailAddressDO != null) { var existingUserDO = uow.UserRepository.GetQuery().FirstOrDefault(u => u.EmailAddressID == existingEmailAddressDO.Id); if (existingUserDO != null) { if (existingUserDO.PasswordHash == null) { //this is an existing implicit user, who sent in a request in the past, had a DockyardAccountDO created, and now is registering. Add the password UpdatePassword(uow, existingUserDO, password); existingUserDO.Organization = organizationDO; curRegStatus = RegistrationStatus.Successful; } else { //tell 'em to login curRegStatus = RegistrationStatus.UserMustLogIn; } } else { newFr8Account = Register(uow, email, email, email, password, Roles.StandardUser, organizationDO); curRegStatus = RegistrationStatus.Successful; } } else { newFr8Account = Register(uow, email, email, email, password, Roles.StandardUser, organizationDO); curRegStatus = RegistrationStatus.Successful; } if (newFr8Account != null) { if (organizationDO != null) { AssingRolesAndProfilesBasedOnOrganization(uow, newFr8Account, organizationDO.Name, isNewOrganization); } else { AssignProfileToUser(uow, newFr8Account, DefaultProfiles.StandardUser); } } uow.SaveChanges(); if (newFr8Account != null) { EventManager.UserRegistration(newFr8Account); ObjectFactory.GetInstance <ITracker>().Registered(anonimousId, newFr8Account); } return(curRegStatus); }
public Fr8AccountDO UpdateUserCredentials(EmailAddressDO emailAddressDO, String userName = null, String password = null) { return(UpdateUserCredentials(UnitOfWork.UserRepository.GetOrCreateUser(emailAddressDO), userName, password)); }