public ActionResult LeaveComment(User user, string comment, int commentId) { return View(); }
public ActionResult AuthenticateCallback(string providerKey) { if (string.IsNullOrEmpty(providerKey)) { throw new ArgumentNullException("providerKey"); } // Determine which settings we need, based on the Provider. var settings = _authenticationService.GetAuthenticateServiceSettings(providerKey, Request.Url, "account/authenticatecallback"); // Don't check for somet State. settings.State = null; var model = new AuthenticateCallbackViewModel(); try { // Grab the authenticated client information. model.AuthenticatedClient = _authenticationService.GetAuthenticatedClient(settings, Request.QueryString); } catch (Exception exception) { model.Exception = exception; } if (model.Exception == null) { var user = _userRepository.GetByUsername(model.AuthenticatedClient.UserInformation.UserName); if (user == null) { if (SessionFacade.User != null) { //Hook up accounts _tracer.WriteTrace("User logged in, external login failed"); var dbUser = _userRepository.Get(SessionFacade.User.Id); SetAuthenticationHandle(model, dbUser); _userRepository.Update(dbUser); SignInUser(dbUser.Username, false, dbUser); } else { //Add new user _tracer.WriteTrace("User not logged in, external login failed"); var newUser = new User(); SetAuthenticationHandle(model, newUser); newUser.Name = model.AuthenticatedClient.UserInformation.Name; newUser.ImgUrl = model.AuthenticatedClient.UserInformation.Picture; newUser.Email = model.AuthenticatedClient.UserInformation.Email; newUser.Username = model.AuthenticatedClient.UserInformation.UserName; _userRepository.Create(newUser); SignInUser(newUser.Username, false, newUser); } } else if (SessionFacade.User != null && user != SessionFacade.User) { //TODO: Add error } else { SignInUser(user.Username, false, user); } } return RedirectToAction("Index", "Home"); }
private void SetAuthenticationHandle(AuthenticateCallbackViewModel model, User dbUser) { if (model.AuthenticatedClient.ProviderName == Enum.GetName(typeof (ProviderNames), ProviderNames.twitter)) dbUser.TwitterHandle = model.AuthenticatedClient.UserInformation.Id; else if (model.AuthenticatedClient.ProviderName == Enum.GetName(typeof (ProviderNames), ProviderNames.facebook)) dbUser.FacebookHandle = model.AuthenticatedClient.UserInformation.Id; else if (model.AuthenticatedClient.ProviderName == Enum.GetName(typeof (ProviderNames), ProviderNames.google)) dbUser.GoogleHandle = model.AuthenticatedClient.UserInformation.Id; }
private ActionResult SignInUser(string username, bool rememberMe, User user) { _formsAuthentication.SetAuthCookie(username, rememberMe); SessionFacade.User = user; var diet = user.UserDiets.LastOrDefault(ud => ud.Active); if(diet != null) { var userDiet = diet.Diet; var dietViewModel = Mapper.Map<Diet, DietViewModel>(userDiet); dietViewModel.Meals = Mapper.Map<IEnumerable<DietMeal>, IEnumerable<DietMealViewModel>>(userDiet.DietMeals); dietViewModel.Ingredients = Mapper.Map<IEnumerable<DietIngredient>, IEnumerable<DietIngredientViewModel>>(userDiet.DietIngredients); SessionFacade.CurrentDiet = dietViewModel; } return RedirectToAction("Index", "Home"); }
public PartialViewResult Comments(User user) { return PartialView("_Comments", Mapper.Map<IEnumerable<Comment>, IEnumerable<CommentViewModel>>(_commentRepository.GetLatestCommentsForUser(user.Id))); }