Example #1
0
        public IHttpActionResult Login([FromBody] LoginViewModel data)
        {
            return(PerformAction <IdentityResult>(() =>
            {
                ServiceUser user = null;

                var findUserTask = ServiceUserManager
                                   .FindAsync(data.Login, data.Password);

                findUserTask
                .Wait();

                user = findUserTask
                       .Result;

                Authentication
                .SignOut();

                if (user == null)
                {
                    throw new AuthenticationException("Invalid username or password!");
                }

                LoginUser(user);

                return IdentityResult
                .Success;
            }));
        }
Example #2
0
        protected override void Dispose(bool disposing)
        {
            if (disposing && _userManager != null)
            {
                _userManager.Dispose();
                _userManager = null;
            }

            base.Dispose(disposing);
        }
Example #3
0
        /// <summary>
        /// Register user
        /// </summary>
        /// <param name="data">Login data</param>
        /// <param name="hasManager">Has user manager</param>
        /// <returns>
        /// <see cref="IdentityResult"/>s object containing the result of registration.
        /// </returns>
        private IdentityResult RegisterUser(RegisterViewModel data, bool hasManager)
        {
            IdentityResult result = IdentityResult
                                    .Failed();

            var userDto = data
                          .ToDto();

            userDto.UserRole = hasManager
                ? "Manager" : "Employee";

            var findUserTask = ServiceUserManager
                               .FindByNameAsync(userDto.Login);

            findUserTask
            .Wait();

            var alreadyRegistered = (findUserTask.Result != null);

            if (alreadyRegistered)
            {
                throw new Exception(String.Format(
                                        "User {0} already exists!", userDto.Login));
            }

            var user = new ServiceUser(userDto);

            var createUserTask = ServiceUserManager
                                 .CreateAsync(user);

            createUserTask
            .Wait();

            result = createUserTask
                     .Result;

            if (result == IdentityResult.Success)
            {
                findUserTask = ServiceUserManager
                               .FindByNameAsync(userDto.Login);

                findUserTask
                .Wait();

                user = findUserTask
                       .Result;

                LoginUser(user);
            }

            return(result);
        }
Example #4
0
 public static bool DeleteUser(string login)
 {
     try
     {
         ServiceUserManager sum = new ServiceUserManager();
         return(sum.DeleteUser(login));
     }
     catch (EndpointNotFoundException e)
     {
         MessageBox.Show("Le serveur ne répond pas.", "Erreur");
         throw e;
     }
 }
Example #5
0
 public async static Task <ServiceUser.User[]> GetUserListAsync()
 {
     try
     {
         ServiceUserManager sum = new ServiceUserManager();
         return(await sum.GetListUserAsync());
     }
     catch (EndpointNotFoundException e)
     {
         MessageBox.Show("Le serveur ne répond pas.", "Erreur");
         throw e;
     }
 }
Example #6
0
 public async static Task <bool> ConnectAsync(string login, string pass)
 {
     try
     {
         ServiceUserManager sum = new ServiceUserManager();
         return(await sum.ConnectAsync(login, pass));
     }
     catch (EndpointNotFoundException e)
     {
         MessageBox.Show("Le serveur ne répond pas.", "Erreur");
         throw e;
     }
 }
Example #7
0
 public static bool AddUser(ServiceUser.User user)
 {
     try
     {
         ServiceUserManager sum = new ServiceUserManager();
         return(sum.AddUser(user));
     }
     catch (EndpointNotFoundException e)
     {
         MessageBox.Show("Le serveur ne répond pas.", "Erreur");
         throw e;
     }
 }
Example #8
0
        /// <summary>
        /// Login user
        /// </summary>
        /// <param name="user">Service user</param>
        private void LoginUser(ServiceUser user)
        {
            if (user != null)
            {
                var createIdentityTask = ServiceUserManager
                                         .CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);

                createIdentityTask
                .Wait();

                Authentication
                .SignIn(new AuthenticationProperties
                {
                    IsPersistent = true
                },
                        createIdentityTask.Result);
            }
        }