示例#1
0
        public async Task <IActionResult> Login([FromBody] SaveApplicationUserResource userInfo)
        {
            bool result = false;

            if (ModelState.IsValid)
            {
                var userExist = await repository.UserExist(userInfo.Email);

                if (userExist)
                {
                    result = await repository.Login(userInfo.Email, userInfo.Password);
                }
                if (result)
                {
                    return(Ok(repository.BuildToken(mapper.Map <SaveApplicationUserResource, ApplicationUser>(userInfo))));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Invalid login attempt.");
                    return(BadRequest(ModelState));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
示例#2
0
        public async Task <IActionResult> CreateUser([FromBody] SaveApplicationUserResource userInfo)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = userInfo.Email, Email = userInfo.Email, FirstName = userInfo.FirstName
                };
                var userExist = await repository.UserExist(userInfo.Email);

                if (userExist)
                {
                    return(BadRequest("This user alraedy exist"));
                }
                var result = await repository.Register(user, userInfo.Password);

                if (result)
                {
                    return(Ok(repository.BuildToken(mapper.Map <SaveApplicationUserResource, ApplicationUser>(userInfo))));
                }
                else
                {
                    return(BadRequest("Password invalid, You must use alphanumeric caracters, numbers and upper case"));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }