public static bool CheckNameUsed(MapleClient c, string name) { using (var db = new NeoMapleStoryDatabase()) { return(db.Characters.Where(x => x.Name == name).Select(x => x).Any()); } }
public static void ChangeGender(MapleClient c, string username, byte gender) { using (var db = new NeoMapleStoryDatabase()) { var model = db.Accounts.Where(x => x.Username == username).Select(x => x).FirstOrDefault(); if (model == null) { return; } model.Gender = gender != 0; db.SaveChangesAsync(); } }
public static LoginResultCode Login(MapleClient c, string username, string password) { var state = LoginResultCode.Unfind; using (var db = new NeoMapleStoryDatabase()) { db.Configuration.LazyLoadingEnabled = false; var model = db.Accounts.Where(x => x.Username == username).Select(x => x).Include(x => x.Characters).FirstOrDefault(); if (model == null) { return(state); } c.Account = model; if (model.LoginState != LoginStateType.NotLogin) { state = LoginResultCode.IsLogged; } else if (model.Password != Sha256.Get(password, model.PasswordSalt)) { state = LoginResultCode.IncorrectPassword; } else if (model.IsPermanentBan || model.TempBanDate != null) { state = LoginResultCode.Banned; } else if (model.Gender == null) { state = LoginResultCode.GenderNeeded; } else { db.SaveChanges(); state = LoginResultCode.Success; } } return(state); }