public async Task <object> DeleteAccount(string accountName) { var response = new AccountDeleteResponse(); if (string.IsNullOrWhiteSpace(accountName)) { response.FailedReason = "username null"; return(response); } await using (var ctx = new UchuContext()) { var user = await ctx.Users.FirstOrDefaultAsync(u => u.Username == accountName); if (user == default) { response.FailedReason = "not found"; return(response); } ctx.Users.Remove(user); await ctx.SaveChangesAsync(); response.Success = true; response.Username = user.Username; } return(response); }
public async Task <ActionResult <AccountDeleteResponse> > Delete(Guid id) { AccountDeleteArgs accountDeleteArgs = new AccountDeleteArgs { AccountId = id }; IMediator mediator = Factory.Resolve <IMediator>(); AccountDeleteResult accountDeleteResult = await mediator.Send(new AccountDeleteCommand(accountDeleteArgs)); accountDeleteResult.EnsureSuccess(); AccountDeleteResponse response = new AccountDeleteResponse { IsSuccess = true }; return(Ok(response)); }