Exemplo n.º 1
0
        public JsonResult AssignMe(long id)
        {
            long specialistId = -1;

            try
            {
                if (!long.TryParse(Session["SpecialistId"].ToString(), out specialistId))
                {
                    return(Json(new { rs = -1, msg = "Error: Can't get specialist's profile" }, JsonRequestBehavior.AllowGet));
                }

                var can = db.Candidates.FirstOrDefault(s => s.CandidateId == id);
                if (can == null)
                {
                    return(Json(new { rs = -1, msg = "Can not get candiate's profile" }, JsonRequestBehavior.AllowGet));
                }
                if (can.SpecialistId == -1)
                {
                    can.SpecialistId    = specialistId;
                    db.Entry(can).State = EntityState.Modified;
                    var r = db.SaveChanges();

                    return(Json(new { rs = 1, msg = "Error: Can't get specialist's profile" }, JsonRequestBehavior.AllowGet));
                }
                return(Json(new { rs = -1, msg = "Can not assign this candiate" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { rs = -1, msg = e.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 2
0
        // Create specialist
        public JsonResult CreateSpecialist(Specialist spec, UserLogin user)
        {
            try
            {
                if (int.Parse(Session["Role"].ToString()) != (int)UserRole.ADMIN)
                {
                    return(Json(new { rs = -1, msg = "Permission Denied" }, JsonRequestBehavior.AllowGet));
                }
                var userLogin = new UserLogin()
                {
                    //UserName = Util.Helper.getRandomAlphaNumeric(6).ToUpper(),
                    UserName    = user.UserName,
                    PasswordRaw = user.PasswordRaw,
                    //PasswordRaw = Util.Helper.getRandomAlphaNumeric(8),

                    SecurityStamp     = Util.Helper.getRandomAlphaNumeric(100),
                    Role              = (int)UserRole.SPECIALIST,
                    AccessFailedCount = 0,
                    LockoutEnabled    = user.LockoutEnabled,
                    //LockoutDateUtc = DateTime.UtcNow.AddDays(7)
                };
                // create user name pass word
                while (db.UserLogins.Any(s => s.UserName == userLogin.UserName))
                {
                    userLogin.UserName = Util.Helper.getRandomAlphaNumeric(6).ToUpper();
                }
                userLogin.PasswordHash = Util.Helper.createMD5Hash(userLogin.PasswordRaw, userLogin.UserName, userLogin.SecurityStamp);

                db.UserLogins.Add(userLogin);
                db.SaveChanges();
                // create specialist
                var specialist = new Specialist()
                {
                    UserLoginId = userLogin.UserLoginId,
                    FirstName   = spec.FirstName,
                    MiddleName  = spec.MiddleName,
                    LastName    = spec.LastName,
                    Email       = spec.Email,
                    PhoneNumber = spec.PhoneNumber,
                    Role        = (int)UserRole.SPECIALIST,
                };
                db.Specialists.Add(specialist);
                db.SaveChanges();
                return(Json(new { rs = specialist.SpecialistId, msg = "" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { rs = -1, msg = "Permission Denied" }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 3
0
        public JsonResult UpdateCandidateInfo(Candidate candidate)
        {
            long candidateId = -1;

            try
            {
                if (long.TryParse(Session["CandidateId"].ToString(), out candidateId))
                {
                    var can = db.Candidates.FirstOrDefault(s => s.CandidateId == candidateId);
                    if (can.Gender != candidate.Gender ||
                        can.Email != candidate.Email ||
                        can.PhoneNumber != candidate.PhoneNumber ||
                        can.DOB != candidate.DOB ||
                        can.IDNumber != candidate.IDNumber ||
                        can.Address != candidate.Address)
                    {
                        can.Gender      = candidate.Gender;
                        can.Email       = candidate.Email;
                        can.PhoneNumber = candidate.PhoneNumber;
                        can.DOB         = candidate.DOB;
                        can.IDNumber    = candidate.IDNumber;
                        can.Address     = candidate.Address;
                        if (can.Status == "Initial")
                        {
                            can.Status = "Ready";
                        }
                        db.Entry(can).State = EntityState.Modified;
                        var result = db.SaveChanges();
                        return(Json(new { rs = result, msg = "Successfully" }, JsonRequestBehavior.AllowGet));
                    }
                }
                return(Json(new { rs = 1, msg = "1" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { rs = -1, msg = e.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 4
0
        public JsonResult CreateCandidate(CandidateSimpleInfo can)
        {
            try
            {
                // return link file of Candidate report
                long recruiterId = -1;
                if (!long.TryParse(Session["RecruiterId"].ToString(), out recruiterId))
                {
                    return(Json(new { rs = -1, msg = "Permission Denied." }, JsonRequestBehavior.AllowGet));
                }
                var recruiter = db.Recruiters.FirstOrDefault(s => s.RecruiterId == recruiterId);
                if (recruiter == null)
                {
                    return(Json(new { rs = -1, msg = "Permission Denied." }, JsonRequestBehavior.AllowGet));
                }

                var userLogin = new UserLogin()
                {
                    UserName          = Util.Helper.getRandomAlphaNumeric(6).ToUpper(),
                    PasswordRaw       = Util.Helper.getRandomAlphaNumeric(8),
                    SecurityStamp     = Util.Helper.getRandomAlphaNumeric(100),
                    Role              = (int)UserRole.CANDIDATE,
                    AccessFailedCount = 0,
                    LockoutEnabled    = true,
                    LockoutDateUtc    = DateTime.UtcNow.AddDays(7)
                };// create user name pass word
                while (db.UserLogins.Any(s => s.UserName == userLogin.UserName))
                {
                    userLogin.UserName = Util.Helper.getRandomAlphaNumeric(6).ToUpper();
                }
                userLogin.PasswordHash = Util.Helper.createMD5Hash(userLogin.PasswordRaw, userLogin.UserName, userLogin.SecurityStamp);

                db.UserLogins.Add(userLogin);
                db.SaveChanges();

                // create candidate
                var candidate = new Candidate()
                {
                    UserLoginId  = userLogin.UserLoginId,
                    FirstName    = can.FirstName,
                    MiddleName   = can.MiddleName,
                    LastName     = can.LastName,
                    Email        = can.Email,
                    PhoneNumber  = can.PhoneNumber,
                    JobTitle     = can.JobTitle,
                    JobLevel     = can.JobLevel,
                    RecruiterId  = recruiter.RecruiterId,
                    ClientId     = recruiter.ClientId,
                    CreatedTime  = DateTime.Now,
                    Status       = "Initial",
                    CompleteTime = DateTime.Now,
                    SpecialistId = -1,
                };
                db.Candidates.Add(candidate);
                db.SaveChanges();
                var log = new ClientLog()
                {
                    RecruiterId = recruiter.RecruiterId,
                    LogType     = "Create Candidate",
                    LogTime     = DateTime.Now,
                    ClientId    = recruiter.ClientId,
                    LogContent  = "Create candidate " + can.FirstName + " " + can.MiddleName + " " + can.LastName
                };
                db.ClientLogs.Add(log);
                db.SaveChanges();
                return(Json(new { rs = candidate.CandidateId, msg = "" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { rs = -1, msg = e.Message }, JsonRequestBehavior.AllowGet));
            }
        }