Exemplo n.º 1
0
 /// <summary>
 /// Method to validate the credentials of a user.
 /// </summary>
 /// <param name="authentication"></param>
 /// <returns></returns>
 public static Users LoginUser(Authentication authentication)
 {
     try {
         DbHelper        dbHelper   = new DbHelper();
         MySqlConnection connection = dbHelper.GetMySqlConnection();
         DataTable       dataTable  = new DataTable();
         using (connection) {
             connection.Open();
             MySqlCommand command = new MySqlCommand(Constants.SP_LOGIN, connection);
             command.CommandType = CommandType.StoredProcedure;
             command.Parameters.AddWithValue("parEmail", authentication.EmailAddress);
             command.Parameters.AddWithValue("parPassword", authentication.Password);
             MySqlDataAdapter adapter = new MySqlDataAdapter(command);
             adapter.Fill(dataTable);
             adapter.Dispose();
             command.Dispose();
             connection.Close();
         }
         if (dataTable.Rows.Count > 0)
         {
             Users users = new Users(Convert.ToInt32(dataTable.Rows[0]["id"]), Convert.ToString(dataTable.Rows[0]["first_name"]),
                                     Convert.ToString(dataTable.Rows[0]["last_name"]), Convert.ToString(dataTable.Rows[0]["email_address"]),
                                     Convert.ToString(dataTable.Rows[0]["phone_number"]));
             users.JwToken = JwTHelper.GenrateJwT(users.ToKeyValuePairs());
             return(users);
         }
         return(null);
     } catch (Exception e) {
         Logger.logError(typeof(AuthHelper).Name, e.ToString());
         return(null);
     }
 }
Exemplo n.º 2
0
        public void GenerateJWTSuccessfully()
        {
            Users  users = new Users(1, "Pronoy", "Mukherjee", "*****@*****.**", "+919874045815");
            string jwT   = JwTHelper.GenrateJwT(users.ToKeyValuePairs());

            Assert.IsNotNull(jwT);
        }
Exemplo n.º 3
0
        public IActionResult UpdateUsers([FromBody] UsersForUpdate users)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            Response response;
            string   decodedToken = JwTHelper.ValidateJwT(this.HttpContext.Request.Headers[Constants.JW_TOKEN_KEY]);
            dynamic  tokenData    = JObject.Parse(decodedToken);
            int      userId       = tokenData.UserId;

            if (string.IsNullOrEmpty(decodedToken) || userId != users.UserId)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden;
                response = new Response("Invalid JwT", Constants.ERROR_MSG, null);
                return(new ObjectResult(response));
            }
            int isUpdated = UsersHelper.UpdateUserDetails(users);

            if (isUpdated > 0)
            {
                this.HttpContext.Response.StatusCode = (int)HttpStatusCode.OK;
                response = new Response(Constants.SUCCESS_MSG, Constants.SUCCESS_MSG, 1);
                return(new ObjectResult(response));
            }
            response = new Response(Constants.INTERNAL_SERVER_ERROR_MSG, Constants.ERROR_MSG, null);
            return(new ObjectResult(response));
        }
Exemplo n.º 4
0
        public IActionResult GetUsers(int id)
        {
            Response response;
            string   token        = this.HttpContext.Request.Headers[Constants.JW_TOKEN_KEY];
            string   decodedToken = JwTHelper.ValidateJwT(token);
            dynamic  tokenData    = JObject.Parse(decodedToken);
            int      userId       = tokenData.UserId;

            if (string.IsNullOrEmpty(decodedToken))
            {
                this.HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden;
                response = new Response(Constants.FORBIDDEN_MSG, Constants.ERROR_MSG, null);
                return(new ObjectResult(response));
            }
            if (id > 0 && userId == id)
            {
                this.HttpContext.Response.StatusCode = (int)HttpStatusCode.OK;
                Users users = UsersHelper.GetUsers(id, string.Empty);
                response = new Response(Constants.SUCCESS_MSG, Constants.SUCCESS_MSG, users);
                return(new ObjectResult(response));
            }
            this.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
            response = new Response("Invalid Id", Constants.ERROR_MSG, null);
            return(new ObjectResult(response));
        }
Exemplo n.º 5
0
 /// <summary>
 /// Method to register a user.
 /// </summary>
 /// <param name="users"></param>
 /// <param name="Password"></param>
 /// <returns>The users object with the JwT.</returns>
 public static Users RegisterUser(Users users, string Password)
 {
     try {
         DbHelper        dbHelper   = new DbHelper();
         MySqlConnection connection = dbHelper.GetMySqlConnection();
         using (connection) {
             connection.Open();
             MySqlCommand command = new MySqlCommand(Constants.SP_REGISTER_USER, connection);
             command.CommandType = System.Data.CommandType.StoredProcedure;
             command.Parameters.AddWithValue("parFirstName", users.FirstName);
             command.Parameters.AddWithValue("parLastName", users.LastName);
             command.Parameters.AddWithValue("parEmail", users.EmailAddress);
             command.Parameters.AddWithValue("parPhone", users.PhoneNumber);
             command.Parameters.AddWithValue("parPassword", Password);
             users.UserId = Convert.ToInt32(command.ExecuteScalar());
             if (users.UserId > -1)
             {
                 users.JwToken  = JwTHelper.GenrateJwT(users.ToKeyValuePairs());
                 users.Password = null;
             }
             command.Dispose();
             connection.Close();
             return(users);
         }
     } catch (Exception e) {
         Logger.logError(typeof(UsersHelper).Name, e.ToString());
         throw e;
     }
 }
Exemplo n.º 6
0
        public IEnumerable <WeatherForecast> Get()
        {
            var c   = new JwTHelper().CreatToken();
            var rng = new Random();

            return(Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
                   .ToArray());
        }