public static async Task <UserAccount> register_account(Mo_User_SignUp field) { if (await get_account(field.login) != null) { //todo: логгировать return(null); } UserAccount account = new UserAccount(); account.username = field.login.ToLower(); account.password = field.password; account.displayName = field.displayName; account.phoneNumber = field.phoneNumber; account.email = field.email; account.registeredDate = DateTime.Now; account.images = new string[0]; await accounts.InsertOneAsync(account); return(account); }
public async Task <Mo_Result> signup(Mo_User_SignUp model) { Mo_Result response = new Mo_Result(); UserAccount uacc = null; if (Server.validLogin(model.login)) { uacc = Server.get_account(model.login).GetAwaiter().GetResult(); if (uacc == null) { uacc = Server.get_account(model.email).GetAwaiter().GetResult(); if (uacc != null) { response.message = "Email is registered"; goto break_point; } } } else { response.message = "Invalid login"; goto break_point; } //is not an registered if (uacc == null) { if (Server.validPassword(model.password)) { if (!Server.validDisplayName(model.displayName)) { response.message = "Invalid Display Name"; goto break_point; } if (!Server.validPhoneNumber(model.phoneNumber)) { response.message = "Invalid Phone number"; goto break_point; } if (!Server.validMail(model.email, out MailAddress ml)) { response.message = "Invalid Mail format"; goto break_point; } //register account UserAccount registeredAccount = await Server.register_account(model); response.result = true; response.message = "Account registered"; } else { response.message = "Invalid password"; goto break_point; } } else // have a registered { response.message = "Have a account"; } break_point: return(response); }