private void SetFormsAuth(Services.Person authenticatedPerson, bool rememberMe) { this.CurrentUser = new uiModel.Person { ID = authenticatedPerson.ID, ImageUrl = authenticatedPerson.ImageUrl, Website = authenticatedPerson.Website, Email = authenticatedPerson.Email, Bio = authenticatedPerson.Bio, Twitter = authenticatedPerson.Twitter, Blog = authenticatedPerson.Blog, Title = authenticatedPerson.Title, FirstName = authenticatedPerson.FirstName, LastName = authenticatedPerson.LastName, IsAdmin = authenticatedPerson.IsAdmin, Location = authenticatedPerson.Location, LoginProvider = authenticatedPerson.LoginProvider }; HttpContext.Session.Add("auth", true); HttpContext.User = CurrentUser; SetPersonRoles(this.CurrentUser); CreateAuthTicket(rememberMe); // FormsAuthentication.SetAuthCookie(CurrentUser.Email, false); // ??? }
public int RegisterPerson(Person person) { var p = new CC.Data.Person(); Mapper.CopyProperties(person, p); _dbContext.People.Add(p); _dbContext.SaveChanges(); return(p.ID); }
public async Task <ActionResult> ExternalLoginCallback(string returnUrl) { ExternalLoginInfo loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return(RedirectToAction("LogOn")); } Services.Person authenticatedPerson = null; Services.Person person = service.FindPersonByEmail(loginInfo.Email); if (person == null) { ViewBag.ReturnUrl = returnUrl; ViewBag.LoginProvider = loginInfo.Login.LoginProvider; ViewBag.TShirtSizes = repo.GetTShirtSizes(); return(View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email, LoginProvider = loginInfo.Login.LoginProvider })); } else { if (person.LoginProvider != loginInfo.Login.LoginProvider) { person.LoginProvider = loginInfo.Login.LoginProvider; //service.ChangePassword(person.ID, person.PasswordHash, null); service.UpdatePerson(person); } authenticatedPerson = service.Login(person); } if (authenticatedPerson != null) { //bool rememberMe = frm["rememberMe"] == "on"; SetFormsAuth(authenticatedPerson, false); if (string.IsNullOrEmpty(authenticatedPerson.Location)) { return(RedirectToAction("UpdateProfile", "Account")); } else { return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "The user name or password provided is incorrect."); } return(RedirectToAction("LogOn")); }
public Person FindPersonByEmail(string email) { Person dcAttendee = default(Person); var bcAttendee = _dbContext.People.SingleOrDefault(p => p.Email == email); if (bcAttendee != null) { dcAttendee = new Person(); Mapper.CopyProperties(bcAttendee, dcAttendee); } return dcAttendee; }
public Person FindPersonByEmail(string email) { Person dcAttendee = default(Person); var bcAttendee = _dbContext.People.SingleOrDefault(p => p.Email == email); if (bcAttendee != null) { dcAttendee = new Person(); Mapper.CopyProperties(bcAttendee, dcAttendee); } return(dcAttendee); }
public Person Login(Person person) { Person dcAttendee = default(Person); var bcAttendee = _dbContext.People .SingleOrDefault(p => p.Email == person.Email && p.PasswordHash == person.PasswordHash); if (bcAttendee != null) { dcAttendee = new Person(); Mapper.CopyProperties(bcAttendee, dcAttendee); } return(dcAttendee); }
public void UpdatePerson(Person person) { var p = _dbContext.People.Find(person.ID); p.FirstName = person.FirstName; p.LastName = person.LastName; p.Title = person.Title; p.Bio = person.Bio; p.Website = person.Website; p.Blog = person.Blog; p.Twitter = person.Twitter; p.ImageUrl = person.ImageUrl; p.Location = person.Location; p.TShirtSize = person.TShirtSize; p.LoginProvider = person.LoginProvider; _dbContext.SaveChanges(); }
public Person Login(Person person) { Person dcAttendee = default(Person); var bcAttendee = _dbContext.People .SingleOrDefault(p => p.Email == person.Email && p.PasswordHash == person.PasswordHash); if (bcAttendee != null) { dcAttendee = new Person(); Mapper.CopyProperties(bcAttendee, dcAttendee); } return dcAttendee; }
public void AssignVolunteerTaskToPerson(Task task, Person person) { var e = _dbContext.Tasks.Find(task.Id); if (e == null) { throw new ArgumentException("Task not found"); } //CC.Data.Task bcTask = e.Map(); //task.Volunteers.Add() //List<Track> result = new List<Track>(); //foreach (var track in e.Tracks) // result.Add(track.Map()); //result }
/// <summary> /// Maps a CodeCampService.Person to a Model.Person /// </summary> /// <param name="person"></param> /// <returns></returns> public static Model.Person Map(Services.Person person) { var p = new Model.Person { ID = person.ID, ImageUrl = person.ImageUrl, Website = person.Website, Email = person.Email, Bio = person.Bio, Twitter = person.Twitter, Blog = person.Blog, Title = person.Title, FirstName = person.FirstName, LastName = person.LastName, IsAdmin = person.IsAdmin, Location = person.Location, TShirtSizeId = person.TShirtSize, LoginProvider = person.LoginProvider, }; return(p); }
public ActionResult LogOn(LogOnModel model, string returnUrl, FormCollection frm) { if (ModelState.IsValid) { Services.Person authenticatedPerson = null; Services.Person person = service.FindPersonByEmail(model.Email, internalUserPwProvider); if (person == null) { ModelState.AddModelError("", ""); return(View(model)); //RedirectToAction("LogOn", "Account"); } else { person.PasswordHash = HashProvider.ComputePasswordHash(model.Password); authenticatedPerson = service.Login(person); } if (authenticatedPerson != null) { bool rememberMe = frm["rememberMe"] == "on"; SetFormsAuth(authenticatedPerson, rememberMe); if (string.IsNullOrEmpty(authenticatedPerson.Location)) { return(RedirectToAction("UpdateProfile", "Account")); } else { return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "The user name or password provided is incorrect."); } } return(View(model)); }
public int RegisterPerson(Person person) { var p = new CC.Data.Person(); Mapper.CopyProperties(person, p); _dbContext.People.Add(p); _dbContext.SaveChanges(); return p.ID; }
public void UpdatePerson(Person person) { _personRepository.UpdatePerson(person); }
public void AssignVolunteerTaskToPerson(Task task, Person person) { _taskRepository.AssignVolunteerTaskToPerson(task, person); }
public Person Login(Person person) { return _personRepository.Login(person); }
public async Task <ActionResult> ExternalLoginConfirmation(int eventId, ExternalLoginConfirmationViewModel model, string returnUrl, FormCollection frm) //public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl) { if (User.Identity.IsAuthenticated) { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { // Get the information about the user from the external login provider //var info = await AuthenticationManager.GetExternalLoginInfoAsync(); //if (info == null) //{ // return View("ExternalLoginFailure"); //} ViewBag.TShirtSizes = repo.GetTShirtSizes(); Services.Person newPerson = new Services.Person(); if (IsDuplicateRegistration(model.Email)) { ModelState.AddModelError("Email", "The user at this email address is already registered."); return(View(model)); } else { newPerson = new Services.Person() { Email = model.Email, //PasswordHash = UserNamePasswordHashProvider.ComputePasswordHash(model.Password), Twitter = model.Twitter, FirstName = model.FirstName, LastName = model.LastName, Location = model.Location, TShirtSize = model.TShirtSizeId, LoginProvider = model.LoginProvider }; } if (!String.IsNullOrEmpty(model.Twitter)) { if (!model.Twitter.StartsWith("@")) { const string twitterPrefix = "@"; model.Twitter = string.Format("{0}{1}", twitterPrefix, model.Twitter); } } bool useTwitter = frm["cbTwitter"] == "on"; //bool useTwitter = false; if (model.Avatar != null) { newPerson.ImageUrl = GetImageInfo(model.Avatar, "/Content/avatar"); } else if (useTwitter) { newPerson.ImageUrl = GetImageInfo(model.Twitter, LocalImageUrl); } else { newPerson.ImageUrl = LocalImageUrl; } // service.RegisterPerson(newPerson); newPerson.ID = service.RegisterPerson(newPerson); // service.FindPersonByEmail(newPerson.Email).ID; //service.GetDefaultEvent().ID service.Rsvp(eventId, newPerson.ID, "YES"); //service.Rsvp(service.GetDefaultEvent().ID, newPerson.ID, "YES"); this.CurrentUser = new uiModel.Person { ID = newPerson.ID, ImageUrl = newPerson.ImageUrl, Website = newPerson.Website, Email = newPerson.Email, Bio = newPerson.Bio, Twitter = newPerson.Twitter, Blog = newPerson.Blog, Title = newPerson.Title, FirstName = newPerson.FirstName, LastName = newPerson.LastName, IsAdmin = newPerson.IsAdmin, Location = newPerson.Location, LoginProvider = newPerson.LoginProvider }; HttpContext.User = this.CurrentUser; HttpContext.Session.Add("auth", true); //this.CurrentUser = newPerson.Map(); //FormsAuthentication.SetAuthCookie(CurrentUser.Email, false); // ??? CreateAuthTicket(false); return(RedirectToLocal(returnUrl)); //var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; //var result = await UserManager.CreateAsync(user); //if (result.Succeeded) //{ // result = await UserManager.AddLoginAsync(user.Id, info.Login); // if (result.Succeeded) // { // await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); // return RedirectToLocal(returnUrl); // } //} //AddErrors(result); } ViewBag.ReturnUrl = returnUrl; return(View(model)); }
public int RegisterPerson(Person person) { return _personRepository.RegisterPerson(person); }
public ActionResult Register(int eventId, RegisterModel model, FormCollection frm) { if (ModelState.IsValid) { ViewBag.TShirtSizes = repo.GetTShirtSizes(); if (IsDuplicateRegistration(model.Email)) { ModelState.AddModelError("Email", "The user at this email address is already registered."); return View(model); } if (!String.IsNullOrEmpty(model.Twitter)) { if (!model.Twitter.StartsWith("@")) { const string twitterPrefix = "@"; model.Twitter = string.Format("{0}{1}", twitterPrefix, model.Twitter); } } var newPerson = new Services.Person() { Email = model.Email, PasswordHash = UserNamePasswordHashProvider.ComputePasswordHash(model.Password), Twitter = model.Twitter, FirstName = model.FirstName, LastName = model.LastName, Location = model.Location, TShirtSize = model.TShirtSizeId, LoginProvider = internalUserPwProvider }; bool useTwitter = frm["cbTwitter"] == "on"; if (model.Avatar != null) { newPerson.ImageUrl = GetImageInfo(model.Avatar, "/Content/avatar"); } else if (useTwitter) { newPerson.ImageUrl = GetImageInfo(model.Twitter, LocalImageUrl); } else { newPerson.ImageUrl = LocalImageUrl; } // service.RegisterPerson(newPerson); newPerson.ID = service.RegisterPerson(newPerson); // service.FindPersonByEmail(newPerson.Email).ID; service.Rsvp(eventId, newPerson.ID, "YES"); this.CurrentUser = new uiModel.Person { ID = newPerson.ID, ImageUrl = newPerson.ImageUrl, Website = newPerson.Website, Email = newPerson.Email, Bio = newPerson.Bio, Twitter = newPerson.Twitter, Blog = newPerson.Blog, Title = newPerson.Title, FirstName = newPerson.FirstName, LastName = newPerson.LastName, IsAdmin = newPerson.IsAdmin, Location = newPerson.Location }; HttpContext.User = this.CurrentUser; HttpContext.Session.Add("auth", true); //this.CurrentUser = newPerson.Map(); //FormsAuthentication.SetAuthCookie(CurrentUser.Email, false); // ??? CreateAuthTicket(false); return RedirectToAction("Index", "Home"); } // If we got this far, something failed, redisplay form return View(model); }
public static Person Map(this Data.Person p) { Person person = new Person { ID = p.ID, Email = p.Email, FirstName = p.FirstName, LastName = p.LastName, Title = p.Title, Bio = p.Bio, Website = p.Website, Blog = p.Blog, Twitter = p.Twitter, ImageUrl = p.ImageUrl }; return person; }
public async Task<ActionResult> ExternalLoginConfirmation(int eventId, ExternalLoginConfirmationViewModel model, string returnUrl, FormCollection frm) //public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl) { if (User.Identity.IsAuthenticated) { return RedirectToAction("Index", "Home"); } if (ModelState.IsValid) { // Get the information about the user from the external login provider //var info = await AuthenticationManager.GetExternalLoginInfoAsync(); //if (info == null) //{ // return View("ExternalLoginFailure"); //} ViewBag.TShirtSizes = repo.GetTShirtSizes(); Services.Person newPerson = new Services.Person(); if (IsDuplicateRegistration(model.Email)) { ModelState.AddModelError("Email", "The user at this email address is already registered."); return View(model); } else { newPerson = new Services.Person() { Email = model.Email, //PasswordHash = UserNamePasswordHashProvider.ComputePasswordHash(model.Password), Twitter = model.Twitter, FirstName = model.FirstName, LastName = model.LastName, Location = model.Location, TShirtSize = model.TShirtSizeId, LoginProvider = model.LoginProvider }; } if (!String.IsNullOrEmpty(model.Twitter)) { if (!model.Twitter.StartsWith("@")) { const string twitterPrefix = "@"; model.Twitter = string.Format("{0}{1}", twitterPrefix, model.Twitter); } } bool useTwitter = frm["cbTwitter"] == "on"; //bool useTwitter = false; if (model.Avatar != null) { newPerson.ImageUrl = GetImageInfo(model.Avatar, "/Content/avatar"); } else if (useTwitter) { newPerson.ImageUrl = GetImageInfo(model.Twitter, LocalImageUrl); } else { newPerson.ImageUrl = LocalImageUrl; } // service.RegisterPerson(newPerson); newPerson.ID = service.RegisterPerson(newPerson); // service.FindPersonByEmail(newPerson.Email).ID; //service.GetDefaultEvent().ID service.Rsvp(eventId, newPerson.ID, "YES"); //service.Rsvp(service.GetDefaultEvent().ID, newPerson.ID, "YES"); this.CurrentUser = new uiModel.Person { ID = newPerson.ID, ImageUrl = newPerson.ImageUrl, Website = newPerson.Website, Email = newPerson.Email, Bio = newPerson.Bio, Twitter = newPerson.Twitter, Blog = newPerson.Blog, Title = newPerson.Title, FirstName = newPerson.FirstName, LastName = newPerson.LastName, IsAdmin = newPerson.IsAdmin, Location = newPerson.Location, LoginProvider = newPerson.LoginProvider }; HttpContext.User = this.CurrentUser; HttpContext.Session.Add("auth", true); //this.CurrentUser = newPerson.Map(); //FormsAuthentication.SetAuthCookie(CurrentUser.Email, false); // ??? CreateAuthTicket(false); return RedirectToLocal(returnUrl); //var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; //var result = await UserManager.CreateAsync(user); //if (result.Succeeded) //{ // result = await UserManager.AddLoginAsync(user.Id, info.Login); // if (result.Succeeded) // { // await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); // return RedirectToLocal(returnUrl); // } //} //AddErrors(result); } ViewBag.ReturnUrl = returnUrl; return View(model); }
public ActionResult Register(int eventId, RegisterModel model, FormCollection frm) { if (ModelState.IsValid) { ViewBag.TShirtSizes = repo.GetTShirtSizes(); if (IsDuplicateRegistration(model.Email)) { ModelState.AddModelError("Email", "The user at this email address is already registered."); return(View(model)); } if (!String.IsNullOrEmpty(model.Twitter)) { if (!model.Twitter.StartsWith("@")) { const string twitterPrefix = "@"; model.Twitter = string.Format("{0}{1}", twitterPrefix, model.Twitter); } } var newPerson = new Services.Person() { Email = model.Email, PasswordHash = UserNamePasswordHashProvider.ComputePasswordHash(model.Password), Twitter = model.Twitter, FirstName = model.FirstName, LastName = model.LastName, Location = model.Location, TShirtSize = model.TShirtSizeId, LoginProvider = internalUserPwProvider }; bool useTwitter = frm["cbTwitter"] == "on"; if (model.Avatar != null) { newPerson.ImageUrl = GetImageInfo(model.Avatar, "/Content/avatar"); } else if (useTwitter) { newPerson.ImageUrl = GetImageInfo(model.Twitter, LocalImageUrl); } else { newPerson.ImageUrl = LocalImageUrl; } // service.RegisterPerson(newPerson); newPerson.ID = service.RegisterPerson(newPerson); // service.FindPersonByEmail(newPerson.Email).ID; service.Rsvp(eventId, newPerson.ID, "YES"); this.CurrentUser = new uiModel.Person { ID = newPerson.ID, ImageUrl = newPerson.ImageUrl, Website = newPerson.Website, Email = newPerson.Email, Bio = newPerson.Bio, Twitter = newPerson.Twitter, Blog = newPerson.Blog, Title = newPerson.Title, FirstName = newPerson.FirstName, LastName = newPerson.LastName, IsAdmin = newPerson.IsAdmin, Location = newPerson.Location }; HttpContext.User = this.CurrentUser; HttpContext.Session.Add("auth", true); //this.CurrentUser = newPerson.Map(); //FormsAuthentication.SetAuthCookie(CurrentUser.Email, false); // ??? CreateAuthTicket(false); return(RedirectToAction("Index", "Home")); } // If we got this far, something failed, redisplay form return(View(model)); }