public async Task <IActionResult> Edit(int id, [Bind("Id,Email,Name,Description")] ForumMember forumMember) { if (id != forumMember.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(forumMember); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ForumMemberExists(forumMember.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(forumMember)); }
public async Task <IActionResult> Create([Bind("Id,Email,Name,Description")] ForumMember forumMember) { if (ModelState.IsValid) { _context.Add(forumMember); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(forumMember)); }
/// <summary> /// Get a member by the member Id /// </summary> /// <param name="memberid"></param> /// <returns></returns> public static ForumMember ReturnMember(int?memberid) { if (memberid != null) { ForumMember cmem; if (!CacheHelper.Get(CacheHelper.CacheNameMember(memberid), out cmem)) { cmem = new ForumMember(memberid); CacheHelper.Add(cmem, CacheHelper.CacheNameMember(memberid)); } return(cmem); } return(null); }
private void GetMemberDetails() { // Get the member id int?m = null; if (Request.QueryString["mem"] != null) { m = Convert.ToInt32(Request.QueryString["mem"]); } // if its not null then get the member details if (m != null) { // Get the member whos profile this is ProfileMember = MembershipHelper.ReturnMember(m); } }
/// <summary> /// Pokazuje okno UI wyboru postaci /// </summary> /// <param name="player"></param> /// <param name="userId"></param> public static async void ShowPlayerCharacters(Client player, int userId) { using (Database.Database db = new Database.Database()) { List <Character> playerCharacters = await db.Characters.Where(t => !t.Blocked && t.MemberId == userId).ToListAsync(); if (playerCharacters.Count == 0) { Ui.ShowError(player, "Nie posiadasz żadnych postaci :<"); player.Kick(); return; } ForumMember forumMember = db.ForumMembers.FirstOrDefault(t => t.MemberId == userId); List <LoginScreenCharacter> serializableCharacters = new List <LoginScreenCharacter>(); foreach (Character entry in playerCharacters) { serializableCharacters.Add(new LoginScreenCharacter { Id = entry.Id, Name = $"{entry.Name} {entry.Lastname}", Online = Global.GetFormattedTime(entry.OnlineTime) }); } NAPI.ClientEvent.TriggerClientEvent(player, "client.choosechar.show", JsonConvert.SerializeObject(serializableCharacters), forumMember != null ? forumMember.Username : "******" ); // player.TriggerEvent("client.choosechar.show", // JsonConvert.SerializeObject(serializableCharacters, Formatting.None), rankName, // player.GetData("player.vPoints"), Account.GetAllPlayers().Count, 0 /* TODO */); // player.TriggerEvent("client.login.LoginSuccess"); player.TriggerEvent("client.ui.loader", false); } }
public async void Event_OnPlayerTriedToLogin(Client player, string username, string password) { player.TriggerEvent("client.ui.loader", true); Character charData = Account.GetPlayerData(player); if (charData != null) { Ui.ShowError(player, "Jesteś już zalogowany."); return; } using (Database.Database db = new Database.Database()) { ForumMember globalMember = await db.ForumMembers.FirstOrDefaultAsync(t => t.Username == username); if (globalMember != null) { if (Auth.AuthUser(username, password)) { Ui.ShowInfo(player, $"Witaj, {globalMember.Username}! Zalogowałeś się pomyślnie. Laduję Twoje postacie..."); player.TriggerEvent("client.ui.loader", true); player.SetData("player.globalId", globalMember.MemberId); player.SetData("player.globalName", globalMember.Username); player.SetData("player.adminLevel", globalMember.AdminLevel); player.SetData("player.vPoints", globalMember.VisualPoints); player.SetData("player.donateTime", globalMember.DonateTime); player.SetData("player.adminFlags", globalMember.AdminFlags); await db.LoginLogs.AddAsync(new LoginLog { MemberId = globalMember.MemberId, Ip = player.Address, Serial = player.Serial, Success = true, Time = Global.GetTimestamp() }); await db.SaveChangesAsync(); Library.ShowPlayerCharacters(player, globalMember.MemberId); } else { Ui.ShowError(player, "Podano niepoprawne dane logowania."); player.TriggerEvent("client.login.BadLogin"); player.TriggerEvent("client.ui.loader", false); await db.LoginLogs.AddAsync(new LoginLog { MemberId = globalMember.MemberId, Ip = player.Address, Success = false, Serial = player.Serial, Time = Global.GetTimestamp() }); await db.SaveChangesAsync(); } } else { Ui.ShowError(player, "Podano niepoprawne dane logowania."); player.TriggerEvent("client.login.BadLogin"); player.TriggerEvent("client.ui.loader", false); } } }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new IdentityUser { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { var forumMemberAccount = new ForumMember { Email = user.Email, Name = Input.Name, Description = Input.Description }; dataContext.Add(forumMemberAccount); dataContext.SaveChanges(); var roleExistsResult = await _roleManager.RoleExistsAsync("forum_member"); if (!roleExistsResult) { var roleReuslt = await _roleManager.CreateAsync(new IdentityRole("forum_member")); if (roleReuslt.Succeeded) { await _userManager.AddToRoleAsync(user, "forum_member"); } } else { await _userManager.AddToRoleAsync(user, "forum_member"); } _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email })); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }
/// <summary> /// Laduje do pamięci dane gracza /// </summary> /// <param name="player"></param> /// <param name="charId"></param> /// <returns></returns> public static async Task <Character> LoadPlayerData(Client player, int charId) { using (Database.Database db = new Database.Database()) { Character charInfo = await db.Characters.FirstOrDefaultAsync(t => t.Id == charId); if (charInfo == null) { return(null); } ForumMember memberData = await db.ForumMembers.FirstOrDefaultAsync(t => t.MemberId == charInfo.MemberId); charInfo.AdminLevel = 0; charInfo.HasAdminDuty = false; charInfo.HasMask = false; charInfo.HasCustomName = false; charInfo.CustomName = null; charInfo.AdminPerm = new List <object>(); charInfo.LastWhisper = null; charInfo.WhisperBlock = false; charInfo.Cuff = null; charInfo.RadioBlock = false; charInfo.HasInvisibleEnabled = false; charInfo.ServerId = player.Value; charInfo.ServerData = new Dictionary <ServerData, object>(); charInfo.IsCrouching = false; charInfo.Tattoos = new List <Tattoo>(); charInfo.SyncedTattoos = new List <int>(); charInfo.UsedWeapon = null; charInfo.PlayerHandle = player; charInfo.AnimPlayer = null; charInfo.LoadDrugs(); List <Database.Models.Tattoo> tattoos = await db.Tattoos.Where(t => t.CharId == charInfo.Id).ToListAsync(); foreach (Database.Models.Tattoo entry in tattoos) { charInfo.SyncedTattoos.Add(entry.TattooId); } WalkingStyle charWalkingStyle = await db.WalkingStyles.FirstOrDefaultAsync(t => t.Id == charInfo.WalkingStyle); if (charWalkingStyle == default(WalkingStyle)) { charInfo.WalkingStyleAnim = null; } else { charInfo.WalkingStyleAnim = charWalkingStyle.AnimName; if (charInfo.WalkingStyleAnim.Length < 2) { charInfo.WalkingStyleAnim = null; } } try { charInfo.AdminPerm = JsonConvert.DeserializeObject <List <object> >(memberData.AdminFlags); } catch (Exception e) { Log.ConsoleLog("ACCOUNT", $"(USER {charInfo.Name} {charInfo.Lastname}) {e.Message}", LogType.Error); charInfo.AdminPerm = new List <object>(); } CharactersList.Add(charInfo.PlayerHandle.Value, charInfo); return(charInfo); } }