public string AssociateAccountExists(string Email) { string _Email = Email.ToLower(); WcrCryptography crypto = new WcrCryptography(); AssociateAccountExistsParameters sqlParams = new AssociateAccountExistsParameters(); sqlParams.EmailId = crypto.WcrSimpleEncrypt(_Email); sqlParams.Action = "associate"; HttpResponseMessage resp = new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest); using (WcrHttpClient client = new WcrHttpClient(WcrVault.Gateway.getwcrusername, WcrVault.Gateway.getwcrpassword)) { resp = client.PostAsJsonAsync("api/AccountCreation/AssociateAccountExists", sqlParams).Result; UserAccountStatus returnModel = JsonConvert.DeserializeObject <UserAccountStatus>(resp.Content.ReadAsStringAsync().Result); if (returnModel == null) { return("-1"); } else { DataSet ds = new DataSet("dataSet"); DataTable table = ds.Tables.Add("associateExists"); table.Columns.Add("AccountId", typeof(int)); table.Columns.Add("Status", typeof(int)); table.Columns.Add("IsEmailVerified", typeof(int)); DataRow dr = table.NewRow(); dr["AccountId"] = returnModel.AssociateID; dr["Status"] = returnModel.Status; dr["IsEmailVerified"] = returnModel.IsEmailVerified; table.Rows.Add(dr); return(ds.GetXml()); } } }
public ActionResult ResetPassword(ForgotPasswordModel resetpassword) { try { if (ModelState.ContainsKey("Password")) { ModelState.Remove("Password"); } if (ModelState.ContainsKey("UserName")) { ModelState.Remove("UserName"); } if (ModelState.IsValid) { UserAccountStatus status = UserAccountStatus.NotSet; using (var client = new HttpClient()) { client.BaseAddress = new Uri(value); var resetpasswordrequest = client.GetAsync(string.Format("User/ResetPassword?userid={0}&newPassword={1}", resetpassword.UserID, resetpassword.NewPassword)); resetpasswordrequest.Wait(); var resetpasswordresult = resetpasswordrequest.Result; if (resetpasswordresult.IsSuccessStatusCode) { var resetpasswordtask = resetpasswordresult.Content.ReadAsAsync <UserAccountStatus>(); resetpasswordtask.Wait(); status = resetpasswordtask.Result; switch (status) { case UserAccountStatus.AccountNotFound: ModelState.AddModelError("UserName", "No matching account could be found. Please try again."); resetpassword.NewPassword = string.Empty; resetpassword.NewPasswordConfirm = string.Empty; return(View(resetpassword)); case UserAccountStatus.UsernameMismatch: ModelState.AddModelError("UserName", "User Name is incorrect. Please try again."); resetpassword.NewPassword = string.Empty; resetpassword.NewPasswordConfirm = string.Empty; return(View(resetpassword)); case UserAccountStatus.Success: return(RedirectToAction("UserLogin", "Account")); } } } } } catch { ModelState.AddModelError("EmailAddress", "Password has not been reset. Please check the email address entered and try again."); } return(View(resetpassword)); }
private string GenerateConfirmationToken(int userId) { var userConfirmationToken = Guid.NewGuid(); var accountStatusModel = new UserAccountStatus() { UserAccountConfirmed = false, UserConfirmationToken = userConfirmationToken, UserId = userId }; _context.UserAccountStatusValues.Add(accountStatusModel); _context.SaveChanges(); return(userConfirmationToken.ToString()); }
public IHttpActionResult ValidateUser(string username, string password) { try { UserAccountStatus result = UserAccountStatus.NotSet; EFMembershipProvider membershipprovider = new EFMembershipProvider(); membershipprovider.Initialize("SqlProvider", new NameValueCollection()); MembershipUser user = membershipprovider.GetUser(username, false); DateTime lastLoginDate = DateTime.MinValue; if (user != null) { //Get the last login date lastLoginDate = user.LastLoginDate; } if (membershipprovider.ValidateUser(username, password)) { using (var ctx = new InventoryManagementEntities()) { //check if the employer, user is with, is active: if (ctx.Users != null && ctx.Users.Any() && ctx.Users.Any(c => c.Email == user.UserName && c.ActiveFL == true) == false) { result = UserAccountStatus.InactiveEmployer; return(Ok(result)); } //Update user table with last login date if (user != null) { if (user.ProviderUserKey != null) { Guid.TryParse(user.ProviderUserKey.ToString(), out Guid userid); User loginUser = ctx.Users.FirstOrDefault(c => c.ID == userid); if (loginUser != null) { loginUser.LastLoginDate = lastLoginDate; ctx.SaveChanges(); } } } } result = UserAccountStatus.Success; return(Ok(result)); } if (user != null) { //user is locked out due to too many incorrect login attempts: if (user.IsLockedOut) { return(Ok(UserAccountStatus.LockedOut)); } //user account is inactive: return(Ok(!user.IsApproved ? UserAccountStatus.Inactive : UserAccountStatus.InvalidCredentials)); } result = UserAccountStatus.AccountNotFound; return(Ok(result)); } catch (Exception e) { throw new Exception("Error validating user", e); } }
public abstract UserSet UsersInRole(int pageIndex, int pageSize, SortUsersBy sortBy, SortOrder sortOrder, Guid roleID, UserAccountStatus accountStatus, bool returnRecordCount);
public abstract UserSet GetUsers(int pageIndex, int pageSize, SortUsersBy sortBy, SortOrder sortOrder, string usernameFilter, bool includeEmailInFilter, UserAccountStatus accountStatus, bool returnRecordCount, bool includeHiddenUsers, bool returnModerationCounters);
public ActionResult UserLogin(LoginDTO model) { if (ModelState.IsValid) { UserAccountStatus loginStatus = UserAccountStatus.NotSet; using (var client = new HttpClient()) { client.BaseAddress = new Uri(value); var validateUserTask = client.GetAsync("User/ValidateUser?username="******"&password="******"Password", "Incorrect username or password, please try again."); break; case UserAccountStatus.LockedOut: ModelState.AddModelError("Password", "Your account has been locked out because of too many failed login attempts. Please contact the administrator to have your account unlocked."); break; case UserAccountStatus.Inactive: ModelState.AddModelError("Password", "Your account is currently inactive, please contact your administrator for any further questions regarding this account."); break; case UserAccountStatus.InactiveEmployer: ModelState.AddModelError("Password", "Your employer account is currently inactive, please contact your administrator for any further questions regarding this account."); break; case UserAccountStatus.AccountNotFound: ModelState.AddModelError("UserName", "Incorrect username or password, please try again."); break; case UserAccountStatus.Success: { result = null; var userinfo = client.GetAsync("User/GetUserByEmail?email=" + model.UserName); userinfo.Wait(); result = userinfo.Result; if (result.IsSuccessStatusCode) { var readUserDTOTask = result.Content.ReadAsAsync <UserSecurityToken>(); readUserDTOTask.Wait(); UserSecurityToken userSecurityToken = readUserDTOTask.Result; Session["CurrentUser"] = userSecurityToken; if (Session["MasterData"] == null) { Session["MasterData"] = new AdminController().ReadMasterData(MasterDataType.None); } // if (Session["SupplierList"] == null) // Session["SupplierList"] = new AdminController().GetSupplierList(); if (userSecurityToken != null) { if (userSecurityToken.Role.Guid == RoleType.Admin.Guid) { return(RedirectToAction("Index", "Admin")); } } } break; } } } } } else { } return(View(model)); }
public static void Initialize(ApplicationDbContext context) { context.Database.EnsureCreated(); // Look for any users. if (context.UserValues.Any()) { return; // DB has been seeded } var users = new User[] { new Student { UserAccountType = UserAccountType.Student, UserBestContactNumber = "09047152678", UserDob = new DateTime(1999, 5, 26), UserEmail = "*****@*****.**", UserFaculty = "Software Engineering", UserGenderType = UserGenderType.Female, UserHasLoggedIn = false, UserHomePhone = "+810127189874", UserMobile = "09047152678", UserPass = "******", UserPrefFirstName = "Kirino", UserLastName = "Kousaka", UserName = "******", StudentCountry = "Japan", StudentCourseType = "CO9067", StudentDegreeType = StudentDegreeType.Undergraduate, StudentDegreeYearType = StudentDegreeYearType.ThirdYear, StudentLanguage = "Japanese", StudentPermissionToUseData = true, StudentStatusType = StudentStatusType.International, StudentOtherEducationalBackground = "None" }, new Admin { UserAccountType = UserAccountType.Admin, UserBestContactNumber = "09037981124", UserDob = new DateTime(1998, 8, 14), UserEmail = "*****@*****.**", UserFaculty = "Software Engineering", UserGenderType = UserGenderType.Female, UserHasLoggedIn = false, UserHomePhone = "+810128670798", UserMobile = "09037981124", UserPass = "******", UserPrefFirstName = "Sora", UserLastName = "Kasugano", UserName = "******", } }; foreach (User user in users) { context.UserValues.Add(user); } context.SaveChanges(); var registeredEmails = new RegisteredAdminEmail[] { new RegisteredAdminEmail { RegisteredAdminEmailAddress = "*****@*****.**", EmailHasBeenRegistered = true }, new RegisteredAdminEmail { RegisteredAdminEmailAddress = "*****@*****.**", EmailHasBeenRegistered = false } }; foreach (var registeredEmail in registeredEmails) { context.RegisteredAdminEmailValues.Add(registeredEmail); } var userAccountStatuses = new UserAccountStatus[] { new UserAccountStatus { UserAccountConfirmed = true, UserConfirmationToken = Guid.NewGuid(), UserId = GetUserIdFromEmail("*****@*****.**", users) }, new UserAccountStatus { UserAccountConfirmed = true, UserConfirmationToken = Guid.NewGuid(), UserId = GetUserIdFromEmail("*****@*****.**", users) } }; foreach (var accountStatus in userAccountStatuses) { context.UserAccountStatusValues.Add(accountStatus); } context.SaveChanges(); }
public void Insert(IDbConnection connection, string firstname, string lastname, string username, string password, string statusMessage, List <byte> userIcon, UserAccountStatus status) { repository.Insert(connection, firstname, lastname, username, password, statusMessage, userIcon?.ToArray(), status); }
public static UserSet GetUsers(int pageIndex, int pageSize, SortUsersBy sortBy, SortOrder sortOrder, string usernameFilter, bool includeEmailInFilter, bool cacheable, UserAccountStatus accountStatus, bool returnRecordCount, bool includeHiddenUsers) { HttpContext context = HttpContext.Current; UserSet users; // Return moderation counters also // bool returnModerationCounters = CSContext.Current.SiteSettings.EnableUserModerationCounters; // If we're compiled with debug code we never cache // #if DEBUG_NOCACHE cacheable = false; #endif if (cacheable) { // Build a cache key // string usersKey = pageIndex.ToString() + pageSize.ToString() + sortBy + sortOrder + usernameFilter + includeEmailInFilter + accountStatus + returnModerationCounters; // Serve from the cache when possible // users = CSCache.Get(usersKey) as UserSet; if (users == null) { users = GetUsersFromDataProvider (pageIndex, pageSize, sortBy, sortOrder, usernameFilter, includeEmailInFilter, accountStatus, returnRecordCount, includeHiddenUsers, returnModerationCounters); // Insert the user collection into the cache for 30 seconds CSCache.Insert(usersKey, users, CSCache.MinuteFactor / 2); } } else { users = GetUsersFromDataProvider(pageIndex, pageSize, sortBy, sortOrder, usernameFilter, includeEmailInFilter, accountStatus, returnRecordCount, includeHiddenUsers, returnModerationCounters); } return users; }
private static UserSet GetUsersFromDataProvider(int pageIndex, int pageSize, SortUsersBy sortBy, SortOrder sortOrder, string usernameFilter, bool includeEmailInFilter, UserAccountStatus accountStatus, bool returnRecordCount, bool includeHiddenUsers, bool returnModerationCounters) { // Create Instance of the CommonDataProvider CommonDataProvider dp = CommonDataProvider.Instance(); return dp.GetUsers(pageIndex, pageSize, sortBy, sortOrder, usernameFilter, includeEmailInFilter, accountStatus, returnRecordCount, includeHiddenUsers, returnModerationCounters ); }
public virtual string AdminManageUsersFilter(UserAccountStatus statusFilter) { return urlData.FormatUrl("admin_User_List_Filter", (int)statusFilter); }
public static UserSet UsersInRole(int pageIndex, int pageSize, SortUsersBy sortBy, SortOrder sortOrder, Guid roleID, bool cacheable, UserAccountStatus accountStatus, bool returnRecordCount) { UserSet u = null; // build a unique cache key StringBuilder s = new StringBuilder(); s.Append("UsersInRole-"); s.Append(pageIndex.ToString()); s.Append(pageSize.ToString()); s.Append(sortBy.ToString()); s.Append(sortOrder.ToString()); s.Append(roleID.ToString()); s.Append(accountStatus.ToString()); s.Append(returnRecordCount.ToString()); string cacheKey = s.ToString(); // Get the data from the data provider if not in the cache // u = CSCache.Get(cacheKey) as UserSet; if (u == null || !cacheable) { CommonDataProvider dp = CommonDataProvider.Instance(); u = dp.UsersInRole(pageIndex, pageSize, sortBy, sortOrder, roleID, accountStatus, returnRecordCount); if (cacheable) CSCache.Insert(cacheKey,u,12 * CSCache.HourFactor); } return u; }
public UserAccountRepositoryTests() { //this.sut = this.ServiceProvider.GetService<IUserAccountRepository>(); this.sut = this.ServiceProvider.GetRequiredService <IGenericRepository <UserAccount> >(); this.ServiceProvider.GetRequiredService <UserAccountsDbContext>().Database.Migrate(); var domains = new[] { "East", "West" }; this.entityFaker = new Faker <UserAccount>() //https://github.com/bchavez/Bogus .RuleFor(u => u.Email, (f, u) => f.Internet.Email()) .RuleFor(u => u.LastVisitDate, (f, u) => DateTime.UtcNow.AddDays(-1)) .RuleFor(u => u.RegisterDate, (f, u) => DateTime.UtcNow.AddDays(-14)) .RuleFor(u => u.TenantId, (f, u) => this.tenantId) .RuleFor(u => u.AdAccount, (f, u) => AdAccount.For(f.PickRandom(new[] { "East", "West" }) + $"\\{f.System.Random.AlphaNumeric(5)}")) //.RuleFor(u => u.Status, (f, u) => f.PickRandom(new[] { UserAccountStatus.Active, UserAccountStatus.Inactive })) .RuleFor(u => u.Status, (f, u) => f.PickRandom(new[] { UserAccountStatus.For("Active"), UserAccountStatus.For("Inactive") })) .RuleFor(u => u.VisitCount, (f, u) => 1); }
public void Insert(IDbConnection connection, string firstname, string lastname, string username, string password, string statusMessage, byte[] userIcon, UserAccountStatus status) { string insertQuery = @"INSERT into useraccount(useraccount_firstname, useraccount_lastname, useraccount_username, useraccount_password, useraccount_statusmessage, useraccount_usericon, useraccount_status) " + "VALUES (@firstname, @lastname, @username, @password, @statusmessage, @usericon, @status)"; var result = connection.Execute(insertQuery, new { firstname = firstname, lastname = lastname, username = username, password = password, statusmessage = statusMessage, usericon = userIcon, status = status }); }
/// <summary> /// 查询用户状态列表 /// </summary> /// <param name="cellphone"></param> /// <param name="country"></param> /// <param name="status"></param> /// <param name="pageSize"></param> /// <param name="index"></param> /// <param name="totalCount"></param> /// <returns></returns> public List <UserAccountStatus> GetUserAccountStatusList(string cellphone, int country, int?status, int pageSize, int index, out int totalCount) { var routerDAC = new ProfileRouterDAC(); var list = new List <UserAccountStatus>(); var accountDAC = new UserAccountDAC(); var accountList = accountDAC.GetUserAccountStatusList(cellphone, country, status, pageSize, index, out totalCount); var guids = new List <Guid>(); if (accountList != null) { foreach (var ac in accountList) { guids.Add(ac.Id); } } else { return(null); } //UserLoginLogDAC logDAC = new UserLoginLogDAC(); //List<UserLoginLog> logs = logDAC.GetLastLoginTimeListByIds(guids); var server = routerDAC.GetRouter(country); if (server == null) { throw new InvalidProfileServiceException(); } var dac = new UserProfileRPC(server); var profileList = dac.GetListByIds(guids); foreach (var account in accountList) { //UserLoginLog log = null; var accountStatus = new UserAccountStatus { UserAccountId = account.Id, IsAllowExpense = account.IsAllowExpense, IsAllowWithdrawal = account.IsAllowWithdrawal, Cellphone = account.Cellphone, Country = account.CountryId, RegistrationDate = account.RegistrationDate, Status = account.Status }; UserProfile profile = null; if (profileList != null) { foreach (var item in profileList) { if (item.UserAccountId == account.Id) { profile = item; break; } } } if (profile != null) { accountStatus.L1VerifyStatus = profile.L1VerifyStatus; accountStatus.L2VerifyStatus = profile.L2VerifyStatus; //accountStatus.Remark = profile.Remark; } //if (logs != null) //{ // foreach (var item in logs) // { // if (item.UserAccountId == account.Id) // { // log = item; // break; // } // } //} //if (log != null) //{ // accountStatus.LastLoginTimeStamp = log.Timestamp; //} list.Add(accountStatus); } return(list); }