public void Execute(UserDTO request)
        {
            _validation.ValidateAndThrow(request);

            var user = Mapper.Map <User>(request);

            //  Set Principal Entity to null in order to prevent creating it
            user.Role   = null;
            user.RoleId = request.Role.Id;

            Context.Users.Add(user);

            Context.SaveChanges();
        }
        void ICommand <UserDto> .Execute(UserDto request)
        {
            _validator.ValidateAndThrow(request);
            var user = new User
            {
                FirstName = request.FirstName,
                LastName  = request.LastName,
                Email     = request.Email,
                Password  = request.Password,
                Username  = request.Username
            };

            _context.Users.Add(user);
            _context.SaveChanges();
        }