// ActivityId //public ActionResult Book(string id, string note) // ActivityId public void Book(string id, string note) { int idi = int.Parse(id); //if (!WebSecurity.Initialized) //{ // WebSecurity.InitializeDatabaseConnection( // "DefaultConnection", "User", "UserId", "UserName", // autoCreateTables: false); //} UsersContext uc = new UsersContext(); UserProfile userProfile = uc.UserProfiles.Where(x => x.UserId == WebSecurity.CurrentUserId).FirstOrDefault(); //var fname = userProfile.FirstName; //var laname = userProfile.LastName; db.Bookings.Add(new Booking() { ActivityId = idi, UserId = WebSecurity.CurrentUserId, Note = note, }); db.SaveChanges(); var activity = db.Activities.FirstOrDefault(a => a.Id == idi); }
public SimpleMembershipInitializer() { Database.SetInitializer<UsersContext>(null); try { using (var context = new UsersContext()) { if (!context.Database.Exists()) { // Create the SimpleMembership database without Entity Framework migration schema ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } } if (!WebSecurity.Initialized) WebSecurity.InitializeDatabaseConnection("DefaultConnection", "User", "UserId", "UserName", autoCreateTables: true); } catch (Exception ex) { throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex); } }
public ActionResult Bookings(int calenderid, DateTime fromdate, DateTime todate) { var udb = new UsersContext(); var calender = db.Calenders.FirstOrDefault(a => a.Id == calenderid); if (calender == null) { return RedirectToAction("IncorrectData", "Error"); } bool IsAdmin = LinkExtensions.IsLoggedInUserAdmin(calender.CompanyID); if (!IsAdmin) { return RedirectToAction("NotAuthorized", "Error"); } var activities = calender.Activities.Where(a => a.Date.Date >= fromdate.Date && a.Date.Date <= todate.Date).ToList(); foreach (var activity in activities) { foreach (var booking in activity.Bookings) { if (booking.UserId != null) booking.User = udb.UserProfiles.First(a => a.UserId == booking.UserId); } } ViewBag.CompanyId = calender.CompanyID; ViewBag.CalenderId = calenderid; ViewBag.FromDate = fromdate.Date.ToShortDateString(); return View(activities); }
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 (UsersContext db = new UsersContext()) { UserProfile 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 static bool IsLoggedInUserAdmin(int companyId) { UsersContext uc = new UsersContext(); UserProfile userProfile = uc.UserProfiles.Where(x => x.UserId == WebSecurity.CurrentUserId).FirstOrDefault(); if (userProfile == null) return false; var isAdmin = System.Web.Security.Roles.GetRolesForUser().Contains("admin"); // Admin always see. UsersContext db = new UsersContext(); // Check if logged in user is companyAdmin to this company if (isAdmin || db.CompanyAdmin.Any(a => a.CompanyId == companyId && a.UserId == userProfile.UserId)) return true; return false; }