/// <summary> /// Creates the user hash. /// </summary> /// <param name="key">Key.</param> /// <param name="name">Name.</param> /// <param name="email">Email.</param> /// <param name="password">Password.</param> public void createUserHash(string key, string name, string email, string password) { //no need to check email here, check in controller var securePassword = AuthController.ComputeHash(password, "SHA512", null); cache.HashSet(key, new HashEntry[] { new HashEntry("name", name), new HashEntry("email", email), new HashEntry("password", securePassword), new HashEntry("age", 0), new HashEntry("weight", 0), new HashEntry("squat", 0), new HashEntry("bench", 0), new HashEntry("deadlift", 0), new HashEntry("snatch", 0), new HashEntry("cleanjerk", 0), new HashEntry("workoutsCompleted", 0) }); }
public IHttpActionResult PutUser(string email, [FromBody] string data) { //check if body is empty, white space or null // or appropriate JSON fields are not in post body if (string.IsNullOrWhiteSpace(data) || string.Equals("{}", data) || !data.Contains("name:")) { var resp = "Data is null. Please send formatted data: "; var resp2 = "\"{name:name lklk,password:pw, age:age, weight:wt, squat:0, bench:0, deadlift:0, snatch:0, cleanjerk:0}\""; string emptyResponse = resp + resp2; return(Ok(emptyResponse)); } var currEmail = email; //parse email and body data char[] delimiterChars = { '{', '}', ',', ':', ' ' }; string[] postParams = data.Split(delimiterChars); //grab any other data that is to be changed var postName = postParams[2] + " " + postParams[3]; var postPassword = postParams[5]; var postAge = postParams[7]; var postWeight = postParams[9]; var postSquat = postParams[11]; var postBench = postParams[13]; var postDeadlift = postParams[15]; var postSnatch = postParams[17]; var postCleanjerk = postParams[19]; var postWorkouts = postParams[21]; if (string.IsNullOrWhiteSpace(postName) && string.IsNullOrWhiteSpace(postPassword)) { return(Ok("All fields are null! Send Data.")); } //grab old user Hash data var returnedUser = redisCache.getUserHashData(currEmail); var currUser = new User(); if (returnedUser != null) { currUser = returnedUser; } else { return(Ok(returnedUser)); } //if null, user keeps curr name if (string.IsNullOrWhiteSpace(postName)) { postName = currUser.Name; } //if null, user keeps curr name if (string.IsNullOrWhiteSpace(postAge)) { postAge = currUser.Age.ToString(); } //if null, user keeps curr name if (string.IsNullOrWhiteSpace(postWeight)) { postWeight = currUser.Weight.ToString(); } //if null, user keeps curr name if (string.IsNullOrWhiteSpace(postSquat)) { postSquat = currUser.Squat.ToString(); } //if null, user keeps curr name if (string.IsNullOrWhiteSpace(postBench)) { postBench = currUser.Bench.ToString(); } //if null, user keeps curr name if (string.IsNullOrWhiteSpace(postDeadlift)) { postDeadlift = currUser.Deadlift.ToString(); } //if null, user keeps curr name if (string.IsNullOrWhiteSpace(postSnatch)) { postSnatch = currUser.Snatch.ToString(); } //if null, user keeps curr name if (string.IsNullOrWhiteSpace(postCleanjerk)) { postCleanjerk = currUser.CleanAndJerk.ToString(); } //if null, user keeps curr workouts if (string.IsNullOrWhiteSpace(postWorkouts)) { postWorkouts = currUser.WorkoutsCompleted.ToString(); } //if null, user keeps curr password if (string.IsNullOrWhiteSpace(postPassword)) { postPassword = currUser.Password; } else { postPassword = AuthController.ComputeHash(postPassword, "SHA512", null); } redisCache.updateUserHash("user:"******"Successfully Updated your profile"); return(Ok("true")); }