Code Crafters–Day1&Day2
According to the plan, we will complete the registration and login part in the first two days
Code Display
using System.Data;
using Erinn;
#pragma warning disable CS8600
#pragma warning disable CS8603
namespace Fzu;
public static partial class FzuMySql
{
public static class Accounts
{
public static async Task Insert(string email, string username, string userpassword)
{
const string query = "INSERT INTO accounts (email, username, userpassword) VALUES (@email, @username, @userpassword)";
var connection = await MySqlService.Pop();
try
{
await using var cmd = MySqlService.SendQuery(query, connection);
cmd.Parameters.AddWithValue("@email", email);
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@userpassword", userpassword);
await cmd.ExecuteNonQueryAsync();
}
catch (Exception e)
{
Log.Info(e.Message);
}
finally
{
await connection.CloseAsync();
MySqlService.Push(connection);
}
}
public static async Task UpdateUsernameByEmail(string email, string username)
{
const string query = "UPDATE accounts SET username = @username WHERE email = @email";
var connection = await MySqlService.Pop();
try
{
await using var cmd = MySqlService.SendQuery(query, connection);
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@email", email);
await cmd.ExecuteNonQueryAsync();
}
catch (Exception e)
{
Log.Info(e.Message);
}
finally
{
await connection.CloseAsync();
MySqlService.Push(connection);
}
}
public static async Task UpdateUserpasswordByEmail(string email, string userpassword)
{
const string query = "UPDATE accounts SET userpassword = @userpassword WHERE email = @email";
var connection = await MySqlService.Pop();
try
{
await using var cmd = MySqlService.SendQuery(query, connection);
cmd.Parameters.AddWithValue("@userpassword", userpassword);
cmd.Parameters.AddWithValue("@email", email);
await cmd.ExecuteNonQueryAsync();
}
catch (Exception e)
{
Log.Info(e.Message);
}
finally
{
await connection.CloseAsync();
MySqlService.Push(connection);
}
}
public static async Task DeleteByEmail(string email)
{
const string query = "DELETE FROM accounts WHERE email = @email";
var connection = await MySqlService.Pop();
try
{