public CreateUserViewModel CreateUser(string salt, string pass, string encodedPasswordAnswer, string username, string email, string passwordQuestion, object providerUserKey, bool isApproved, bool requiresUniqueEmail, MembershipPasswordFormat passwordFormat) { var userId = (Guid?)providerUserKey; var errorCode = 0; bool newUserCreated = false; DateTime createDate = DataProviderHelper.RoundToSeconds(DateTime.UtcNow); Guid? applicationId; CreateApplication(ApplicationName, out applicationId); var db = new ProviderDataContext(); aspnet_User aspnetUser = db.aspnet_Users.SingleOrDefault(p => p.LoweredUserName == username && p.ApplicationId == applicationId); var newUserId = aspnetUser == null ? (Guid?)null : aspnetUser.UserId; if (!newUserId.HasValue) { try { newUserId = aspnet_Users_CreateUser(applicationId, username, false, createDate, newUserId); } catch (Exception) { errorCode = 10; } newUserCreated = true; } else { if (newUserId != userId & userId.HasValue) return new CreateUserViewModel {Status = 6}; } bool membershipExists = db.aspnet_Memberships.Any(p => p.UserId == newUserId); if (membershipExists) return new CreateUserViewModel { Status = 6 }; if (requiresUniqueEmail) { membershipExists = db.aspnet_Memberships.Any(p => p.ApplicationId == applicationId & p.LoweredEmail == email.ToLower()); if (membershipExists) return new CreateUserViewModel { Status = 7 }; } if (!newUserCreated) { aspnet_User user = db.aspnet_Users.SingleOrDefault(p => p.UserId == userId); user.LastActivityDate = createDate; } var membership = new aspnet_Membership { ApplicationId = applicationId.Value, UserId = userId.Value, Password = pass, PasswordSalt = salt, Email = email, LoweredEmail = email.ToLower(), PasswordQuestion = passwordQuestion, PasswordAnswer = encodedPasswordAnswer, IsApproved = isApproved, IsLockedOut = false, CreateDate = createDate, LastLoginDate = createDate, LastPasswordChangedDate = createDate, LastLockoutDate = new DateTime(1754,1,1), FailedPasswordAttemptCount = 0, FailedPasswordAttemptWindowStart = new DateTime(1754,1,1), FailedPasswordAnswerAttemptCount = 0, FailedPasswordAnswerAttemptWindowStart = new DateTime(1754,1,1) }; db.aspnet_Memberships.InsertOnSubmit(membership); db.SubmitChanges(); if (errorCode < 0 || errorCode > (int)MembershipCreateStatus.ProviderError) errorCode = (int)MembershipCreateStatus.ProviderError; return new CreateUserViewModel { Status = errorCode, UserId = userId.Value, Date = createDate }; }
private void detach_aspnet_Memberships(aspnet_Membership entity) { this.SendPropertyChanging(); entity.aspnet_Application = null; }
partial void Updateaspnet_Membership(aspnet_Membership instance);
partial void Deleteaspnet_Membership(aspnet_Membership instance);
partial void Insertaspnet_Membership(aspnet_Membership instance);