public void InitializeGLFDb(string name, bool isConnString) { if (!DbIsInitialized) { DbName = name; IsConnString = isConnString; using (GLFDbContext db = new GLFDbContext(DbName, IsConnString)) { }; } DbIsInitialized = true; }
private static void testGenericLoginFrameworkDbContext() { System.Console.WriteLine("Testing database creation"); using (GLFDbContext db = new GLFDbContext("shit", false)) { //db.Users.Add(new User { ID = "glfUser" }); //db.FacebookResources.Add(new OAuth.Resources.FacebookResource { ID = "GlfFbUser", UserID = "glfUser" }); //db.GoogleResources.Add(new OpenID.Resources.GoogleResource { ID = "GlfGUser", UserID = "glfUser" }); //db.SaveChanges(); } }
public async Task<User> GetUserFromOAuthToken(OAuthProviderEnum pro, string token) { OAuthProvider provider = GetOAuthProvider(pro); OAuthResource resource = await provider.GetResourceFromToken(token); User user = null; using(GLFDbContext db = new GLFDbContext(DbName, IsConnString)) { if (pro == OAuthProviderEnum.FacebookProvider) { user = db.Users.Where(u => u.FacebookResource.ID == resource.ID) .Include(u => u.FacebookResource) .Include(u => u.GoogleResource) .FirstOrDefault(); } if (user != null) { if(pro == OAuthProviderEnum.FacebookProvider) { db.Entry(user.FacebookResource).CurrentValues.SetValues(resource); } } else { Type type = typeof(User); PropertyInfo property = type.GetProperty(resource.GetType().Name, BindingFlags.Public | BindingFlags.Instance); user = new User (); property.SetValue(user, resource, null); db.Users.Add(user); } db.SaveChanges(); } return user; }