예제 #1
0
        private void SendRegistrationMailToJobSeeker(JobSeekerViewModel user)
        {
            try
            {
                var basePath = string.Format("{0}://{1}", URLprotocol, Request.Host);
                var link     = basePath + "/Auth/JobSeekerLogin";

                var eModel = new EmailViewModel
                {
                    Subject = "Welcome to careerindeed.in",
                    Body    = "<b>Dear " + user.FirstName + "</b>," + "<br/><br/>Congratulations! You have successfully registered with" +
                              " careerindeed.in<br/>" +
                              "<br/>Please note that your username and password are both case sensitive.<br/><br/>Your login details are below:<br/><br/>" +
                              "User Name: " + user.Email +
                              "<br>Password: "******"<br/><br/>You can update your contact and registration details at any time by logging on to careerindeed.in" +
                              "<br/><br/>Wish you all the best!<br/><a href=" + link + "> CareerIndeed</a> Team",
                    To       = new string[] { user.Email },
                    From     = config["EmailCredential:Fromemail"],
                    IsHtml   = true,
                    MailType = (int)MailType.ForgotPassword
                };
                TempData["successMsg"] = "Registration Successful";
                emailHandler.SendMail(eModel, -1);
            }
            catch (Exception ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
            }
        }
예제 #2
0
        public ActionResult Create(JobSeekerViewModel jobseeker1)                             //[Bind(Include="id_employee,id_user,age,sex,first_name,last_name,father_name,mother_name,contact_number,local_address,parmanent_address")] employee employee
        {
            if (db.users.Any(model => model.username == jobseeker1.userJobSeeker.username))
            {
                ModelState.AddModelError("userJobSeeker.username", "Ooops! Username is already be taken. try something new");
            }

            else if (db.users.Any(model => model.email == jobseeker1.userJobSeeker.email))
            {
                ModelState.AddModelError("userJobSeeker.email", "Ooops! this email is already be taken. try something new");
            }

            if (ModelState.IsValid)
            {
                jobseeker1.userJobSeeker.user_role = "jobseeker";
                db.users.Add(jobseeker1.userJobSeeker);
                //db.SaveChanges();
                jobseeker1.employeeJobSeeker.id_user = jobseeker1.userJobSeeker.id_user;
                db.employees.Add(jobseeker1.employeeJobSeeker);
                //db.SaveChanges();
                //jobseeker1.educationSSCJobseeker.id_employee = jobseeker1.employeeJobSeeker.id_employee;
                //db.educations.Add(jobseeker1.educationSSCJobseeker);
                //db.employees.Add(employee);
                db.SaveChanges();

                Login check = new Login();
                check.username = jobseeker1.userJobSeeker.username;
                check.password = jobseeker1.userJobSeeker.password;
                return(RedirectToAction("Index", "Login", check));
                // return RedirectToAction("Index");
            }

            //ViewBag.id_user = new SelectList(db.users, "id_user", "email", employee.id_user);
            return(View(jobseeker1));
        }
        public ActionResult SignUp(JobSeekerViewModel jsm)
        {
            List <tblUser> lst = _db.tblUsers.Where(u => u.Username == jsm.Username).ToList();

            if (lst.Count == 0)
            {
                if (jsm.Password != jsm.RetypePassword)
                {
                    ViewBag.Message = "Password Mismatch";
                }
                else
                {
                    string  password = encryptpass(jsm.Password);
                    tblUser tbu      = new tblUser();
                    tbu.Username = jsm.Username;
                    tbu.Password = password;
                    _db.tblUsers.Add(tbu);
                    _db.SaveChanges();

                    tblUserRole tbur = new tblUserRole();
                    tbur.UserId = tbu.UserId;
                    tbur.RoleId = 3;
                    _db.tblUserRoles.Add(tbur);
                    _db.SaveChanges();

                    tblJobSeeker tbj = new tblJobSeeker();
                    tbj.FullName        = jsm.FullName;
                    tbj.Gender          = jsm.Gender;
                    tbj.Email           = jsm.Email;
                    tbj.Address         = jsm.Address;
                    tbj.Skills          = jsm.Skills;
                    tbj.JobType         = jsm.JobType;
                    tbj.CurrentPosition = jsm.CurrentPosition;
                    tbj.HighestDegree   = jsm.HighestDegree;
                    tbj.ExpectedSalary  = jsm.ExpectedSalary;
                    tbj.Experience      = jsm.Experience;
                    tbj.UserId          = tbu.UserId;

                    HttpPostedFileBase fup = Request.Files["Resume"];
                    if (fup != null)
                    {
                        if (fup.FileName != "")
                        {
                            tbj.Resume = fup.FileName;
                            fup.SaveAs(Server.MapPath("~/ResumeUpload/" + fup.FileName));
                        }
                    }
                    _db.tblJobSeekers.Add(tbj);
                    _db.SaveChanges();
                    ViewBag.Message = "Your Account was created successfully";
                    RefreshPageControl();
                }
            }
            else
            {
                ViewBag.Message = "Username already exists!!!";
            }

            return(View());
        }
