public ActionResult ResetPassword(string id) { //Verify the reset password link //Find account associated with this link //redirect to reset password page if (string.IsNullOrWhiteSpace(id)) { return(HttpNotFound()); } using (RecruiterContext dc = new RecruiterContext()) { var user = dc.Users.Where(a => a.ResetPasswordCode == id).FirstOrDefault(); if (user != null) { ResetPassword model = new ResetPassword(); model.ResetCode = id; return(View(model)); } else { return(HttpNotFound()); } } }
public ActionResult ResetPassword(ResetPassword model) { var message = ""; if (ModelState.IsValid) { using (RecruiterContext dc = new RecruiterContext()) { var user = dc.Users.Where(a => a.ResetPasswordCode == model.ResetCode).FirstOrDefault(); if (user != null) { // user.Password = Crypto.Hash(model.NewPassword); user.ResetPasswordCode = ""; dc.Configuration.ValidateOnSaveEnabled = false; dc.SaveChanges(); message = "New password updated successfully"; } } } else { message = "Something invalid"; } ViewBag.Message = message; return(View(model)); }
public ActionResult MostResentApplications() { var applicant = Membership.GetUser(); using (RecruiterContext db = new RecruiterContext()) { var appliedapplicant = (from p in db.Applicants.Include(x => x.User).Include(x => x.Applications) .Include(x => x.Job) select new { DateApplied = p.User.LastModifiedDate, JobTitle = p.Job.Title, Department = p.Job.Department.Name, }).ToList() .Select(c => new TotalApplicantAppliedVM { JobTitle = c.JobTitle, DateApplied = c.DateApplied, Department = c.Department, }).OrderByDescending(o => o.JobTitle).Take(10).ToList(); return(View(appliedapplicant)); } }
public ActionResult ForgotPassword(string EmailID) { //Verify Email ID //Generate Reset password link //Send Email string message = ""; bool status = false; using (RecruiterContext dc = new RecruiterContext()) { var account = dc.Users.Where(a => a.Email == EmailID).FirstOrDefault(); if (account != null) { //Send email for reset password string resetCode = Guid.NewGuid().ToString(); VerificationEmail(account.Email, resetCode, "ResetPassword"); account.ResetPasswordCode = resetCode; //This line I have added here to avoid confirm password not match issue , as we had added a confirm password property //in our model class in part 1 dc.Configuration.ValidateOnSaveEnabled = false; dc.SaveChanges(); message = "Reset password link has been sent to your email id."; } else { message = "Account not found"; } } ViewBag.Message = message; return(View()); }
/// <summary> /// /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <param name="email"></param> /// <param name="firstname"></param> /// <param name="lastname"></param> /// <param name="passwordQuestion"></param> /// <param name="passwordAnswer"></param> /// <param name="isApproved"></param> /// <param name="providerUserKey"></param> /// <param name="status"></param> /// <returns></returns> public override MembershipUser CreateUser(string username, string password, string email, string firstname, string lastname, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { using (RecruiterContext dbContext = new RecruiterContext()) { var user = (from us in dbContext.Users where string.Compare(username, us.Username, StringComparison.OrdinalIgnoreCase) == 1 select us).FirstOrDefault(); if (user == null) { user = new User { Username = username, Password = password, Email = email, FirstName = firstname, LastName = lastname, IsActive = isApproved, CreatedDate = DateTime.Now, }; dbContext.Users.Add(user); dbContext.SaveChanges(); status = MembershipCreateStatus.Success; return(new CustomMembershipUser(user, null) as MembershipUser); } else { status = MembershipCreateStatus.DuplicateUserName; return(null); } } }
public ActionResult TotalApplicantApplied() { //var currentUserId = (Membership.GetUser(User.Identity.Name) as CustomMembershipUser).UserId; var applicant = Membership.GetUser(); using (RecruiterContext db = new RecruiterContext()) { var appliedapplicant = (from p in db.Applicants.Include(x => x.User).Include(x => x.Applications) .Include(x => x.Job) select new { FirstName = p.User.FirstName, LastName = p.User.LastName, Email = p.User.Email, PhoneNumber = p.PhoneNumber, DateApplied = p.User.LastModifiedDate, JobTitle = p.Job.Title, Department = p.Job.Department.Name, }).ToList() .Select(c => new TotalApplicantAppliedVM { FirstName = c.FirstName, LastName = c.LastName, Email = c.Email, PhoneNumber = c.PhoneNumber, JobTitle = c.JobTitle, DateApplied = c.DateApplied, Department = c.Department, }).ToList(); return(View(appliedapplicant)); } }
/// <summary> /// /// </summary> /// <param name="email"></param> /// <param name="userIsOnline"></param> /// <returns></returns> public override MembershipUser GetUser(string email, bool userIsOnline) { using (RecruiterContext dbContext = new RecruiterContext()) { var appUser = (from users in dbContext.Users join applicant in dbContext.Applicants on users.Id equals applicant.UserId into applicant_user from j2 in applicant_user.DefaultIfEmpty() where string.Compare(email, users.Email, StringComparison.OrdinalIgnoreCase) == 0 select new CustomMembershipUserDto { User = users, ApplicantId = j2.Id }).FirstOrDefault(); if (appUser != null) { var customeMembershipUser = new CustomMembershipUser(appUser.User, appUser.ApplicantId) { Roles = (from r in dbContext.UserRoles.Include(x => x.Role) where r.UserId == appUser.User.Id select r).ToList() }; return(customeMembershipUser); } return(null); } }
/// <summary> /// /// </summary> /// <param name="username"></param> /// <returns></returns> public override string[] GetRolesForUser(string username) { if (!HttpContext.Current.User.Identity.IsAuthenticated) { return(null); } var userRoles = new string[] { }; RecruiterContext dbContext = new RecruiterContext(); /*var selectedUser = (from us in dbContext.Users.Include("Roles") * where string.Compare(us.Username, username, StringComparison.OrdinalIgnoreCase) == 0 * select us).FirstOrDefault();*/ var selectedUser = dbContext.UserRoles.Where(u => u.User.Username == username); if (selectedUser != null) { var roles = selectedUser.Select(c => c.Role.Name).ToArray(); return(roles); } return(null); }
public override string GetUserNameByEmail(string email) { using (RecruiterContext dbContext = new RecruiterContext()) { string username = (from u in dbContext.Users where string.Compare(email, u.Email) == 0 select u.Username).FirstOrDefault(); return(!string.IsNullOrEmpty(username) ? username : string.Empty); } }
public bool AddUserToRole(UserRole userRole) { if (userRole != null) { RecruiterContext db = new RecruiterContext(); db.UserRoles.Add(userRole); var ret = db.SaveChanges(); return((db.SaveChanges() == 1) ? true : false); } else { return(false); } }
public override string[] GetAllRoles() { var db = new RecruiterContext(); var roles = db.Roles.ToList(); string[] roleArray = new string[roles.Count]; int n = 0; foreach (Role role in roles) { roleArray[n] = role.Name.ToString(); n++; } return(roleArray); }
public ActionResult Upload(HttpPostedFileBase file) { var model = Server.MapPath("~/App_Data/UploadedFiles/") + file.FileName; TempData["type"] = file.ContentType; if (file.ContentLength > 0) { RecruiterContext db = new RecruiterContext(); file.SaveAs(model); ViewBag.Msg = "Uploaded Successfully"; return(View("Index")); } else { ViewBag.Msg = "Upload Failed"; } return(View("Index")); }
public bool CreateRole(Role role) { using (RecruiterContext dbContext = new RecruiterContext()) { var roles = (from us in dbContext.Roles where string.Compare(role.Name, us.Name, StringComparison.InvariantCultureIgnoreCase) == 0 select us).FirstOrDefault(); if (roles == null) { dbContext.Roles.Add(role); dbContext.SaveChanges(); return(true); } else { return(false); } } }
public void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContext == null || filterContext.HttpContext == null) { return; } var user = filterContext.HttpContext.User; if (user.Identity.IsAuthenticated && user.IsInRole("Applicant")) { var currentUserId = (Membership.GetUser(user.Identity.Name) as CustomMembershipUser).UserId; using (RecruiterContext dbContext = new RecruiterContext()) { var applicant = dbContext.Applicants.Where(a => a.ApplicantId == currentUserId).FirstOrDefault(); if (applicant == null && !applicant.IsValid()) { filterContext.Result = new RedirectResult("/applicant/applicantprofileedit"); } } } }
public ActionResult PostedJobs() { using (RecruiterContext dbContext = new RecruiterContext()) { var postedJobs = (from p in dbContext.Jobs select new { Department = p.Department.Name, ContractClass = p.ContractClass, //Status = p. DatePosted = p.CreatedDate, }).ToList() .Select(j => new PostedJobVM { Department = j.Department, ContractClass = j.ContractClass, //Status = j.Status, DatePosted = j.DatePosted, }).ToList(); return(View(postedJobs)); } }
public ActionResult ActivationAccount(string id) { bool statusAccount = false; using (RecruiterContext dbContext = new RecruiterContext()) { //var userAccount = dbContext.Users.Where(u => u.ActivationCode.ToString().Equals(id)).FirstOrDefault(); var userAccount = dbContext.Users.Where(u => u.Id.ToString().Equals(id)).FirstOrDefault(); if (userAccount != null) { userAccount.IsActive = true; dbContext.SaveChanges(); statusAccount = true; } else { ViewBag.Message = "Something Wrong !!"; } } ViewBag.Status = statusAccount; return(View()); }
public ActionResult ChangePassword(ChangePasswordVM model) { var message = ""; if (ModelState.IsValid) { var currentUserId = (Membership.GetUser(User.Identity.Name) as CustomMembershipUser).UserId; using (RecruiterContext dbContext = new RecruiterContext()) { var User = dbContext.Users.Where(a => a.Id == currentUserId).FirstOrDefault(); if (User != null) { if (model.OldPassword != model.NewPassword) { User.Password = model.NewPassword; message = "Your password has been updated!"; dbContext.SaveChanges(); } else { message = "New password is the same as current password"; } } else { ModelState.AddModelError("Warning Error", "Information is not correct"); } } } ViewBag.Message = message; return(View(model)); }
/// <summary> /// /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public override bool ValidateUser(string email, string password) { if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password)) { return(false); } using (RecruiterContext dbContext = new RecruiterContext()) { /* user = (from us in dbContext.Users * where string.Compare(email, us.Email, StringComparison.OrdinalIgnoreCase) == 1 * && string.Compare(password, us.Password, StringComparison.OrdinalIgnoreCase) == 1 * // && us.IsActive == true * select us).FirstOrDefault();*/ var user = (from us in dbContext.Users where us.Email == email && us.Password == password // && us.IsActive == true select us).FirstOrDefault(); return((user != null) ? true : false); } }
public ApplicantsController() { db = new RecruiterContext(); }
public RecruiterBusiness(RecruiterContext context) { _context = context; }
public HomeController() { db = new RecruiterContext(); }
public ReviewerController() { db = new RecruiterContext(); }
public ActionResult Registration([Bind(Exclude = "ActivationCode, IsEmailVerified")] RegistrationView registrationView) { bool statusRegistration = false; string messageRegistration = string.Empty; if (ModelState.IsValid) { // Checks if Email already Exists var IsEmailExist = Membership.GetUserNameByEmail(registrationView.Email); if (!string.IsNullOrEmpty(IsEmailExist)) { ModelState.AddModelError("", "Sorry: Email already Exists"); return(View(registrationView)); } // Generate Activation Code registrationView.ActivationCode = Guid.NewGuid(); // Password Hashing registrationView.Password = Crypto.Hash(registrationView.Password); registrationView.ConfirmPassword = Crypto.Hash(registrationView.ConfirmPassword); registrationView.IsEmailVerfied = false; //Save User Data using (RecruiterContext dbContext = new RecruiterContext()) { var user = new User() { Username = registrationView.Username, FirstName = registrationView.FirstName, LastName = registrationView.LastName, Email = registrationView.Email, Password = registrationView.Password, CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, }; dbContext.Users.Add(user); dbContext.SaveChanges(); //Add user to Applicant Role var customRole = new CustomRole(); var currentUserId = dbContext.Users.Where(u => u.Email == user.Email).FirstOrDefault().Id; var applicantRole = new UserRole() { UserId = currentUserId, RoleId = (dbContext.Roles.Where(r => r.Name == "Applicant").FirstOrDefault()).Id, CreatedById = currentUserId, LastModifiedById = currentUserId, CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now }; customRole.AddUserToRole(applicantRole); var applicant = new Applicant() { //Username = applicantProfileViewModel.Username, ApplicantId = currentUserId, CreatedById = currentUserId, LastModifiedById = currentUserId, CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now }; dbContext.Applicants.Add(applicant); dbContext.SaveChanges(); } //Verification Email VerificationEmail(registrationView.Email, registrationView.ActivationCode.ToString()); messageRegistration = "Registration successfully done. Account activation link" + " has been sent to your email id " + registrationView.Email; statusRegistration = true; } else { messageRegistration = "Invalid Request!"; } ViewBag.Message = messageRegistration; ViewBag.Status = statusRegistration; return(View(registrationView)); }