예제 #1
0
        public async Task <JsonResult> sendMessge(string name, string email, string phone, string message, int emp_id)
        {
            if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(phone) && !string.IsNullOrEmpty(message))
            {
                employer_info emp  = db.employer_info.Find(emp_id);
                message       mess = new Models.message();
                mess.message1       = message;
                mess.created_at     = DateTime.Now;
                mess.read_status    = 0;
                mess.sender_address = email;
                mess.sender_contact = phone;
                mess.status         = 1;

                db.messages.Add(mess);
                if (db.SaveChanges() > 0)
                {
                    await SendEmail(name, emp.email, phone, message, emp.company_name);

                    return(Json(true, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(false, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
예제 #2
0
        public JsonResult changeProfile(HttpPostedFileBase photo)
        {
            string filename = null;

            if (photo != null)
            {
                string pic = Path.GetExtension(photo.FileName);
                filename = Guid.NewGuid().ToString() + pic;
                string path = Path.Combine(Server.MapPath("~/Content/images"), filename);
                photo.SaveAs(path);
                employer_info emp = db.employer_info.Find(Convert.ToInt16(Session["emp_id"].ToString()));
                emp.logo = filename;
                if (db.SaveChanges() > 0)
                {
                    Session["profileimage"] = filename;
                    return(Json(true, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(false, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
예제 #3
0
        public ActionResult jobs()
        {
            List <job>       job  = db.jobs.ToList();
            List <job_model> jobs = new List <job_model>();

            foreach (var item in job)
            {
                job_model jobmodel = new job_model();
                jobmodel.category    = item.category.ToString();
                jobmodel.city        = item.city;
                jobmodel.created_at  = item.created_at;
                jobmodel.description = item.description;
                jobmodel.district    = item.district;
                employer_info name = db.employer_info
                                     .Where(c => c.emp_id == item.employer)
                                     .SingleOrDefault();
                jobmodel.image           = name.logo;
                jobmodel.salaryfrom      = item.salaryfrom;
                jobmodel.salaryto        = item.salaryto;
                jobmodel.job_level       = item.job_level;
                jobmodel.status          = Convert.ToInt32(item.status);
                jobmodel.submission_date = item.submission_date;
                jobmodel.employer        = name.company_name;
                jobmodel.full_address    = item.full_address;
                jobmodel.state           = item.state;
                jobmodel.district        = item.district;
                jobmodel.job_id          = item.job_id;
                jobmodel.title           = item.title;
                jobmodel.job_type        = item.job_type;
                jobmodel.emp_id          = item.employer.HasValue ? Convert.ToInt32(item.employer) : 0;
                jobmodel.category        = db.job_categories.Find(Convert.ToInt32(item.category)).category_name.ToString();
                jobs.Add(jobmodel);
            }
            return(View(jobs));
        }
예제 #4
0
        public ActionResult logOn(string username = "", string password = "", string returnurl = "")
        {
            Md5Calculator Md5Calculator = new Md5Calculator();

            password = Md5Calculator.CalculateMD5Hash(password);
            AccountModel accountModel = new AccountModel();

            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password) || accountModel.login(username, password) == null)
            {
                ViewBag.message = "<div class='alert alert-danger'>Wrong Credentials</div>";
                return(View("login"));
            }
            else
            {
                SessionPersister.username = username;
                var userDetails = db.users.Where(a => a.user_name == username && a.password == password).FirstOrDefault();
                Session["userid"]       = userDetails.user_id;
                Session["username"]     = userDetails.user_name;
                Session["role"]         = userDetails.role;
                Session["is_logged_in"] = true;
                int userid = Convert.ToInt32(userDetails.user_id);
                if (userDetails.role.ToString() == "employer")
                {
                    int           emp_id = (from p in db.employer_info where p.login_info == userid select p.emp_id).FirstOrDefault();
                    employer_info em     = db.employer_info.Find(emp_id);
                    em.updated_at = DateTime.Now;
                    db.SaveChanges();
                    string profileimage = (from p in db.employer_info where p.login_info == userid select p.logo).FirstOrDefault();
                    Session["emp_id"]       = emp_id;
                    Session["profileimage"] = profileimage;
                    if (!string.IsNullOrEmpty(returnurl))
                    {
                        return(Redirect(returnurl));
                    }
                    else
                    {
                        return(RedirectToAction("managejobs", "Employer"));
                    }
                }
                else
                {
                    int            js_id = (from p in db.jobseeker_info where p.login_info == userid select p.js_id).FirstOrDefault();
                    jobseeker_info js    = db.jobseeker_info.Find(js_id);
                    js.updated_at = DateTime.Now;
                    db.SaveChanges();
                    string profileimage = (from p in db.jobseeker_info where p.login_info == userid select p.profile).FirstOrDefault();
                    Session["js_id"]        = js_id;
                    Session["profileimage"] = profileimage;
                    if (!string.IsNullOrEmpty(returnurl))
                    {
                        return(Redirect(returnurl));
                    }
                    else
                    {
                        return(RedirectToAction("savedjobs", "jobseeker"));
                    }
                }
            }
        }
예제 #5
0
        public ActionResult loginVerify(string username = "", string password = "", string returnurl = "")
        {
            Md5Calculator Md5Calculator = new Md5Calculator();

            password = Md5Calculator.CalculateMD5Hash(password);
            AccountModel accountModel = new AccountModel();

            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password) || accountModel.login(username, password) == null)
            {
                return(Json(new { success = false }));
            }
            else
            {
                SessionPersister.username = username;
                var userDetails = db.users.Where(a => a.user_name == username && a.password == password).FirstOrDefault();
                Session["userid"]       = userDetails.user_id;
                Session["username"]     = userDetails.user_name;
                Session["role"]         = userDetails.role;
                Session["is_logged_in"] = true;
                int userid = Convert.ToInt32(userDetails.user_id);
                if (userDetails.role.ToString() == "employer")
                {
                    int           emp_id       = (from p in db.employer_info where p.login_info == userid select p.emp_id).FirstOrDefault();
                    string        profileimage = (from p in db.employer_info where p.login_info == userid select p.logo).FirstOrDefault();
                    string        name         = (from p in db.employer_info where p.login_info == userid select p.company_name).FirstOrDefault();
                    employer_info em           = db.employer_info.Find(emp_id);
                    em.updated_at = DateTime.Now;
                    db.SaveChanges();
                    Session["name"]         = name;
                    Session["emp_id"]       = emp_id;
                    Session["profileimage"] = profileimage;
                    return(Json(new { success = true, username = username, role = "employer" }));
                }
                else
                {
                    string sessid = Guid.NewGuid().ToString();
                    Session["sessid"] = sessid;
                    int            js_id = (from p in db.jobseeker_info where p.login_info == userid select p.js_id).FirstOrDefault();
                    jobseeker_info js    = db.jobseeker_info.Find(js_id);
                    js.updated_at = DateTime.Now;
                    db.SaveChanges();
                    string profileimage = js.profile;
                    string name         = js.full_name;
                    Session["name"]          = name;
                    Session["js_id"]         = js_id;
                    Session["profileimage"]  = profileimage;
                    Session["emailverified"] = js.email_verified;
                    return(Json(new { success = true, username = username, role = "jobseeker" }));
                }
            }
        }
예제 #6
0
        public ActionResult EmployerProfile(string emp_id, string company_name, string email, string phone, string reg_type, string company_type, string address, string description, string facebook = "", string youtube = "", string google = "", string website = "", string twitter = "")
        {
            int           emp_id_ = Convert.ToInt16(emp_id);
            employer_info e       = db.employer_info.Find(emp_id_);

            e.address      = address;
            e.company_name = company_name;
            e.company_type = Convert.ToInt16(company_type);
            e.phone        = phone;
            e.description  = description;
            e.reg_type     = Convert.ToInt16(reg_type);
            e.updated_at   = DateTime.Now;
            e.email        = email;
            if (db.SaveChanges() > 0)
            {
                ViewBag.edit = "<div class='alert alert-success'>Sucessfully updated</div>";

                employer_social soc = db.employer_social.Where(a => a.emp_id == emp_id_).FirstOrDefault();
                if (soc != null)
                {
                    soc.emp_id   = Convert.ToInt16(emp_id);
                    soc.facebook = facebook;
                    soc.youtube  = youtube;
                    soc.twitter  = twitter;
                    soc.website  = website;
                    soc.google   = google;
                    db.SaveChanges();
                }
                else
                {
                    employer_social soc1 = new employer_social();
                    soc1.facebook = facebook;
                    soc1.youtube  = youtube;
                    soc1.twitter  = twitter;
                    soc1.website  = website;
                    soc1.google   = google;
                    db.employer_social.Add(soc1);
                    db.SaveChanges();
                }
            }
            else
            {
                ViewBag.edit = "<div class='alert alert-alert'>Cannnot Update</div>";
            }
            return(RedirectToAction("EmployerProfile", "employer"));
        }
예제 #7
0
        public ActionResult Register(HttpPostedFileBase logo, employer model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    user          tempuser = new user();
                    employer_info employer = new employer_info();
                    tempuser.user_name = model.user_name;
                    tempuser.password  = CalculateMD5Hash(model.password);
                    tempuser.role      = "employer";
                    tempuser.status    = "ACTIVE";
                    db.users.Add(tempuser);
                    if (db.SaveChanges() > 0)
                    {
                        string filename = null;

                        if (logo != null)
                        {
                            string pic = Path.GetExtension(logo.FileName);
                            filename = Guid.NewGuid().ToString() + pic;
                            string path = Path.Combine(Server.MapPath("~/Content/images"), filename);
                            logo.SaveAs(path);
                        }

                        int insertId = tempuser.user_id;
                        employer.company_type = model.company_type;
                        employer.company_name = model.company_name;
                        employer.address      = model.address;
                        employer.contact      = model.contact;
                        employer.description  = model.description;
                        employer.email        = model.email;
                        employer.name         = model.name;
                        employer.phone        = model.phone;
                        employer.reg_type     = model.reg_type;
                        employer.login_info   = insertId;
                        employer.status       = "ACTIVE";
                        employer.created_at   = DateTime.Now;
                        employer.updated_at   = DateTime.Now;
                        employer.logo         = filename;
                        db.employer_info.Add(employer);
                        db.SaveChanges();
                        Session["name"]         = employer.company_name;
                        Session["userid"]       = employer.login_info;
                        Session["role"]         = "employer";
                        Session["profileimage"] = employer.logo;

                        Session["emp_id"]       = employer.emp_id;
                        Session["is_logged_in"] = true;
                        Session["username"]     = model.user_name;

                        return(RedirectToAction("EmployerProfile", "Employer"));
                    }
                    else
                    {
                        return(Json(new { errorMsg = "Cannot Insert!" }));
                    }
                }
                catch (Exception ex)
                {
                    return(Json(new { errorMsg = "Something went wrong! Error message (" + ex.ToString() + ")" }));
                }
            }
            else
            {
                return(Json(new { errorMsg = "validation error!" }));
            }
        }
예제 #8
0
        public ActionResult jobdetail(int?id)
        {
            if (Session["js_id"] != null)
            {
                string         sessid      = Session["sessid"].ToString();
                itemset        itemset     = db.itemsets.Find(sessid);
                Recommendation rm          = new Recommendation();
                List <job>     recommended = new List <job>();
                if (itemset != null)
                {
                    string temp = itemset.items;
                    if (string.IsNullOrEmpty(temp))
                    {
                        temp += id.ToString();
                    }
                    else
                    {
                        int status = 0;
                        var strarr = temp.Split(',').ToList();
                        foreach (var ichek in strarr)
                        {
                            int icheck_ = Convert.ToInt32(ichek);
                            if (icheck_ == id)
                            {
                                status = 1;
                                break;
                            }
                        }
                        if (status == 0)
                        {
                            temp         += "," + id.ToString();
                            itemset.items = temp;
                        }
                    }
                    db.SaveChanges();
                }
                else
                {
                    itemset itemsetnew = new itemset();
                    itemsetnew.session_id = Session["sessid"].ToString();
                    itemsetnew.items      = id.ToString();
                    db.itemsets.Add(itemsetnew);
                    db.SaveChanges();
                }
                List <string> jobids = rm.recommendedjobs(Session["sessid"].ToString());
                if (jobids != null)
                {
                    foreach (var tempIds in jobids)
                    {
                        int intjob = Convert.ToInt16(tempIds);
                        var next   = db.jobs.Where(a => a.job_id == intjob && a.status == 1).FirstOrDefault();
                        if (next != null)
                        {
                            recommended.Add(next);
                        }
                    }
                    recommended = recommended.Distinct().ToList();

                    List <job_model> jobsfinal = new List <job_model>();
                    foreach (var item in recommended)
                    {
                        job_model jobmodel = new job_model();
                        jobmodel.category = item.category.ToString();
                        employer_info name = db.employer_info
                                             .Where(c => c.emp_id == item.employer)
                                             .SingleOrDefault();
                        jobmodel.image           = name.logo;
                        jobmodel.submission_date = item.submission_date;
                        jobmodel.employer        = name.company_name;
                        jobmodel.full_address    = item.full_address;
                        jobmodel.job_id          = item.job_id;
                        jobmodel.title           = item.title;
                        jobmodel.job_type        = item.job_type;
                        jobmodel.emp_id          = item.employer.HasValue ? Convert.ToInt32(item.employer) : 0;
                        jobmodel.category        = db.job_categories.Find(Convert.ToInt32(item.category)).category_name.ToString();
                        jobsfinal.Add(jobmodel);
                    }
                    ViewBag.recommended = jobsfinal;
                    ViewBag.recognize   = jobids;
                }
            }
            if (id != null)
            {
                jobdetails job_det = new jobdetails();
                var        data    = (from p in db.jobs
                                      join q in db.employer_info on p.employer equals q.emp_id
                                      join r in db.job_categories on p.category equals r.jobcat_id
                                      where p.job_id == id select new { p, q.company_name, q.logo, q.emp_id, r.category_name }).FirstOrDefault();
                List <job> jobs = new List <Models.job>();
                if (data != null)
                {
                    job_det.emp_id          = data.emp_id;
                    job_det.category_name   = data.category_name;
                    job_det.city            = data.p.city;
                    job_det.created_at      = data.p.created_at;
                    job_det.description     = data.p.description;
                    job_det.district        = data.p.district;
                    job_det.employer        = data.company_name;
                    job_det.experience      = data.p.experience;
                    job_det.full_address    = data.p.full_address;
                    job_det.gender          = data.p.gender;
                    job_det.job_id          = data.p.job_id;
                    job_det.job_level       = data.p.job_level;
                    job_det.job_type        = data.p.job_type;
                    job_det.openings        = data.p.openings;
                    job_det.postalcode      = data.p.postalcode;
                    job_det.salaryfrom      = data.p.salaryfrom;
                    job_det.salaryto        = data.p.salaryto;
                    job_det.state           = data.p.state;
                    job_det.status          = data.p.status;
                    job_det.skills          = data.p.skills;
                    job_det.submission_date = data.p.submission_date;
                    job_det.title           = data.p.title;
                    jobs = db.jobs.ToList();
                }
                ViewBag.logo = data.logo;
                int appcount = 0;
                jobs = jobs.Where(c => c.employer == data.p.employer && c.job_id != id).Take(5).ToList();
                if (Session["role"] != null && Session["role"].ToString() == "jobseeker")
                {
                    int userid = Convert.ToInt32(Session["userid"].ToString());
                    userid = (from r in db.jobseeker_info where r.login_info == userid select r.js_id).FirstOrDefault();
                    int count = (from p in db.applications
                                 where p.job_id == id
                                 where p.jobseeker_id == userid
                                 where p.status == 1
                                 select p.job_id
                                 ).Count();
                    ViewBag.count = count;
                    int shortlist = (from exa in db.interests where exa.job_id == id where exa.jobseeker_id == userid where exa.status == 1 select exa.int_id).Count();
                    ViewBag.interested = shortlist;
                }
                appcount         = (from f in db.interests where f.status == 1 where f.job_id == id select f.int_id).Count();
                ViewBag.appcount = appcount;
                ViewBag.data     = jobs.ToList();

                return(View(job_det));
            }
            else
            {
                return(RedirectToAction("index", "login"));
            }
        }
예제 #9
0
        public ActionResult jobListingajax(int?page, string keyword = "", string city = "", string level = "", string time = "", string cat = "", string type = "")
        {
            DateTime today = DateTime.Now;
            int      span;

            int pageSize  = 10;
            int pageIndex = 1;

            pageIndex = page.HasValue ? Convert.ToInt16(page) : 1;
            var        predicate1 = PredicateBuilder.New <job>(true);
            var        predicate2 = PredicateBuilder.New <job>(true);
            List <job> job        = new List <Models.job>();

            if (!string.IsNullOrEmpty(keyword))
            {
                predicate1.And(p => p.title.Contains(keyword));
            }
            if (!string.IsNullOrEmpty(city))
            {
                predicate1.And(p => p.city.Contains(city));
            }
            if (!string.IsNullOrEmpty(level))
            {
                predicate1.And(p => p.job_level.Equals(level));
            }
            predicate1.And(a => a.status == 1);

            if (string.IsNullOrEmpty(keyword) && string.IsNullOrEmpty(level) && string.IsNullOrEmpty(city) && string.IsNullOrEmpty(time) && string.IsNullOrEmpty(cat) && string.IsNullOrEmpty(type))
            {
                if (Session["js_id"] != null)
                {
                    int    ssid   = Convert.ToInt16(Session["js_id"].ToString());
                    string skills = db.jobseeker_info.Where(a => a.js_id == ssid).Select(a => a.skills).First();
                    predicate2.And(a => a.status == 1);
                    if (skills != null)
                    {
                        foreach (var d in skills.Split(',').ToList())
                        {
                            job.AddRange(db.jobs.Where(a => a.status == 1 && a.skills.Contains(d)).ToList());
                        }
                    }
                    job.AddRange(db.jobs.Where(a => a.status == 1));
                    job = job.GroupBy(g => g.job_id).OrderByDescending(g => g.Count()).SelectMany(g => g).ToList();
                    job = job.Distinct().ToList();
                }
                else
                {
                    job = db.jobs.Where(predicate1).OrderByDescending(c => Guid.NewGuid()).ToList();
                }
            }
            else
            {
                job = db.jobs.Where(predicate1).OrderByDescending(c => Guid.NewGuid()).ToList();
            }
            // predicate1.And(a => a.submission_date > DateTime.Now);
            List <job_model> jobs      = new List <job_model>();
            List <job_model> temp      = new List <job_model>();
            List <job_model> jobsfinal = new List <job_model>();
            List <job_model> temptype  = new List <job_model>();

            foreach (var item in job)
            {
                job_model jobmodel = new job_model();
                jobmodel.category    = item.category.ToString();
                jobmodel.city        = item.city;
                jobmodel.created_at  = item.created_at;
                jobmodel.description = item.description;
                jobmodel.district    = item.district;
                jobmodel.job_level   = item.job_level;
                jobmodel.gender      = item.gender;
                jobmodel.salaryfrom  = item.salaryfrom;
                jobmodel.salaryto    = item.salaryto;
                jobmodel.experience  = item.experience;
                employer_info name = db.employer_info
                                     .Where(c => c.emp_id == item.employer)
                                     .SingleOrDefault();
                jobmodel.image           = name.logo;
                jobmodel.submission_date = item.submission_date;
                jobmodel.employer        = name.company_name;
                jobmodel.full_address    = item.full_address;
                jobmodel.state           = item.state;
                jobmodel.district        = item.district;
                jobmodel.job_id          = item.job_id;
                jobmodel.title           = item.title;
                jobmodel.job_type        = item.job_type;
                jobmodel.emp_id          = item.employer.HasValue ? Convert.ToInt32(item.employer) : 0;
                jobmodel.category        = db.job_categories.Find(Convert.ToInt32(item.category)).category_name.ToString();
                jobs.Add(jobmodel);
            }
            jobsfinal = jobs;
            var predicate = PredicateBuilder.New <job_model>(true);

            if (!string.IsNullOrEmpty(cat))
            {
                string[] cat_ = cat.Split(',');
                foreach (string item in cat_)
                {
                    int    item__ = Convert.ToInt16(item);
                    string name   = db.job_categories
                                    .Where(c => c.jobcat_id == item__)
                                    .Select(cc => cc.category_name)
                                    .SingleOrDefault().ToString();
                    predicate.Or(p => p.category.Equals(name));
                }
            }

            if (!string.IsNullOrEmpty(type))
            {
                string[] type_ = type.Split(',');
                foreach (var text in type_)
                {
                    predicate.Or(p => p.job_type.Contains(text));
                }
            }
            jobsfinal = jobsfinal.Where(predicate).ToList();

            if (!string.IsNullOrEmpty(time))
            {
                if (time == "all")
                {
                    span = 2500000;
                }
                else
                {
                    span = Convert.ToInt32(time);
                }
                foreach (var variable in jobsfinal.ToList())
                {
                    TimeSpan t    = (today - Convert.ToDateTime(variable.created_at));
                    double   days = t.TotalHours;
                    if (!(days <= span))
                    {
                        jobsfinal.Remove(variable);
                    }
                }
            }

            if (!string.IsNullOrEmpty(type) || !string.IsNullOrEmpty(cat) || !string.IsNullOrEmpty(time))
            {
                return(PartialView(jobsfinal.ToPagedList(pageIndex, pageSize)));
            }
            else
            {
                return(PartialView(jobsfinal.ToPagedList(pageIndex, pageSize)));
            }
        }