public static void Seed(DealsContext context) { var categories = CreateDealCategories(context); var merchants = CreateMerchants(context); var deals = CreateDeals(context, categories, merchants); var users = CreateUsers(context); CreateDealOptions(context, deals); CreateDealComments(context, deals, users); CreateDealImages(context, deals); context.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 (DealsContext db = new DealsContext()) { var user = db.UserProfiles.FirstOrDefault(u => u.UserName.ToLower() == model.UserName.ToLower()); // Check if user already exists if (user == null) { // Insert name into the profile table db.UserProfiles.Add(new UserProfile { UserName = 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); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Attempt to register the user try { WebSecurity.CreateUserAndAccount(model.UserName, model.Password); using (var context = new DealsContext()) { var user = new User { Username = model.UserName, EmailAddress = model.UserName }; context.Users.Add(user); context.SaveChanges(); } WebSecurity.Login(model.UserName, model.Password); return RedirectToAction("Index", "Home"); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // If we got this far, something failed, redisplay form return View(model); }
// POST api/<controller> public HttpResponseMessage Post([FromBody]NewOrderModel newOrder) { var emailAddress = User.Identity.Name; var dealOptionGuid = default(Guid); Guid.TryParse(newOrder.DealOptionId, out dealOptionGuid); using (var context = new DealsContext()) { var user = context.Users.First(u => u.EmailAddress == emailAddress); var dealOption = context.DealOptions.First(d => d.Id == dealOptionGuid); var attributes = newOrder.SelectedAttributes .Select(attr=> { return Guid.Parse(attr.Value); }) .Select(attr => { return context.DealAttributes.First(a => a.Id.Equals(attr)); }); var cart = new Cart { Id = Guid.NewGuid(), DealOption = dealOption, DealAttributes = attributes.ToList(), Quantity = 1, User = user }; context.Carts.Add(cart); context.SaveChanges(); } return Request.CreateResponse(HttpStatusCode.OK); }