コード例 #1
0
ファイル: UpdateUserProfile.aspx.cs プロジェクト: fpozzas/fic
        /// <summary>
        /// Handles the Click event of the btnUpdate control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance 
        /// containing the event data.</param>
        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            UserDetails userDetails =
                new UserDetails(txtFirstName.Text, txtSurname.Text,
                    txtEmail.Text, comboLanguage.SelectedValue,
                    comboCountry.SelectedValue);

            SessionManager.UpdateUserDetails(Context,
                userDetails);

            Response.Redirect(
                Response.ApplyAppPathModifier("~/Pages/MainPage.aspx"));
        }
コード例 #2
0
ファイル: Register.aspx.cs プロジェクト: fpozzas/fic
        protected void btnCreate_Click(object sender, EventArgs e)
        {
            try
            {
                /* Create an User. */
                UserDetails userDetails = new UserDetails(
                    txtName.Text, txtSurname.Text, txtEmail.Text,
                    comboLanguage.SelectedValue,
                    comboCountry.SelectedValue);

                /* Get the Service */
                IUnityContainer container = (IUnityContainer)HttpContext.Current.Application["unityContainer"];
                IUserService userService = container.Resolve<IUserService>();

                SessionManager.RegisterUser(Context, txtLogin.Text, txtPassword.Text, userDetails);

                Server.Transfer(Response.ApplyAppPathModifier("./UserCreated.aspx"));
            }
            catch (DuplicateInstanceException)
            {
                lblLoginError.Visible = true;
            }
        }
コード例 #3
0
ファイル: UserService.cs プロジェクト: fpozzas/fic
        public UserDetails FindUserDetails(long userProfileId)
        {
            UserDetails userDetails;

            try
            {
                User user = UserDao.Find(userProfileId);

                userDetails =
                    new UserDetails(user.name,
                        user.surname, user.email,
                        user.languageCode, user.countryCode);
            }
            catch (InstanceNotFoundException e)
            {
                throw e;
            }

            return userDetails;
        }
コード例 #4
0
ファイル: UserService.cs プロジェクト: fpozzas/fic
 public void UpdateUserDetails(long userId, UserDetails newUser)
 {
     try
     {
         User user = UserDao.Find(userId);
         if (newUser.name != null)
             user.name = newUser.name;
         if (newUser.surname != null)
             user.surname = newUser.surname;
         if (newUser.email != null)
             user.email = newUser.email;
         if (newUser.countryCode != null)
             user.countryCode = newUser.countryCode;
         if (newUser.languageCode != null)
             user.languageCode = newUser.languageCode;
         UserDao.Update(user);
     }
     catch (InstanceNotFoundException)
     {
         throw;
     }
 }
コード例 #5
0
ファイル: UserService.cs プロジェクト: fpozzas/fic
        public User RegisterUser(string login, string clearPassword,
            UserDetails userDetails)
        {
            try
            {
                UserDao.FindByLoginName(login);

                throw new DuplicateInstanceException(login,
                    typeof(User).FullName);

            }
            catch (InstanceNotFoundException)
            {
                String encryptedPassword = PasswordEncrypter.Crypt(clearPassword);

                User user = User.CreateUser(0, login, encryptedPassword,
                    userDetails.name);
                user.surname = userDetails.surname;
                user.email = userDetails.email;
                //user.Country = userDetails.country;
                //user.Language = userDetails.language;

                UserDao.Create(user);

                return user;

            }
        }
コード例 #6
0
ファイル: UserServiceTest.cs プロジェクト: fpozzas/fic
        public void UpdateUserDetailsTest()
        {
            /* Create user */
            User oldUser = UserService.RegisterUser("kerrigan", "born2pwn",
                new UserDetails("Sarah", "Kerrigan", "*****@*****.**", "en", "ES"));

            /* Update details of user previously created */
            UserDetails expected = new UserDetails("Alfonsito", "Lopes", "tomate@noesmicontraseña.com", "es", "MX");
            UserService.UpdateUserDetails(oldUser.userId, expected);

            /* Fetch again the user */
            User actual = UserService.FindUser(oldUser.userId);
            Assert.AreEqual(oldUser.login, actual.login);
            Assert.AreEqual(expected.Name, actual.name);
            Assert.AreEqual(expected.Surname, actual.surname);
            Assert.AreEqual(expected.Email, actual.email);
        }
コード例 #7
0
ファイル: SessionManager.cs プロジェクト: fpozzas/fic
        /// <summary>
        /// Updates the user profile details.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="UserDetails">The user profile details.</param>
        public static void UpdateUserDetails(HttpContext context,
            UserDetails UserDetails)
        {
            /* Update user's profile details. */

            UserSession userSession =
                (UserSession)context.Session[USER_SESSION_ATTRIBUTE];

            userService.UpdateUserDetails(userSession.UserProfileId,
                UserDetails);

            userSession.FirstName = UserDetails.Name;

            /* Update user's session objects. */

            Locale locale = new Locale(UserDetails.Language,
                UserDetails.Country);

            UpdateSessionForAuthenticatedUser(context, userSession, locale);
        }
コード例 #8
0
ファイル: SessionManager.cs プロジェクト: fpozzas/fic
        /// <summary>
        /// Registers the user.
        /// </summary>
        /// <param name="context">Http Context includes request, response, etc.</param>
        /// <param name="loginName">Username</param>
        /// <param name="clearPassword">Password in clear text</param>
        /// <param name="UserDetails">The user profile details.</param>
        /// <exception cref="DuplicateInstanceException"/>
        public static void RegisterUser(HttpContext context,
            String loginName, String clearPassword,
            UserDetails userDetails)
        {
            /* Register user. */
            Es.Udc.DotNet.Betbook.Model.User user = userService.RegisterUser(loginName, clearPassword, userDetails);

            /* Insert necessary objects in the session. */
            UserSession userSession = new UserSession();
            userSession.UserProfileId = user.userId;
            userSession.FirstName = userDetails.Name;

            Locale locale = new Locale(userDetails.Language, userDetails.Country);

            UpdateSessionForAuthenticatedUser(context, userSession, locale);

            FormsAuthentication.SetAuthCookie(loginName, false);
        }
コード例 #9
0
ファイル: UserServiceTest.cs プロジェクト: fpozzas/fic
        public void UpdateUserDetailsTest()
        {
            User oldUser = UserService.RegisterUser("kerrigan", "born2pwn",
                new UserDetails("Sarah", "Kerrigan", "*****@*****.**", "en", "ES"));

            UserDetails expected = new UserDetails("Alfonsito", "Lopes", "tomate@noesmicontraseña.com", "es", "MX");
            UserService.UpdateUserDetails(oldUser.userId, expected);

            User actual = UserService.FindUser(oldUser.userId);

            Assert.AreEqual(expected.name, actual.name);
            Assert.AreEqual(expected.surname, actual.surname);
            Assert.AreEqual(expected.email, actual.email);
        }