public JObject UpdateLogInCode([FromBody] Barber barber) { JObject responseObj = new JObject(); UserController userController = new UserController(); SqlConnection conn = null; SqlCommand comm; String connectionString = ConfigurationManager.ConnectionStrings["azure"].ConnectionString; Guid g; g = Guid.NewGuid(); Debug.Write(g); string logInCode = g.ToString().Split("-")[0].Substring(0, 5); String query = "Update barber SET login_code = '" + logInCode + "' WHERE barber_id = '" + barber.id + "'"; String emailMessage = "Hi " + barber.username + "," + "<br> <br>" + "Below is your new log-in code that you will need " + "to enter to access the BarbAR app. <br> <br> This code can be reset at anytime from the log-in page of the app." + "<br> <br>" + " Log-in Code: <b>" + logInCode + "</b> <br> <br> Thank You, <br> BarbAR Team."; String subject = "Barber Log-in Code"; try { conn = new SqlConnection(connectionString); conn.Open(); Debug.Write("CONNECTION SUCCESSFUL "); } catch (Exception e) { Debug.Write("FAILED TO CONNECT: " + e); } try { comm = new SqlCommand(query, conn); comm.ExecuteNonQuery(); Debug.Write("UPDATE LOGIN CODE SUCESSFUL "); responseObj.Add("message", "success"); responseObj.Add("data", barber.toJson()); userController.SendEmail(barber.username, barber.email, logInCode, emailMessage, subject); conn.Close(); Debug.Write("CONNECTION CLOSED "); } catch (Exception e) { Debug.Write("FAILED TO UPDATE: " + e); responseObj.Add("message", "failed"); responseObj.Add("data", barber.toJson()); responseObj.Add("error", e.GetBaseException().ToString()); } return(responseObj); }
public JObject PostSignUp([FromBody] Barber barber) { JObject responseObj = new JObject(); UserController userController = new UserController(); SqlConnection conn = null; SqlCommand comm; SqlCommand checkEmail; SqlCommand checkUsername; String subject = "Barber Log-in Code"; String connectionString = ConfigurationManager.ConnectionStrings["azure"].ConnectionString; //Automatically generating the Log-in code Guid g; g = Guid.NewGuid(); Debug.Write(g); string logInCode = g.ToString().Split("-")[0].Substring(0, 5); string hPassword = userController.ComputeHash(barber.password, new SHA256CryptoServiceProvider()); String query = "INSERT INTO barber(barber_username,barber_name,barber_surname,barber_email," + "barber_password,barber_avatar,login_code) VALUES ('" + barber.username + "','" + barber.firstname + "','" + barber.surname + "','" + barber.email + "','" + hPassword + "','" + barber.avatar + "','" + logInCode + "'); "; String query2 = "Select * from barber where barber_email = '" + barber.email + "';"; String query3 = "Select * from barber where barber_username = '******';"; String emailMessage = "Hi " + barber.username + "," + "<br> <br>" + "Below is the code that you will need " + "to enter to access the BarbAR app. <br> <br> This code can be reset at anytime from the log-in page of the app." + "<br> <br>" + " Log-in Code: <b>" + logInCode + "</b> <br> <br> Thank You, <br> BarbAR Team."; try { conn = new SqlConnection(connectionString); conn.Open(); Debug.Write("CONNECTION SUCCESSFUL "); } catch (Exception e) { Debug.Write("FAILED TO CONNECT: " + e); } try { comm = new SqlCommand(query, conn); checkEmail = new SqlCommand(query2, conn); int count = Convert.ToInt32(checkEmail.ExecuteScalar()); checkUsername = new SqlCommand(query3, conn); int count1 = Convert.ToInt32(checkUsername.ExecuteScalar()); if (count > 0) { Debug.Write("USER ALREADY EXSISTS"); responseObj.Add("message", "failed"); responseObj.Add("data", barber.toJson()); responseObj.Add("error", "Email already taken"); } else if (count1 > 0) { Debug.Write("USER ALREADY EXSISTS"); responseObj.Add("message", "failed"); responseObj.Add("data", barber.toJson()); responseObj.Add("error", "Username already taken"); } else { comm.ExecuteNonQuery(); Debug.Write("INSERT SUCCESSFUL"); userController.SendEmail(barber.username, barber.email, logInCode, emailMessage, subject); responseObj.Add("message", "success"); responseObj.Add("data", barber.toJson()); } conn.Close(); Debug.Write("CONNECTION CLOSED "); } catch (Exception e) { Debug.Write("FAILED TO INSERT: " + e); responseObj.Add("message", "failed"); responseObj.Add("data", barber.toJson()); responseObj.Add("error", e.GetBaseException().ToString()); } return(responseObj); }
public JObject PostLogIn([FromBody] Barber barber) { JObject responseObj = new JObject(); UserController userController = new UserController(); SqlConnection conn = null; SqlCommand checkCredentials; SqlDataReader reader = null; String connectionString = ConfigurationManager.ConnectionStrings["azure"].ConnectionString; string hPassword = userController.ComputeHash(barber.password, new SHA256CryptoServiceProvider()); String query = "Select * from barber where barber_username = '******' and barber_password = '******'and login_code = '" + barber.login_code + "';"; try { conn = new SqlConnection(connectionString); conn.Open(); Debug.Write("CONNECTION SUCCESSFUL "); } catch (Exception e) { Debug.Write("FAILED TO CONNECT: " + e); } try { checkCredentials = new SqlCommand(query, conn); int count = Convert.ToInt32(checkCredentials.ExecuteScalar()); Debug.Write("INTEGER RETURNED: " + count); if (count > 0) { reader = checkCredentials.ExecuteReader(); while (reader.Read()) { barber.id = reader.GetInt32(0); barber.username = reader.GetString(1); barber.firstname = reader.GetString(2); barber.surname = reader.GetString(3); barber.email = reader.GetString(4); barber.password = reader.GetString(5); barber.avatar = reader.GetString(6); barber.login_code = reader.GetString(7); } Debug.Write("LOGIN SUCCESSFUL "); conn.Close(); Debug.Write("CONNECTION CLOSED "); responseObj.Add("message", "success"); responseObj.Add("data", barber.toJson()); } else { Debug.Write("FAILED TO LOG IN INCORRECT CRDENTIALS"); responseObj.Add("message", "failed"); responseObj.Add("data", barber.toJson()); responseObj.Add("error", "Failed to log in"); } } catch (Exception e) { Debug.Write("FAILED TO LOGIN: "******"message", "failed"); responseObj.Add("data", barber.toJson()); responseObj.Add("error", e.GetBaseException().ToString()); } return(responseObj); }