Beispiel #1
0
            public async Task <User> Handle(Command request, CancellationToken cancellationToken)
            {
                if (_context.Users.AsQueryable().Where(x => x.Email == request.Email).Any())
                {
                    throw new RestException(HttpStatusCode.BadRequest, new { Email = "Email already exists" });
                }
                if (_context.Users.AsQueryable().Where(x => x.UserName == request.Username).Any())
                {
                    throw new RestException(HttpStatusCode.BadRequest, new { Username = "******" });
                }

                var user = new AppUser
                {
                    DisplayName = request.DisplayName,
                    UserName    = request.Username,
                    Email       = request.Email
                };

                var result = await _userManager.CreateAsync(user, request.Password);

                if (result.Succeeded)
                {
                    return(new User
                    {
                        DisplayName = user.DisplayName,
                        Token = _jwtGenerator.createToken(user),
                        Username = user.UserName,
                        Image = null
                    });
                }
                throw new Exception("Problem saving changes");
            }
Beispiel #2
0
            public async Task <User> Handle(Query request, CancellationToken cancellationToken)
            {
                var user = await _userManager.FindByEmailAsync(request.Email);

                if (user == null)
                {
                    throw new RestException(HttpStatusCode.Unauthorized);
                }

                var result = await _signInManager.CheckPasswordSignInAsync(user, request.Password, false);

                if (result.Succeeded)
                {
                    // TODO: generate token
                    return(new User
                    {
                        DisplayName = user.DisplayName,
                        Token = _jwtGenerator.createToken(user),
                        Username = user.UserName,
                        Image = null
                    });
                }

                throw new RestException(HttpStatusCode.Unauthorized);
            }
Beispiel #3
0
            public async Task <User> Handle(Command request, CancellationToken cancellationToken)
            {
                // Handler Logic
                if (await _context.Users.Where(x => x.Email == request.Email).AnyAsync())
                {
                    throw new RestException(HttpStatusCode.BadRequest, new { Email = "Email Already Exists" });
                }

                if (await _context.Users.Where(x => x.UserName == request.Username).AnyAsync())
                {
                    throw new RestException(HttpStatusCode.BadRequest, new { Username = "******" });
                }

                var user = new AppUser
                {
                    DisplayName = request.DisplayName,
                    Email       = request.Email,
                    UserName    = request.Username
                };
                var result = await _userManager.CreateAsync(user, request.Password);

                if (result.Succeeded)
                {
                    return(new User
                    {
                        DisplayName = user.DisplayName,
                        Token = _jwtGenerator.createToken(user),
                        Username = user.UserName,
                        Image = user.Photos.FirstOrDefault(x => x.IsMain)?.Url
                    });
                }

                throw new Exception("Problem Creating User");
            }
Beispiel #4
0
            //Mediator unit is an empty unit/object
            public async Task <User> Handle(Command request, CancellationToken cancellationToken)
            {
                if (await _context.Users.AnyAsync(x => x.Email == request.Email))
                {
                    throw new Exception("Badrequest");
                }
                // handler logic
                if (await _context.Users.AnyAsync(x => x.UserName == request.UserName))
                {
                    throw new Exception("Username already exist");
                }

                var user = new AppUser
                {
                    DisplayName = request.DisplayName,
                    Email       = request.Email,
                    UserName    = request.UserName
                };

                var result = await _userManager.CreateAsync(user, request.Password);

                if (result.Succeeded)
                {
                    return new User
                           {
                               DispalyName = user.DisplayName,
                               Token       = _jwtGenerator.createToken(user),
                               Username    = user.UserName,
                           }
                }
                ;
                throw new Exception("Prolem saving Changes");
            }
        }
Beispiel #5
0
            public async Task <User> Handle(Query request, CancellationToken cancellationToken)
            {
                var user = await _userManager.FindByNameAsync(_userAccessor.GetCurrentUsername());

                return(new User {
                    DisplayName = user.DisplayName,
                    Username = user.UserName,
                    Token = _jwtGenerator.createToken(user),
                    Image = null
                });
            }