public ActionResult FacebookCallback(string code) { var fb = new FacebookClient(); dynamic result = fb.Post("oauth/access_token", new { client_id = System.Configuration.ConfigurationManager.AppSettings["FacebookAppID"], client_secret = System.Configuration.ConfigurationManager.AppSettings["FacebookAppSecret"], redirect_uri = RedirectUri.AbsoluteUri, code = code }); var accessToken = result.access_token; fb.AccessToken = accessToken; dynamic me = fb.Get("me?fields=email"); if (!IsUserRegistered(me.mail)) { using (TicketBookingEntities db = new TicketBookingEntities()) { string password = DateTime.Now.ToString(); RegisteredUser user = new Models.RegisteredUser() { Username = me.email, Password = password, Email = me.email }; db.RegisteredUsers.Add(user); db.Memberships.Add(new Models.Membership() { UserID = user.ID, Role = db.Roles.Single(x => x.ID == 1).Name }); db.SaveChanges(); } } FormsAuthentication.SetAuthCookie(me.email, false); Session["login"] = true; Session["username"] = me.email; return RedirectToAction("Index", "Home"); }
public ActionResult Create(CardInfo card) { if (ModelState.IsValid) { string username = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name; TicketBookingEntities db = new TicketBookingEntities(); int userid = db.RegisteredUsers.Single(x => x.Username == username).ID; card.UserID = userid; db.CardInfoes.Add(card); db.SaveChanges(); return RedirectToAction("Details", "Account"); } ModelState.AddModelError("error", "Check your data input!!!"); return View(card); }
public ActionResult Register(RegisteredUser user) { if (ModelState.IsValid) { using (TicketBookingEntities db = new TicketBookingEntities()) { if (!db.RegisteredUsers.Any(x => x.Username == user.Username)) { db.RegisteredUsers.Add(user); db.Memberships.Add(new Models.Membership() { UserID = user.ID, Role = db.Roles.Single(x => x.ID == 1).Name }); db.SaveChanges(); return RedirectToAction("Login", "Account"); } } } ModelState.AddModelError("error", "Something's wrong!!!"); return View(user); }