Beispiel #1
0
        public IRegisterUserResult Register(INewUser newUser)
        {
            var company = UserCompanyContext.Company;

            if (company == null && !string.IsNullOrEmpty(newUser.MasterId))
            {
                var errors        = new List <string>();
                var masterCompany = FindCompanyByMasterId.Find(newUser.MasterId, newUser.MasterPassword);

                if (masterCompany == null)
                {
                    errors.Add(CompanyRegisterUserError.MasterIdInvalid.ToString());
                }
                else if (masterCompany.IsExpired)
                {
                    errors.Add(CompanyRegisterUserError.MasterIdExpired.ToString());
                }

                if (errors.Any())
                {
                    return(CreateResult(false, errors));
                }

                company = masterCompany;
            }

            if (company != null && !AllowedCompanyTypes.Types.Contains(company.Type))
            {
                company = null;
            }

            return(RegisterCompanyUser.Register(newUser, company));
        }
        public IEmail Create(INewUser newUser)
        {
            if (newUser == null)
            {
                return(null);
            }

            var email = EmailFactory.Create();

            if (email == null)
            {
                return(null);
            }

            var siteRoot     = SiteRootContext.Item;
            var emailTo      = newUser.Username;
            var replacements = new Dictionary <string, string>();

            replacements["#Email#"]        = emailTo;
            replacements["#Envrionment#"]  = SiteSettings.GetSetting("Env.Value", string.Empty);
            replacements["#Page_Type#"]    = "registration-successful-email-in-inbox";
            replacements["#Body_Content#"] = GetValue(siteRoot?.Registration_Email_Body)
                                             .ReplacePatternCaseInsensitive("#First_Name#", newUser.FirstName)
                                             .ReplacePatternCaseInsensitive("#Last_Name#", newUser.LastName);

            email.Body = email.Body.ReplacePatternCaseInsensitive(replacements);

            var emailSubject = GetValue(siteRoot?.Registration_Email_Subject);

            email.To      = emailTo;
            email.Subject = emailSubject;

            return(email);
        }
        public void Process(INewUser newUser)
        {
            var email = EmailFactory.Create(newUser);

            if (email != null)
            {
                EmailSender.Send(email);
            }
        }
Beispiel #4
0
        public IRegisterUserResult Register(INewUser newUser)
        {
            var registerResult = RegisterUser.Register(newUser);

            if (registerResult.Success)
            {
                RegisterUserContext.NewUser = newUser;
                RegisterUserActions.Process(newUser);
            }

            return(registerResult);
        }
        public TEntity Save(INewUser request)
        {
            request = ControlNewUser(request);
            var entity = _userRepository.NewUser();
            var parent = request.ParentUserId != null?_userRepository.Users.FirstOrDefault(_ => _.Id == request.ParentUserId) : default(TEntity);

            entity.Password   = request.Password;
            entity.Email      = request.Email;
            entity.LastName   = request.LastName;
            entity.FirstName  = request.FirstName;
            entity.IsActive   = request.IsActive;
            entity.BirthDate  = request.BirthDate;
            entity.ParentUser = parent;

            return(entity);
        }
Beispiel #6
0
        public SalesforceRegisterUserResult RegisterUser(INewUser newUser, ICompany company)
        {
            if (newUser == null)
            {
                return(CreateResult(false, Enumerable.Empty <string>()));
            }

            var salesforceCompanies = new List <EBI_AccountData>();

            if (company != null)
            {
                salesforceCompanies.Add(new EBI_AccountData
                {
                    accountId   = company.Id,
                    accountType = SiteTypeParser.Parse(company.Type)
                });
            }

            var createProfileRequest = new EBI_CreateProfileRequest
            {
                userName = newUser.Username,
                password = newUser.Password,
                profile  = new EBI_Profile
                {
                    name = new EBI_Name
                    {
                        firstName = newUser.FirstName,
                        lastName  = newUser.LastName
                    },
                    tosAccepted          = true,
                    tosAcceptedSpecified = true
                },
                accounts = salesforceCompanies.ToArray()
            };

            var response = Service.Execute(s => s.createProfile(createProfileRequest));

            return(CreateResult(response.IsSuccess(), Enumerable.Empty <string>()));
        }
        public async Task <int> AddUserAsync(INewUser user)
        {
            var existingUser = await _context.Users.SingleOrDefaultAsync(u => u.AuthId == user.AuthId);

            if (existingUser is not null)
            {
                return(existingUser.Id);
            }

            User newUser = new User()
            {
                Username = user.Username,
                AuthId   = user.AuthId,
                Email    = user.Email,
            };

            await _context.Users.AddAsync(newUser);

            await _context.SaveChangesAsync();

            return(newUser.Id);
        }
Beispiel #8
0
 public IRegisterUserResult Register(INewUser newUser, ICompany company)
 {
     return(RegisterUser(newUser, company));
 }
Beispiel #9
0
 public IRegisterUserResult Register(INewUser newUser)
 {
     return(RegisterUser(newUser, null));
 }
        public bool Set(INewUser newUser, bool offers, bool newsletters)
        {
            var username = newUser?.Username;

            return(Set(username, offers, newsletters));
        }
Beispiel #11
0
 public void Process(INewUser value)
 {
     LoginUser.Login(value, false);
 }