Ejemplo n.º 1
0
        public async Task <KanbanResult> SaveUserDetail(UserDetail userDetail)
        {
            var user = await userManager.FindByNameAsync(userDetail.UserName);

            if (user != null)
            {
                //user.Email = userDetail.Email,
                user.PhoneNumber = userDetail.PhoneNo;
                user.ImageUrl    = userDetail.ImageUrl;
                user.AboutMe     = userDetail.AboutMe;

                IdentityResult result = await userManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    return(KanbanResult.CreateOkResult(null));
                }
                else
                {
                    return(KanbanResult.CreateErrorResult(result.Errors.Select(e => e.Description).ToList()));
                }
            }
            else
            {
                return(KanbanResult.CreateErrorResult(new List <string> {
                    "User '" + userDetail.UserName + "' not found"
                }));
            }
        }
Ejemplo n.º 2
0
        public async Task <KanbanResult> Login(string userName, string password, string grantType)
        {
            var user = await this.userManager.FindByNameAsync(userName);

            if (user != null)
            {
                var result = await this.signInManager.CheckPasswordSignInAsync(user, password, false);

                if (result.Succeeded)
                {
                    return(KanbanResult.CreateOkResult(null));
                }
                else
                {
                    return(KanbanResult.CreateErrorResult(new List <string> {
                        "Incorrect password."
                    }));
                }
            }
            else
            {
                return(KanbanResult.CreateErrorResult(new List <string>()
                {
                    "User doesn't exist"
                }));
            }
        }
Ejemplo n.º 3
0
        public async Task <KanbanResult> Register(string userName, string email, string password)
        {
            var user = new UserEntity {
                Email = email, UserName = userName
            };

            IdentityResult result = await userManager.CreateAsync(user, password);


            if (result.Succeeded)
            {
                if (!roleManager.RoleExistsAsync("NormalUser").Result)
                {
                    result = await roleManager.CreateAsync(new KanbanRoles { Name = "NormalUser", NormalizedName = "NormalUser" });
                }

                result = await userManager.AddToRoleAsync(user, "NormalUser");

                return(KanbanResult.CreateOkResult(null));
            }
            else
            {
                return(KanbanResult.CreateErrorResult(result.Errors.Select(e => e.Description).ToList()));
            }
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> UpdateProfile([FromBody] UserDetailModel model)
        {
            KanbanResult result = await _userService.GetUserDetails(this.User.Identity.Name);

            if (result.Success)
            {
                UserDetail user = result.Result as UserDetail;

                user.AboutMe = model.AboutMe;

                result = await _userService.SaveUserDetails(user);

                if (result.Success)
                {
                    return(Ok(result));
                }
                else
                {
                    return(BadRequest(result));
                }
            }
            else
            {
                return(BadRequest(result));
            }
        }
Ejemplo n.º 5
0
 protected IActionResult GetResult(KanbanResult result)
 {
     if (result.Success)
     {
         return(Ok(result.Result));
     }
     else
     {
         return(BadRequest(result.Errors.ToArray()));
     }
 }
Ejemplo n.º 6
0
        public async Task <IActionResult> ValidateEmail(string email)
        {
            KanbanResult result = await _userService.GetUserDetailByEmail(email);

            if (result.Success)
            {
                return(BadRequest(new string[] { email + " already exists." }));
            }
            else
            {
                return(Ok());
            }
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> ChangePassword([FromBody] ChangePasswordModel model)
        {
            KanbanResult kanbanResult = new KanbanResult();

            var result = await _userService.ChangePassword(this.User.Identity.Name, model.CurrentPassword, model.NewPassword);

            if (result.Success)
            {
                return(Ok());
            }
            else
            {
                return(BadRequest(result.Errors.ToArray()));
            }
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> Register([FromBody] RegisterViewModel model)
        {
            KanbanResult result = null;

            result = await _userService.Register(model.UserName, model.Email, model.Password);

            if (result.Success)
            {
                return(Ok());
            }
            else
            {
                return(BadRequest(result.Errors.ToArray()));
            }
        }
Ejemplo n.º 9
0
        public async Task <KanbanResult> ChangePassword(string userName, string currentPassword, string newPassword)
        {
            var user = await userManager.FindByNameAsync(userName);

            KanbanResult kanbanResult = new KanbanResult();

            var result = await userManager.ChangePasswordAsync(user, currentPassword, newPassword);

            if (result.Succeeded)
            {
                return(KanbanResult.CreateOkResult(string.Empty));
            }
            else
            {
                return(KanbanResult.CreateErrorResult(result.Errors.Select(er => er.Description).ToList()));
            }
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> ValidateUser(string userName)
        {
            foreach (var header in this.Request.Headers)
            {
                Console.WriteLine(header.Key + " | " + header.Value);
            }

            KanbanResult result = await _userService.GetUserDetails(userName);

            if (result.Success)
            {
                return(BadRequest(new string[] { userName + " already exists." }));
            }
            else
            {
                return(Ok());
            }
        }
Ejemplo n.º 11
0
        public async Task <IActionResult> Get(string userName)
        {
            if (string.IsNullOrEmpty(userName))
            {
                return(BadRequest(KanbanResult.CreateErrorResult(new List <string>()
                {
                    "Username is not provided."
                })));
            }

            KanbanResult result = await _userService.GetUserDetails(userName);

            if (result.Success)
            {
                return(Ok(result.Result));
            }
            else
            {
                return(BadRequest(result.Errors.ToArray()));
            }
        }
Ejemplo n.º 12
0
        public async Task <KanbanResult> GetUserDetail(string userName)
        {
            var user = await userManager.FindByNameAsync(userName);

            if (user != null)
            {
                core.UserDetail userDetail = new core.UserDetail
                {
                    UserName = user.UserName,
                    Email    = user.Email,
                    PhoneNo  = user.PhoneNumber,
                    ImageUrl = user.ImageUrl,
                    AboutMe  = user.AboutMe
                };

                return(KanbanResult.CreateOkResult(userDetail));
            }
            else
            {
                return(KanbanResult.CreateErrorResult(new List <string> {
                    "User not found"
                }));
            }
        }