Ejemplo n.º 1
0
        public Dto.User Authenticate(string username, string password)
        {
            var userDb = _userDbContext.User.SingleOrDefault(x => x.Username == username && x.Password == password);

            // return null if user not found
            if (userDb == null)
            {
                return(null);
            }

            // authentication successful so generate jwt token
            var    tokenHandler    = new JwtSecurityTokenHandler();
            var    key             = Encoding.ASCII.GetBytes(_appSettings.Secret);
            string userId          = userDb.Id.ToString();
            var    tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, userId)
                }),
                Expires            = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            userDb.Token = tokenHandler.WriteToken(token);

            // remove password before returning
            userDb.Password = null;

            Dto.User userDto = _mapper.Map <Dto.User>(userDb);
            return(userDto);
        }
Ejemplo n.º 2
0
 public UserViewModel(Dto.User user)
 {
     SubjectId = user.SubjectId;
     Username  = user.Username;
     Password  = user.Password;
     FirstName = user.FirstName;
     LastName  = user.LastName;
 }
Ejemplo n.º 3
0
        public async Task <IActionResult> UpdateUser([FromBody] Dto.User user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new ProblemModel(ModelState)));
            }

            var updatedUser = await _accountService.SaveUser(user.ToModel());

            return(Ok(new Dto.User(updatedUser)));
        }
Ejemplo n.º 4
0
        public IActionResult UpdateUser([FromBody] Dto.User userParam)
        {
            var result = _userService.UpdateUser(userParam);

            if (result == false)
            {
                return(BadRequest());
            }

            return(Ok());
        }
Ejemplo n.º 5
0
        public bool UpdateUser(Dto.User userDto)
        {
            var userDb = _mapper.Map <Models.User>(userDto);
            var result = _userDbContext.User.Update(userDb);

            if (result.State != Microsoft.EntityFrameworkCore.EntityState.Modified)
            {
                return(false);
            }

            _userDbContext.SaveChanges();
            return(true);
        }
Ejemplo n.º 6
0
        public Dto.User MapUser(User user)
        {
            var gameUser = user.GameUsers.First(e => e.GameId == _sessionService.GetCurrentGameId());
            var dtoUser  = new Dto.User
            {
                Username = user.Username,
                Email    = user.Email,
                Class    = gameUser.PlayerClass,
                Bio      = gameUser.PlayerBio,
                Id       = user.Id
            };

            return(dtoUser);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// References : Thanks to below URLs
        /// http://www.dotnetcurry.com/wcf/1156/using-wcf-msmq-message-service-oriented-solutions
        ///
        /// </summary>
        public static void WriteToQueue()
        {
            int i = 1;

            while (true)
            {
                Console.WriteLine("Creating new user");

                var user = new Dto.User()
                {
                    UserId    = i,
                    FirstName = "Damith" + i,
                    LastName  = "Wanninayake" + i,
                    Email     = "*****@*****.**",
                    UserName  = "******" + i
                };


                // Create a Message and set the body to the order object above
                var msmqPath = ConfigurationManager.AppSettings["MessageQueuePath"];
                var msg      = new Message {
                    Body = user
                };

                // Create a transaction
                using (var ts = new TransactionScope(TransactionScopeOption.Required))
                {
                    MessageQueue queue = null;

                    if (MessageQueue.Exists(msmqPath))
                    {
                        queue = new MessageQueue(msmqPath);
                    }
                    else
                    {
                        // Create transactional message queue
                        MessageQueue.Create(msmqPath, true);
                        queue = new MessageQueue(msmqPath);
                    }
                    queue.Send(user, "User registration", MessageQueueTransactionType.Automatic); // send the message
                    ts.Complete();                                                                // complete the transaction
                }

                i += 1;
                Console.WriteLine("Message Sent");

                Thread.Sleep(5000);
            }
        }
Ejemplo n.º 8
0
        public async Task <ActionResult> Register([FromBody] Dto.RegisterInfo registerInfo)
        {
            if (registerInfo == null)
            {
                return(BadRequest());
            }

            var passwordValidator = new PasswordValidator <User>();
            var hasValidatedData  = await passwordValidator.ValidateAsync(_userManager, null, registerInfo.Password);

            if (!hasValidatedData.Succeeded)
            {
                return(BadRequest(hasValidatedData.Errors));
            }

            User user = new User
            {
                UserName = registerInfo.UserName,
                Password = registerInfo.Password,
                Email    = registerInfo.Email
            };
            var hasCreatedUser = await _userManager.CreateAsync(user, user.Password);

            if (hasCreatedUser.Succeeded)
            {
                var userDto = new Dto.User
                {
                    Id       = user.Id,
                    UserName = user.UserName,
                    Email    = user.Email
                };
                return(Ok(userDto));
            }
            else
            {
                return(BadRequest(hasCreatedUser.Errors));
            }
        }
Ejemplo n.º 9
0
 public bool Login(Dto.User user)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 10
0
 public ActionResult <Dto.User?> Post([FromBody] Dto.User user)
 {
     return(ToDto(Repository.Create(FromDto(user) !)));
 }