public ActionResult Create(CategoryAndEventModel eventSubmittion) { try { var userID = User.Identity.GetUserId(); SynicUser user = db.SynicUsers.Where(u => u.ApplicationUserRefId == userID).SingleOrDefault(); Event eventModel = new Event(); eventModel = eventSubmittion.Event; int categoryIdFromDb = db.Categories.Where(c => c.Title == eventSubmittion.Category.Title).Select(c => c.ID).SingleOrDefault(); eventModel.CategoryRefId = categoryIdFromDb; eventModel.UserRefId = user.ID; db.Events.Add(eventModel); db.SaveChanges(); return(RedirectToAction("Details", new { id = eventModel.ID })); } catch { ViewBag.StartTime = new SelectList(startTime); ViewBag.EndTime = new SelectList(endTime); ViewBag.CategoryList = new SelectList(db.Categories.Select(c => c.Title).ToList()); return(View(eventSubmittion)); } }
// GET: Event/Details/5 public ActionResult Details(int?id) { Event eventFromDb = db.Events.Where(e => e.ID == id).FirstOrDefault(); SynicUser userFromDb = db.SynicUsers.Where(u => u.ID == eventFromDb.UserRefId).SingleOrDefault(); eventFromDb.User = userFromDb; eventFromDb.TotalRating = RatingCalculation(eventFromDb.ID); return(View("Event", eventFromDb)); }
// GET: Review/Create public ActionResult Create(int?id) { ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId()); SynicUser loggedInUser = db.SynicUsers.Where(u => u.ApplicationUserRefId == user.Id).SingleOrDefault(); Event eventFromDb = db.Events.Where(e => e.ID == id).SingleOrDefault(); if (eventFromDb.UserRefId != loggedInUser.ID) { return(View(eventFromDb.ID)); } else { // users should not be able to rate their own event return(View("Index", "Regular")); } }
public ActionResult Create(Rating review, int?id) { try { var userID = User.Identity.GetUserId(); SynicUser userFromDb = db.SynicUsers.Where(u => u.ApplicationUserRefId == userID).SingleOrDefault(); review.SynicUserRefId = userFromDb.ID; review.SynicUser = userFromDb; db.Ratings.Add(review); db.SaveChanges(); return(RedirectToAction("Details", new { id = review.ID })); } catch { return(View(review)); } }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { SynicUser userTableData = new SynicUser(); userTableData.FirstName = model.FirstName; userTableData.LastName = model.LastName; userTableData.ApplicationUserRefId = user.Id; db.SynicUsers.Add(userTableData); db.SaveChanges(); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); await this.UserManager.AddToRoleAsync(user.Id, model.Role); return(RedirectToAction("Index", "Regular", userTableData)); } ViewBag.Roles = new SelectList(db.Roles.ToList(), "Name", "Name"); AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }