public JsonResult Search(SearchUserViewModel model) { JSonResult objResult = new JSonResult(); try { BE.MUser MUser = new BE.MUser(); List <BE.MUser> MUsers = new List <BE.MUser>(); MUser.User = Extension.ToEmpty(model.User).Trim(); MUser.Name = Extension.ToEmpty(model.UserName).Trim(); MUsers = new WebApiUser().GetUsers(MUser); objResult.data = MUsers; } catch (Exception ex) { objResult.data = null; objResult.isError = true; objResult.message = string.Format(MessageResource.ControllerGetExceptionMessage, "User"); } return(Json(objResult)); }
public JsonResult ChangePassword(string id) { JSonResult objResult = new JSonResult(); string response = string.Empty; try { BE.MUser objEnt = new BE.MUser(); objEnt.UserId = Convert.ToInt32(id); response = new WebApiUser().ChangePassword(objEnt); //Falta crear el metodo de editar string statusCode = response.Split('|')[0]; string statusMessage = response.Split('|')[1]; objResult.isError = statusCode.Equals("2") ? true : false; objResult.message = statusCode.Equals("2") ? statusMessage : string.Format("Change password successful", "User");; } catch (Exception ex) { objResult.data = null; objResult.isError = true; objResult.message = MessageResource.ControllerDeleteExceptionMessage; } return(Json(objResult)); }
public override async Task <IWebApiUser> SelectByIDAsync(long id, long userId, CancellationToken cancellationToken) { DataTable dt = null; Dictionary <string, object> param = new Dictionary <string, object>(); IWebApiUser user = null; param.Add(DBObjects.SPParameter.WAUserId, GetParameter(DBObjects.SPParameter.WAUserId, ParameterDirection.Input, ((int)SqlDbType.BigInt), 8, id)); dt = await this.GetSPDataTableAsync(DBObjects.StoredProcedures.webApi_pspSelectUserById.ToString(), cancellationToken, param); if (dt != null && dt.Rows.Count > 0) { user = new WebApiUser(); user.SystemId = Convert.ToInt64(PublicFunctions.ConvertDBNullToNull(dt.Rows[0]["SystemId"])); user.WARoleId = Convert.ToInt64(PublicFunctions.ConvertDBNullToNull(dt.Rows[0]["WARoleId"])); user.EmailId = Convert.ToString(dt.Rows[0]["EmailId"]); user.ConfirmEmailId = Convert.ToString(dt.Rows[0]["EmailId"]); user.UserName = Convert.ToString(dt.Rows[0]["UserName"]); user.FirstName = Convert.ToString(dt.Rows[0]["FirstName"]); user.MiddleName = Convert.ToString(dt.Rows[0]["MiddleName"]); user.LastName = Convert.ToString(dt.Rows[0]["LastName"]); user.SystemName = Convert.ToString(dt.Rows[0]["SystemName"]); user.RoleName = Convert.ToString(dt.Rows[0]["RoleName"]); user.PhoneNo = Convert.ToString(PublicFunctions.ConvertDBNullToNull(dt.Rows[0]["PhoneNo"])); user.Address1 = Convert.ToString(PublicFunctions.ConvertDBNullToNull(dt.Rows[0]["Address1"])); user.Address2 = Convert.ToString(PublicFunctions.ConvertDBNullToNull(dt.Rows[0]["Address2"])); user.Address3 = Convert.ToString(PublicFunctions.ConvertDBNullToNull(dt.Rows[0]["Address3"])); user.WAUserId = dt.Rows[0]["WAUserId"].ToString(); user.TimeZoneId = Convert.ToInt64(dt.Rows[0]["TimeZoneID"]); user.IsActive = Convert.ToBoolean(dt.Rows[0]["IsActive"]); } return(user); }
public ActionResult Edit(string id) { BE.MUser objResult; ViewBag.Title = "Edit User"; ViewBag.Confirm = string.Format(MessageResource.UpdateConfirm, "user"); try { ViewBag.Estado = Extension.GetStatus().Select(x => new SelectListItem { Value = x.Id, Text = x.Value }); BE.MUser MUser = new BE.MUser { UserId = Convert.ToInt32(id) }; objResult = new WebApiUser().GetUser(MUser); return(View("Register", new UserViewModel() { UserId = objResult.UserId, User = objResult.User, Name = objResult.Name, Type = objResult.Type, Status = objResult.Status.ToString() })); } catch (Exception ex) { ModelState.AddModelError("viewError", MessageResource.PartialViewLoadError); return(View("_ErrorView")); } }
public async Task <ActionResult> Index(WebApiUser model, long ddlSystem, CancellationToken cancellationToken) { model.SystemId = ddlSystem; ModelState.Remove("SystemId"); ModelState.Add("SystemId", new ModelState()); ModelState.SetModelValue("SystemId", new ValueProviderResult(model.SystemId, model.SystemId.ToString(), null)); ModelState.Remove("Pin"); ModelState.Remove("ConfirmPin"); if (!ModelState.IsValid) { ViewData[Constant.CustomSuccessMessage] = Constant.CustomValidationErrorMessage; ViewData[Constant.QuerySuccess] = false; model = (WebApiUser)await _service.IndexAsync(this.HttpContext.ApplicationInstance.Context, GetCanellationToken(cancellationToken)); return(View(model)); } ModelState.Clear(); model = (WebApiUser)await _service.SaveAsync(HttpContext.ApplicationInstance.Context, model, GetCanellationToken(cancellationToken)); ViewData[Constant.QuerySuccess] = HttpContext.Items[Constant.QuerySuccess]; ViewData[Constant.FormTitle] = HttpContext.Items[Constant.FormTitle]; if (Convert.ToBoolean(ViewData[Constant.QuerySuccess])) { ViewData[Constant.FormTitle] = "EDIT WEB API USER"; } else { ViewData[Constant.CustomSuccessMessage] = "Error: email is already associated with another user."; } return(View(model)); }
private async ValueTask HandleAddOfflineIp(string target, string name, WebApiUser user, string reason) { if (IsIpAInvalid(target)) { await user.WriteConsole($"Unable to comply: Invalid target address.", "ban system"); return; } var ban = new PlayerBan(target, new string[] { $"Dashboard: {user.Password.User} [ban offline]" }, DateTime.Now, new string[] { name }, reason); if (!await _database.Add(ban.IpAddress, ban)) { await user.WriteConsole($"Unable to comply: Ban already exists.", "ban handler"); } else { await user.WriteConsole($"Ban added.", "ban handler"); } }
public async override Task <IWebApiUser> IndexAsync(HttpContext context, CancellationToken cancellationToken) { IWebApiUser model = new WebApiUser(); //{ WAUserId = Convert.ToString(userId) }; model = await PopulateInitialValuesAsync(model, cancellationToken); return(model); }
public void TestToString_NoClaims() { var claims = new List <Claim>(); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); Assert.IsNotNull(user.ToString()); }
public async Task <IWebApiUser> IndexAsync(System.Web.HttpContext context, IWebApiUser model, CancellationToken cancellationToken) { if (model == null) { model = new WebApiUser(); } model = await PopulateInitialValuesAsync(model, cancellationToken); return(model); }
private async ValueTask HandlePurge(WebApiUser source) { var count = _database.Elements.Count(); await _database.Clear(); await source.WriteConsole($"Purged {count} records.", "ban system"); await _logManager.LogInformation( $"Ban Manager: PURGED bans for {source.Password.User}"); }
public void TestSetUserId_NoClaims_ShouldNotThrowAnyExceptions() { var claims = new List <Claim>(); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); Assert.AreEqual(Guid.Empty, user.Id); user.Invoking(x => x.SetUserId(claims)).ShouldNotThrow(); }
public void TestSetTokenValidAfterDate_InvalidTime() { var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.VALID_NOT_BEFORE_DATE_KEY, "abc")); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); user.Invoking(x => x.SetTokenValidAfterDate(claims)).ShouldNotThrow(); }
public void TestSetTokenExpirationDate_InvalidTime() { var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.EXPIRATION_DATE_KEY, "abc")); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); user.Invoking(x => x.SetTokenExpirationDate(claims)).ShouldNotThrow(); }
public void TestSetTokenIssueDate_InvalidTime() { var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.ISSUED_AT_TIME_KEY, "abc")); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); user.Invoking(x => x.SetTokenIssueDate(claims)).ShouldNotThrow(); }
private async ValueTask HandleExistsAddress(string target, WebApiUser user) { if (!_database.ContainsFast(target)) { await user.WriteConsole($"No such record found.", "ban handler"); } else { await user.WriteConsole($"Record identified.", "ban handler"); } }
public async Task <IdentityResult> RegisterUser(UserModel userModel) { WebApiUser user = new WebApiUser() { UserName = userModel.Username }; var result = await UserManager.CreateAsync(user, userModel.Password); return(result); }
private async ValueTask HandleExistsName(string target, WebApiUser user) { var record = _database.Get(target); if (record.Equals(default(PlayerBan))) { await user.WriteConsole($"No such record found.", "ban handler"); } else { await user.WriteConsole($"Record identified: {record.IpAddress}", "ban handler"); } }
private async ValueTask HandleRemoveIp(string target, WebApiUser user) { if (!await _database.RemoveFast(target)) { await user.WriteConsole($"Unable to comply: no such record.", "ban system"); return; } await user.WriteConsole($"Ban removed.", "ban system"); await _logManager.LogInformation($"Ban Manager: removed ban {target} for {user.Password.User}"); }
public void TestSetGivenName() { var name = "joe"; var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.GIVEN_NAME_KEY, name)); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); user.SetGivenName(claims); Assert.AreEqual(name, user.GivenName); }
public void TestSetFullName() { var name = "joe smith"; var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.FULL_NAME_KEY, name)); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); user.SetFullName(claims); Assert.AreEqual(name, user.FullName); }
public void TestSetUserId_InvalidGuid_ShouldNotThrow() { var id = "hello"; var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.USER_ID_KEY, id.ToString())); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); Assert.AreEqual(Guid.Empty, user.Id); user.Invoking(x => x.SetUserId(claims)).ShouldNotThrow(); }
public void TestSetUserEmail() { var email = "*****@*****.**"; var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.EMAIL_KEY, email)); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); user.SetUserEmail(claims); Assert.AreEqual(email, user.Email); }
public void TestSetUserId() { var id = Guid.NewGuid(); var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.USER_ID_KEY, id.ToString())); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); Assert.AreEqual(Guid.Empty, user.Id); user.SetUserId(claims); Assert.AreEqual(id, user.Id); }
public void TestSetTokenValidAfterDate() { var now = DateTime.UtcNow; var nowInSecondsAfterEpoch = (int)(now - WebApiUser.EPOCH).TotalSeconds; var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.VALID_NOT_BEFORE_DATE_KEY, nowInSecondsAfterEpoch.ToString())); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); user.SetTokenValidAfterDate(claims); now.Should().BeCloseTo(user.TokenValidAfterDate, 1000); }
public void TestToString_HasEmailAndId() { var id = Guid.NewGuid().ToString(); var email = "*****@*****.**"; var claims = new List <Claim>(); claims.Add(new Claim(WebApiUser.USER_ID_KEY, id.ToString())); claims.Add(new Claim(WebApiUser.EMAIL_KEY, email)); var claimsPrincipal = new ClaimsPrincipal(); var user = new WebApiUser(claimsPrincipal); Assert.IsNotNull(user.ToString()); }
public ActionResult Register(UserViewModel model) { JSonResult objResult = new JSonResult(); string response = string.Empty; try { BE.MUser objEnt = new BE.MUser { UserId = model.UserId, User = model.User.Trim(), Password = "", Name = model.Name.Trim(), Type = 2, //USUARIO CMS Status = Convert.ToInt32(model.Status) }; if (model.UserId == 0) { response = new WebApiUser().InsertUser(objEnt); } else { response = new WebApiUser().UpdatetUser(objEnt); //Falta crear el metodo de editar } string statusCode = response.Split('|')[0]; string statusMessage = response.Split('|')[1]; string MessageResul = (model.UserId == 0) ? string.Format(MessageResource.SaveSuccess, "User") : string.Format(MessageResource.UpdateSuccess, "User"); objResult.isError = statusCode.Equals("2") ? true : false; objResult.message = statusCode.Equals("2") ? statusMessage : MessageResul; } catch (Exception ex) { objResult.isError = true; objResult.data = null; if (model.UserId == 0) { objResult.message = string.Format(MessageResource.SaveError, "User"); } else { objResult.message = string.Format(MessageResource.UpdateError, "User"); } } return(Json(objResult)); }
public async Task <IActionResult> LogIn([FromForm] DTOWebApiUser loginModel) { IActionResult result = Unauthorized(); WebApiUser _user = await _userManager.FindByNameAsync(loginModel.Username); if (_user != null) { Microsoft.AspNetCore.Identity.SignInResult signInResult = await _signInManager.CheckPasswordSignInAsync(_user, loginModel.Password, false); if (signInResult.Succeeded) { result = Ok(await BuildJwtToken(_user.Id)); } } return(result); }
private async ValueTask HandleInfoAddress(string target, WebApiUser user) { var record = _database.Get(target); if (record.Equals(default(PlayerBan))) { await user.WriteConsole($"No such record found.", "ban handler"); } else { await user.WriteConsole( $"\nNames: {string.Join(", ", record.PlayerNames.Select(name=>$"\"{name}\""))},\n" + $"Date: {record.Time},\n" + $"Witnesses: {string.Join(", ", record.Witnesses.Select(witness => $"\"{witness}\""))}\n", "ban handler"); } }
private async ValueTask HandleAddName(string target, WebApiUser user, string reason) { var targetPlayer = _gameManager.Games .SelectMany(game => game.Players) .FirstOrDefault(player => player.Character !.PlayerInfo.PlayerName.Equals(target)); if (targetPlayer == null) { await user.WriteConsole($"Player not found.", "ban system"); return; } var address = targetPlayer.Client.Connection !.EndPoint.Address.ToString(); await user.WriteConsole($"Found address of player \"{target}\": {address}. Banning...", "ban system"); await HandleAddIp(address, user, reason); }
private async ValueTask HandleAddIp(string target, WebApiUser user, string reason) { var players = _gameManager.Games .SelectMany(game => game.Players) .Where(player => player.Client.Connection !.EndPoint.Address.ToString().Equals(target)); var count = 0; var uniqueNames = 0; var name = string.Empty; var names = new List <string>(); foreach (var clientPlayer in players) { if (!name.Equals(clientPlayer.Character !.PlayerInfo.PlayerName)) { uniqueNames++; names.Add(clientPlayer.Character !.PlayerInfo.PlayerName); } name = clientPlayer.Character !.PlayerInfo.PlayerName; _ = clientPlayer.BanAsync(); count++; } if (count == 0) { await user.WriteConsole($"Unable to comply: player not found.", "ban system"); return; } await _database.Add(target, new PlayerBan(target, new string[] { $"Dashboard: {user.Password.User}" }, DateTime.Now, names.ToArray(), reason)); await user.WriteConsole($"IP Banned {count} instances, with {uniqueNames} unique names.", "ban system"); await _logManager.LogInformation($"Ban Manager: IP banned {count} instances of {target} with {uniqueNames} unique instance names for {user.Password.User}"); }