public static void LogAddReservation(this UsersContext db, Reservation reservation, UserProfile loginUser, UserProfile pinUser) { string comment; var audit = new ReservationAudit(); if (pinUser != null) { comment = string.Format(ReservationComments.Added_New_Reservation_UsingPIN, loginUser.FirstName + " " + loginUser.LastName, pinUser.UserCode); audit.PinUserId = pinUser.Id; } else comment = string.Format(ReservationComments.Added_New_Reservation, loginUser.FirstName + " " + loginUser.LastName); audit.Comment = comment; audit.ReservationId = reservation.ReservationId; audit.LoginUserId = loginUser.Id; audit.CreatedOn = DateTime.UtcNow; audit.Action = "Created"; audit.TimeForm = reservation.TimeForm; audit.TableName = reservation.FloorTableId > 0 ? db.tabFloorTables.Find(reservation.FloorTableId).TableName : db.tabMergedFloorTables.Find(reservation.MergedFloorTableId).TableName; audit.Covers = reservation.Covers; audit.Notes = reservation.ReservationNote ?? string.Empty; audit.TimeTo = reservation.TimeTo; audit.StatusId = (int)reservation.StatusId.Value; db.tabReservationAudits.Add(audit); }
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl) { if (User.Identity.IsAuthenticated) { return RedirectToAction("Index", "Manage"); } 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"); } var user = new UserProfile { 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 async Task<ActionResult> Register(RegisterViewModel model) { if (model.TermAndCondition == false) { ViewBag.Countries = new SelectList(db.tabCountry.ToList(), "CountryId", "CountryName"); ModelState.AddModelError("", "Select Terms & Conditions."); return View(model); } if (ModelState.IsValid) { var user = new UserProfile { UserName = model.UserName, Email = model.UserName }; var userget = UserManager.FindByName(model.UserName); if (userget != null) { if (userget.UserName == model.UserName) { ViewBag.Countries = new SelectList(db.tabCountry.ToList(), "CountryId", "CountryName"); ModelState.AddModelError("", "Email already exists."); return View(model); } } var RestaurantName = db.Users.Where(c => c.RestaurantName.Trim() == model.RestaurantName.Trim()).FirstOrDefault(); if (RestaurantName != null) { if (RestaurantName.RestaurantName.Trim() == RestaurantName.RestaurantName.Trim()) { ViewBag.Countries = new SelectList(db.tabCountry.ToList(), "CountryId", "CountryName"); ModelState.AddModelError("", "Venue Name already exists."); return View(model); } } Address address = new Address(); address.City = model.Address.City; address.State = model.Address.State; address.CountryId = model.Address.CountryId; address.PostalCode = model.Address.PostalCode; db.tabAddress.Add(address); db.SaveChanges(); var result = UserManager.Create(new UserProfile { Email = model.UserName, FirstName = model.FirstName, LastName = model.LastName, UserName = model.UserName, PhoneNumber = model.phone, Notes = model.Notes, AddressId = address.AddressId, RestaurantName = model.RestaurantName, TermAndCondition = model.TermAndCondition, Approved = false }, model.Password); if (result.Succeeded) { var getUser = UserManager.FindByName(model.UserName); var roleresult = UserManager.AddToRole(getUser.Id, "user"); try { send.SendEmailToAdmin(model.UserName, model); send.SendEmailToUserWaitForApprovel(model.UserName, model.FirstName); } catch (Exception) { var getuser = UserManager.FindById(getUser.Id); var logins = getuser.Logins; foreach (var login in logins.ToList()) { UserManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } var rolesForUser = UserManager.GetRoles(getUser.Id); if (rolesForUser.Count() > 0) { foreach (var item in rolesForUser.ToList()) { // item should be the name of the role var getresult = UserManager.RemoveFromRole(getuser.Id, item); } } try { UserManager.Delete(getuser); } catch (Exception) { throw; } return RedirectToAction("NotRegister", "Account"); } return RedirectToAction("ThankYouRegister", "Account"); } AddErrors(result); } ViewBag.Countries = new SelectList(db.tabCountry.ToList(), "CountryId", "CountryName"); // If we got this far, something failed, redisplay form return View(model); }