コード例 #1
0
        public async Task CanRegisterAndUpdateGuestUser()
        {
            Fr8AccountDO       guestUserAccount = FixtureData.TestDockyardAccount6();
            string             newEmail         = "*****@*****.**";
            string             newPassword      = "******";
            RegistrationStatus registrationStatus;

            using (var uow = ObjectFactory.GetInstance <IUnitOfWork>())
            {
                registrationStatus = await _fr8Account.UpdateGuestUserRegistration(uow, newEmail, newPassword, guestUserAccount.EmailAddress.Address);
            }

            // Assert
            Assert.AreEqual(registrationStatus, RegistrationStatus.Successful);
            Assert.AreEqual(guestUserAccount.EmailAddress.Address, newEmail);
        }
コード例 #2
0
        public async Task <ActionResult> ProcessRegistration(RegistrationVM submittedRegData)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    RegistrationStatus curRegStatus;
                    OrganizationDO     organizationDO = null;
                    bool isNewOrganization            = false;

                    using (var uow = ObjectFactory.GetInstance <IUnitOfWork>())
                    {
                        //check for organizations
                        if (submittedRegData.HasOrganization && !string.IsNullOrEmpty(submittedRegData.OrganizationName))
                        {
                            organizationDO = _organization.GetOrCreateOrganization(uow,
                                                                                   submittedRegData.OrganizationName, out isNewOrganization);
                        }

                        if (!String.IsNullOrWhiteSpace(submittedRegData.GuestUserTempEmail))
                        {
                            curRegStatus = await _account.UpdateGuestUserRegistration(uow, submittedRegData.Email.Trim()
                                                                                      , submittedRegData.Password.Trim()
                                                                                      , submittedRegData.GuestUserTempEmail, organizationDO);
                        }
                        else
                        {
                            curRegStatus = _account.ProcessRegistrationRequest(uow, submittedRegData.Email.Trim(),
                                                                               submittedRegData.Password.Trim(), organizationDO, isNewOrganization,
                                                                               submittedRegData.AnonimousId);
                        }

                        uow.SaveChanges();
                    }

                    if (curRegStatus == RegistrationStatus.UserMustLogIn)
                    {
                        ModelState.AddModelError("", @"You are already registered with us. Please login.");
                    }
                    else
                    {
                        return(this.Login(new LoginVM
                        {
                            Email = submittedRegData.Email.Trim(),
                            Password = submittedRegData.Password.Trim(),
                            RememberMe = false
                        }, string.Empty).Result);
                    }
                }
            }
            catch (ApplicationException appEx)
            {
                ModelState.AddModelError("", appEx.Message);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }

            return(View("Register"));
        }