public void AddUserRating(int userId, int categoryId, int value) { using (var db = new EdurateDb()) { var userRating = db.UsersInCategory.Find(userId, categoryId); if (userRating == null) { userRating = new UsersInCategory() { UserId = userId, CategoryId = categoryId, Rating = value }; db.UsersInCategory.Add(userRating); db.SaveChanges(); } else { userRating.Rating += value; db.SaveChanges(); } } }
public ActionResult ExternalLoginConfirmation(RegisterExternalLoginModel model, string returnUrl) { string provider = null; string providerUserId = null; if (User.Identity.IsAuthenticated || !OAuthWebSecurity.TryDeserializeProviderUserId(model.ExternalLoginData, out provider, out providerUserId)) { return RedirectToAction("Manage"); } if (ModelState.IsValid) { // Insert a new user into the database using (EdurateDb db = new EdurateDb()) { User user = db.Users.FirstOrDefault(u => u.Email.ToLower() == model.UserName.ToLower()); // Check if user already exists if (user == null) { // Insert name into the profile table db.Users.Add(new User { Email = model.UserName }); db.SaveChanges(); OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, model.UserName); OAuthWebSecurity.Login(provider, providerUserId, createPersistentCookie: false); return RedirectToLocal(returnUrl); } else { ModelState.AddModelError("UserName", "User name already exists. Please enter a different user name."); } } } ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(provider).DisplayName; ViewBag.ReturnUrl = returnUrl; return View(model); }