예제 #4
0
        public ActionResult Create(int?id)
        {
            JobSeekerViewModel model = model = new JobSeekerViewModel()
            {
                SkillList = GetAllSkillTypes()
            };

            if (id > 0)
            {
                JobSeeker jobSeeker = _operations.GetJobSeekerById(id);
                if (jobSeeker != null)
                {
                    if (jobSeeker.Skills != null)
                    {
                        model.SelectedSkillIds = jobSeeker.Skills.Split(',').Select(n => Convert.ToInt32(n)).ToArray();
                        // model.SelectedSkillIds = jobSeeker.Skills..Split(',').Select(int.Parse).ToArray();
                        //  model.SelectedSkillIds = jobSeeker.Skills.Split(',').Select(s => int.TryParse(s, out n) ? n : 0).ToArray();
                    }


                    mappingModeltoViewModel(jobSeeker, model);
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            ViewBag.CountryEFW = new SelectList(_operations.GetCountries(), "Id", "Name");
            return(View(model));
        }
예제 #5
0
        public IHttpActionResult Post(JobSeekerViewModel model)
        {
            string userId = User.Identity.GetUserId();

            model.JobSeekerId = _adapter.AddJobSeeker(model, userId);
            return(Ok(model));
        }
예제 #6
0
        // GET: /NewAccountJobSeeker/Create
        public ActionResult Create()
        {
            //ViewBag.id_user = new SelectList(db.users, "id_user", "email");

            JobSeekerViewModel jobseeker1 = new JobSeekerViewModel();

            return(View(jobseeker1));
        }
예제 #7
0
        public IActionResult JobseekerRegistration(JobSeekerViewModel user)
        {
            var message = "User registered successfully, please login to proceed.";

            try
            {
                if (ModelState.IsValid)
                {
                    var basePath = string.Format("{0}://{1}{2}", Request.Scheme, URLprotocol, Request.Host);
                    var link     = basePath + "/Auth/JobSeekerLogin";

                    user.RoleId = 2;//For Student
                    authHandler.RegisterUser(user);
                    var eModel = new EmailViewModel
                    {
                        Subject = "Welcome to SRLMS.com",
                        Body    = "<b>Dear " + user.FirstName + "</b>," + "<br/><br/>Congratulations! You have successfully registered with" +
                                  " SRLMS.com<br/>" +
                                  "<br/>Please note that your username and password are both case sensitive.<br/><br/>Your login details are below:<br/><br/>" +
                                  "User Name: " + user.Email +
                                  "<br>Password: "******"<br/><br/>You can update your contact and registration details at any time by logging on to SRLMS.com" +
                                  "<br/><br/>Wish you all the best!<br/><a href=" + link + "> SrLMS.com</a> Team",
                        To       = new string[] { user.Email },
                        From     = config["EmailCredential:Fromemail"],
                        IsHtml   = true,
                        MailType = (int)MailType.ForgotPassword
                    };
                    TempData["successMsg"] = "Registration Successful Please wait for admin approval!";
                    ModelState.Clear();
                    emailHandler.SendMail(eModel, -1);
                }
            }
            catch (UserNotCreatedException ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
                message = ex.Message;
                TempData["errorMsg"] = "Unable to register user Please try again later!";
                //ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
            }
            catch (UserAlreadyExists ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
                message = ex.Message;
                TempData["errorMsg"] = "User already exist please login!";
                //ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
            }
            catch (Exception ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                ViewData["SuccessMessage"] = "Unable to send Mail";
            }
            return(View());
        }
예제 #8
0
        public void mappingModeltoViewModel(JobSeeker jobseeker, JobSeekerViewModel model)
        {
            model.Id      = jobseeker.Id;
            model.Name    = jobseeker.Name;
            model.Address = jobseeker.Address;
            model.Mobile  = jobseeker.Mobile;
            model.resume  = jobseeker.resume;
            model.Country = jobseeker.Country;
            model.DOB     = jobseeker.DOB;

            model.GENDER   = Convert.ToBoolean(jobseeker.GENDER) ? "1" : "0";
            model.IsDotnet = Convert.ToBoolean(jobseeker.IsDotnet);
            model.IsJava   = Convert.ToBoolean(jobseeker.IsJava);
            model.IsSAP    = Convert.ToBoolean(jobseeker.IsSAP);
        }
예제 #9
0
        public JsonResult JobseekerGoogleRegistration([FromBody] string accesstoken)
        {
            var isSuccess = true;
            var msg       = string.Empty;

            try
            {
                var resp      = authHandler.GetGoogleUserInfo(accesstoken);
                var client_id = config["GoogleAppSettings:ClientId"];
                if (resp == null || !resp.Azp.Equals(client_id))
                {
                    throw new UserNotCreatedException("Invalid access token");
                }
                var randomPassword = RandomGenerator.GetRandom(5);
                var user           = new JobSeekerViewModel
                {
                    FirstName = resp.GivenName,
                    LastName  = resp.FamilyName,
                    Email     = resp.Email,
                    Password  = randomPassword,
                };

                user.RoleId = 2;//For Student
                authHandler.RegisterUser(user);
                SendRegistrationMailToJobSeeker(user);
            }
            catch (UserNotCreatedException ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                isSuccess = false;
                msg       = "Registration Failed,Please try again!";
            }
            catch (UserAlreadyExists ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                msg       = "Email Already Exist!";
                isSuccess = false;
            }
            catch (Exception ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                msg       = "Registration Failed,Please try again!";
                isSuccess = false;
            }
            return(Json(new { isSuccess, msg }));
        }
예제 #10
0
        private string ProcessUploadedFile(JobSeekerViewModel model)
        {
            string uniqueFileName = null;

            if (model.ImageFile != null)
            {
                string uploadsFolder = Server.MapPath("~/images");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + model.ImageFile.FileName;
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                model.ImageFile.SaveAs(filePath);
                // using (var fileStream = new FileStream(filePath, FileMode.Create))
                // {

                // }
            }

            return(uniqueFileName);
        }
예제 #11
0
        public JsonResult FBJobseekerRegistration([FromBody] string accesstoken)
        {
            var isSuccess = true;

            try
            {
                var resp = authHandler.GetFBUserInfo(accesstoken);

                if (resp == null)
                {
                    throw new UserNotCreatedException("Invalid access token");
                }
                var randomPassword = RandomGenerator.GetRandom(5);
                var user           = new JobSeekerViewModel
                {
                    FirstName = resp.FirstName,
                    LastName  = resp.LastName,
                    Email     = resp.Email,
                    Password  = randomPassword,
                };

                user.RoleId = 2;//For Student
                authHandler.RegisterUser(user);
                SendRegistrationMailToJobSeeker(user);
            }
            catch (UserNotCreatedException ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                isSuccess = false;
            }
            catch (UserAlreadyExists ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                isSuccess = false;
            }
            catch (Exception ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                isSuccess = false;
            }
            return(Json(new { isSuccess }));
        }
예제 #12
0
        public bool RegisterUser(JobSeekerViewModel user)
        {
            bool status = true;

            try
            {
                if (CheckIfUserExists(user.Email))
                {
                    throw new UserAlreadyExists("Seems this user already exists in our record, please login with previous credentials.");
                }

                byte[] passwordHash, passwordSalt;
                CreatePasswordHash(user.Password, out passwordHash, out passwordSalt);

                var u = new UserModel
                {
                    Email        = user.Email,
                    FirstName    = user.FirstName,
                    LastName     = user.LastName,
                    MobileNo     = user.MobileNo,
                    Password     = user.Password,
                    RoleId       = user.RoleId,
                    PasswordSalt = passwordSalt,
                    PasswordHash = passwordHash,
                    IsApproved   = true,
                    IsActive     = true
                };
                int isRegister = _authProcessor.RegisterUser(u);
                if (isRegister > 0)
                {
                    return(status);
                }
            }
            catch (UserNotCreatedException ex)
            {
                status = false;
                throw new UserNotCreatedException("Unable to create user, please contact your teck deck.");
            }
            return(status);
        }
예제 #13
0
        public ActionResult Create(JobSeekerViewModel model)
        {
            model.SkillList = GetAllSkillTypes();
            if (ModelState.IsValid)
            {
                JobSeeker jobSeeker = jobSeeker = new JobSeeker();
                if (model.SelectedSkillIds != null)
                {
                    model.Skills = string.Join(",", from i in model.SelectedSkillIds select i.ToString());
                }

                if (model.Id > 0)
                {
                    if (model.ImageFile != null)
                    {
                        if (model.resume != null)
                        {
                            System.IO.File.Delete(Path.Combine(Server.MapPath("/images"), model.resume));
                        }
                    }
                    model.resume = ProcessUploadedFile(model);

                    mappingViewModeltoModel(model, jobSeeker);
                    _operations.Update(jobSeeker);
                }
                else
                {
                    model.resume = ProcessUploadedFile(model);
                    mappingViewModeltoModel(model, jobSeeker);

                    jobSeeker = _operations.Add(jobSeeker);
                }
                return(RedirectToAction("Index"));
            }


            ViewBag.CountryEFW = new SelectList(_operations.GetCountries(), "Id", "Name");
            return(View(model));
        }
예제 #14
0
        public void mappingViewModeltoModel(JobSeekerViewModel model, JobSeeker jobSeeker)
        {
            if (model.Id > 0)
            {
                jobSeeker.Id = model.Id;
            }

            jobSeeker.Name     = model.Name;
            jobSeeker.Address  = model.Address;
            jobSeeker.Mobile   = model.Mobile;
            jobSeeker.resume   = model.resume;
            jobSeeker.Country  = model.Country;
            jobSeeker.DOB      = model.DOB;
            jobSeeker.GENDER   = (model.GENDER == "1");
            jobSeeker.IsDotnet = model.IsDotnet;
            jobSeeker.IsJava   = model.IsJava;
            jobSeeker.IsSAP    = model.IsSAP;
            jobSeeker.Skills   = model.Skills;

            /* bool result;
             * bool.TryParse(, out result);*/
        }
예제 #15
0
        public IActionResult JobseekerRegistration(JobSeekerViewModel user)
        {
            var message = "User registered successfully, please login to proceed.";

            try
            {
                if (ModelState.IsValid)
                {
                    user.RoleId = 2;//For Student
                    authHandler.RegisterUser(user);
                    SendRegistrationMailToJobSeeker(user);
                    TempData["successMsg"] = "User registered successfully, please login to proceed.";
                    ModelState.Clear();
                }
            }
            catch (UserNotCreatedException ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
                message = ex.Message;
                TempData["errorMsg"] = "Unable to register user Please try again later!";
                //ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
            }
            catch (UserAlreadyExists ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, user.UserId, typeof(AuthController), ex);
                message = ex.Message;
                TempData["errorMsg"] = "User already exist please login!";
                //ModelState.AddModelError("ErrorMessage", string.Format("{0}", ex.Message));
            }
            catch (Exception ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                ViewData["SuccessMessage"] = "Unable to send Mail";
            }
            return(View());
        }
예제 #16
0
 public IHttpActionResult Delete(JobSeekerViewModel model)
 {
     model.JobSeekerId = _adapter.DeleteJobSeeker(model);
     return(Ok(model));
 }