public ActionResult AppyJob([Bind(Include = "ResumeId,JobId,ApplyAt,Why_Should_we_hire_you_,Whats_your_dream_job_,JobStatus")] JobApply jobApply) { if (ModelState.IsValid) { var exists = db.JobApplies.Any(m => m.ResumeId == jobApply.ResumeId && m.JobId == jobApply.JobId); if (!exists) { db.JobApplies.Add(jobApply); db.SaveChanges(); var job = db.Jobs.Find(jobApply.JobId); job.JobSeeker = job.JobSeeker - 1; db.Entry(job).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(RedirectToAction("AppliedJob")); } else { ViewBag.msg = "Already applied"; } } return(View(jobApply)); }
public ActionResult ChangeStatus([Bind(Include = "Id,ApplyAt,ResumeId,JobId,Why_Should_we_hire_you_,Whats_your_dream_job_,JobStatus")] JobApply jobApply) { if (ModelState.IsValid) { db.Entry(jobApply).State = EntityState.Modified; db.SaveChanges(); WebMail.SmtpServer = "smtp.gmail.com"; WebMail.SmtpPort = 587; WebMail.SmtpUseDefaultCredentials = true; WebMail.EnableSsl = true; WebMail.UserName = "******"; WebMail.Password = "******"; WebMail.From = "*****@*****.**"; WebMail.Send(to: jobApply.Resume.AspNetUser.UserName, subject: "status apdated", body: "your job =" + jobApply.Job.JobTitle + "status changed to" + jobApply.JobStatus + "so please chaeck your account", isBodyHtml: true); ViewBag.Status = "Email Sent Successfully."; return(RedirectToAction("Job")); } return(View(jobApply)); }
public ActionResult applypositionhistory() {//简历投递记录. var userid = Convert.ToInt32(CookieManager.GetCookie("userId")); var jobApplyList = JobApply.SelectAllByUserId(userid); return(View(jobApplyList)); }
//[Bind(Include = "Id,Job_id,Name,Email,Phone,CV,Text")] public ActionResult PublicDetails(HttpPostedFileBase file, JobApply ja) { try //if you auto build the controllers, visual studio will NOT include a try/catch { //a try/catch will try what you want to do, then "catch" what goes wrong. Try/catch can even catch server errors such as if the database server is down if (ModelState.IsValid) { var fileName = ""; if (file != null && file.ContentLength > 0) { fileName = Path.GetFileName(file.FileName); ja.application.CV = fileName; } ja.application.Date = DateTime.Now; db.Job_applications.Add(ja.application); db.SaveChanges(); if (file != null && file.ContentLength > 0) { var path = Path.Combine(Server.MapPath("~/CVs/"), fileName); file.SaveAs(path); } return(RedirectToAction("PublicIndex")); } } catch (DataException dex) //you can create an Exception/DataException object here and set it to a variable. I've called it dex here. { ViewBag.Message = "Whoops! Something went wrong. Here's what went wrong: " + dex.Message; //One of the properties of these objects is Message which is a string of what went wrong. } ja.job = db.Jobs.Find(ja.application.Job_id); // ViewBag.Type = new SelectList(db.Job_types, "Id", "Title", jobs.Type); return(View("Public/Details", ja)); }
public ActionResult PublicDetails(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } try { //a request will be sent to the database here. Job jobs = db.Jobs.Find(id); if (jobs == null) { return(HttpNotFound()); } JobApply jobapp = new JobApply(); Job_applications apn = new Job_applications(); apn.Job_id = (int)id; jobapp.job = jobs; jobapp.application = apn; // ViewBag.Job_id = db.Jobs.Where(j => j.Id==id && j.Status == true); return(View("Public/Details", jobapp)); } catch (Exception dex) //this catch is finding a server error. { ViewBag.Message = "Something went wrong: " + dex.Message; } return(RedirectToAction("PublicIndex")); //if the try was successful, then the return above would execute. //this return would execute if catch was needed }
public ActionResult AppyJob(int id) { var resume = db.Resumes.FirstOrDefault(m => m.AspNetUser.UserName == User.Identity.Name); var job = db.Jobs.Find(id); ViewBag.jobid = job.Id; ViewBag.resumeid = resume.Id; JobApply js = new JobApply(); return(View(js)); }
public ActionResult ApplyJobEdit([Bind(Include = "Id,ApplyAt,ResumeId,JobId,Why_Should_we_hire_you_,Whats_your_dream_job_,JobStatus")] JobApply jobApply) { if (ModelState.IsValid) { db.Entry(jobApply).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("AppliedJob")); } ViewBag.JobId = new SelectList(db.Jobs, "Id", "JobType", jobApply.JobId); ViewBag.ResumeId = new SelectList(db.Resumes, "Id", "Name", jobApply.ResumeId); return(View(jobApply)); }
public ActionResult ApplyJobDeleteConfirmed(int id) { JobApply jobApply = db.JobApplies.Find(id); var job = db.Jobs.Find(jobApply.Job.Id); job.JobSeeker = job.JobSeeker + 1; db.Entry(job).State = EntityState.Modified; db.SaveChanges(); db.JobApplies.Remove(jobApply); db.SaveChanges(); return(RedirectToAction("AppliedJob")); }
public ActionResult ApplyJobDelete(int?id) { if (id == null) { return(HttpNotFound()); } JobApply jobApply = db.JobApplies.Find(id); if (jobApply == null) { return(HttpNotFound()); } return(View(jobApply)); }
public IHttpActionResult PostJobApply(JobApplyViewModel jobApplyViewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } JobApply JobApply = new JobApply(); Mapper.CreateMap <JobApplyViewModel, JobApply>(); JobApply = Mapper.Map <JobApplyViewModel, JobApply>(jobApplyViewModel); db.JobApply.Add(JobApply); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = jobApplyViewModel.Id }, jobApplyViewModel)); }
public static bool Insert(JobApply _jobApply) { using (var db = new JobEntities()) { JobApply jobApply = db.JobApplies.SingleOrDefault(x => x.JobId == _jobApply.JobId && x.UserId == _jobApply.UserId); if (jobApply == null) { db.JobApplies.Add(_jobApply); db.SaveChanges(); return(true); } else { return(false); } } }
// POST: api/JobApplyViewModel public List <JobApply> PostJobApplyViewModel(object items) { var yourObject = JsonConvert.DeserializeObject <JobApplyViewModelList>(items.ToString()); List <JobApply> firstlist = new List <JobApply>(); var JobApply = new List <JobApplyViewModel>(); foreach (var item in yourObject.items) { var JobApply1 = new JobApply(); Mapper.CreateMap <JobApplyViewModel, JobApply>(); JobApply1 = Mapper.Map <JobApplyViewModel, JobApply>(item); db.JobApply.Add(JobApply1); db.SaveChanges(); firstlist.Add(JobApply1); } return(firstlist); }
public IHttpActionResult PutJobApply(int id, JobApplyViewModel jobApplyViewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != jobApplyViewModel.Id) { return(BadRequest()); } JobApply JobApply = new JobApply(); Mapper.CreateMap <JobApplyViewModel, JobApply>(); JobApply = Mapper.Map <JobApplyViewModel, JobApply>(jobApplyViewModel); db.Entry(JobApply).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!JobApplyExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
private async void Button_Clicked_4(object sender, EventArgs e) { //ApplyButton ApplyButton.IsEnabled = false; try { if (((jobsDetailsViewModel)this.BindingContext)._jobModel.isPartialyAllowed == true && ((jobsDetailsViewModel)this.BindingContext).jobscollection.ToList() == null) { await DisplayAlert("", "Schedule", "Please select fine dates"); return; } else if (((jobsDetailsViewModel)this.BindingContext)._jobModel.isPartialyAllowed == true) { JA = new JobApply() { jobId = ((jobsDetailsViewModel)this.BindingContext)._jobModel.id, requestedHrRate = Convert.ToInt32(Slder.Value), jobApplicantSchedules = ((jobsDetailsViewModel)this.BindingContext).DatesSelected.ToList(), }; } else { JA = new JobApply() { jobId = ((jobsDetailsViewModel)this.BindingContext)._jobModel.id, requestedHrRate = Convert.ToInt32(Slder.Value), jobApplicantSchedules = ((jobsDetailsViewModel)this.BindingContext).jobscollection.ToList(), }; } RestClient <bool> Applytojob = new RestClient <bool>(); var xbool = await Applytojob.PostApi(URLConfig.applyJop, JA); //await loadData(idforsaving); //await ButtonApperance(); if (xbool == true) { JobListHelper.IsApplied = true; ThirdGrid.IsVisible = false; secondGrid.IsVisible = false; firstgrid.IsVisible = true; await firstgrid.FadeTo(1); await secondGrid.FadeTo(0); await ThirdGrid.FadeTo(0); //Refresh the Page await loadData(idforsaving); await ButtonApperance(); } else { ThirdGrid.IsVisible = false; secondGrid.IsVisible = false; firstgrid.IsVisible = true; await firstgrid.FadeTo(1); await secondGrid.FadeTo(0); await ThirdGrid.FadeTo(0); //await loadData(idforsaving); //await ButtonApperance(); } //dateselecedlistview.HeightRequest = (35 * tepmdateselected.Count); //dateselecedlistview.HeightRequest = (40 * tepmdateselected.Count) + (10 * tepmdateselected.Count); } catch (Exception ex) { var logged = new LoggedException.LoggedException("Error in jobdetails.xaml.cs", ex); await logged.LoggAPI(); } finally { ApplyButton.IsEnabled = true; } }
public async Task <IActionResult> JobDetailsAsync(JobApplyViewModel model) { try { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(User); var jobseeker = _jobSeekerRepository.GetJobSeekerByUserId(user.Id); var jobcount = _IJobsApplyRepository.JobAppliedCount(user); if (jobcount >= model.MaxJobAllowed) { TempData["error"] = "You have already applied for max allowed jobs for today, Please try again tommorow"; return(View("JobApplyResult")); } if (_IJobsApplyRepository.IsAlreadyApplied(user.Id, model.JobID)) { RedirectToAction("AlreadyApplied"); } JobApply jobapply = new JobApply(); jobapply.JobID = model.JobID; jobapply.UserID = user.Id; jobapply.JobSeeker = jobseeker; jobapply.ApplyDate = DateTime.Now; if (model.IsExperience != null) { jobapply.IsExperience = Convert.ToBoolean(model.IsExperience); } if (!String.IsNullOrEmpty(model.ExpYear) && !String.IsNullOrEmpty(model.ExpMonth)) { jobapply.Experience = Convert.ToString(model.ExpYear + " years " + model.ExpMonth + " months "); } _IJobsApplyRepository.Create(jobapply); List <EmailAddress> emailAddress = new List <EmailAddress>() { new EmailAddress() { Name = user.UserName, Address = user.Email } //, //new EmailAddress() //{ // Name = "AJJ Job Apply Alert", // Address = "*****@*****.**" //}, }; var job = _IJobsRepository.GetJobsById(jobapply.JobID); var jobSeeker = _jobSeekerRepository.Find(x => x.ApplicationUserId == user.Id).FirstOrDefault(); string jobtitle = job.JobTitle; string companyName = job.CompanyName; string candidateName = jobSeeker.LastName + " " + jobSeeker.FirstName; TempData["warning"] = $"You can apply total {model.MaxJobAllowed} jobs in one day, Today your have already applied for {jobcount + 1} job"; _emailService.SendEmailAsync2(emailAddress, "jobapply", jobtitle, companyName, candidateName); } return(RedirectToAction("JobSavedSuccess")); } //catch (Microsoft.EntityFrameworkCore.DbUpdateException ex) //{ // return RedirectToAction("AlreadyApplied"); //} catch (Exception ex) { ViewData["error"] = "Some Error while apply for job"; } return(View("JobDetails/" + model.JobID)); }
//public async Task<JSLogin> Candidate() public async Task <HttpResponseMessage> JobApplication() //public async Task<ResponseClass> PostJobApplication() { ///Request: RMASD49685-Perm, RMASD49520-Perm, RMASD49276-Perm, RMASD49188-Perm //Logger.Log("Checking : " + "ResumeId: " + "111"); String ResumeID = string.Empty; String JobType = string.Empty; String JobID = string.Empty; List <dynamic> lstJs = new List <dynamic>(); List <JobApply> lstJob = new List <JobApply>(); try { //if (!Request.Content.IsMimeMultipartContent()) //{ // throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); //} //Logger.Log("Checking : " + "ResumeId: " + "222"); //RMSResumeCheckforMobile //if(Request.Content.Headers.ContentType.MediaType.ToString() != "multipart/form-data") //{ // throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); //} var provider = await Request.Content.ReadAsMultipartAsync <InMemoryMultipartFormDataStreamProvider>(new InMemoryMultipartFormDataStreamProvider()); NameValueCollection formData = provider.FormData; //Logger.Log("Checking : " + "ResumeId: " + "333"); foreach (var key in provider.FormData.AllKeys) { //string k = key; object k = key; foreach (var val in provider.FormData.GetValues(key)) { // Trace.WriteLine(string.Format("{0}: {1}", key, val)); switch (key) { case "ResumeId": //Logger.Log("Checking : " + "ResumeId: " + val); ResumeID = val.Replace('"', ' ').Trim(); break; case "JobDetails": //Logger.Log("Checking : " + "JobDetails: " + val); String str = val.Replace('"', ' ').Trim();//"RMASD49685-Perm, RMASD49520-Perm, RMASD49276-Perm, RMASD49188-Perm"; String[] strsplic = str.Trim().Split(','); foreach (var staa in strsplic.AsEnumerable()) { JobApply jbapl = new JobApply() { JobType = staa.Split('-').GetValue(1).ToString(), JobID = staa.Split('-').GetValue(0).ToString(), }; lstJob.Add(jbapl); } break; } } } //Logger.Log("Checking : " + "ResumeId: " + ResumeID + ",JobCode:" + lstJob[0].JobID); foreach (JobApply objjob in lstJob) { if (objjob.JobType.ToUpper() == "TEMP") { int?tempReturnStatus = 0; System.Data.DataTable dtd = new System.Data.DataTable(); DatabaseTransaction objDB = new DatabaseTransaction(); objDB.AddConnectionName = "RMSRemote"; List <KeyValuePair <object, object> > lst = new List <KeyValuePair <object, object> >(); lst.Add(new KeyValuePair <object, object>("@RMSJobCode", objjob.JobID)); lst.Add(new KeyValuePair <object, object>("@RMSResumeID", ResumeID)); lst.Add(new KeyValuePair <object, object>("@CreatedBy", ResumeID)); lst.Add(new KeyValuePair <object, object>("@Type", "TEMP")); dynamic retValue1 = objDB.SqlGetData("RMSJobApplicationDetailsAdd", ref lst, ExecType.Dynamic, ReturnDBOperation.InUpDel, ref tempReturnStatus); } else if (objjob.JobType.ToUpper() == "PERM") { int?canReturnStatus = 0; System.Data.DataTable dtd = new System.Data.DataTable(); DatabaseTransaction objDB = new DatabaseTransaction(); objDB.AddConnectionName = "RMSRemote"; List <KeyValuePair <object, object> > lstcan = new List <KeyValuePair <object, object> >(); lstcan.Add(new KeyValuePair <object, object>("@RMSResumeID", ResumeID)); dtd = objDB.SqlGetData("RMSFetchDetailsForLocal", ref lstcan, ExecType.Dynamic, ReturnDBOperation.DataTable, ref canReturnStatus); if (dtd != null && dtd.Rows.Count > 0) { int?chkReturnStatus = 0; System.Data.DataTable dtd1 = new System.Data.DataTable(); DatabaseTransaction objDB1 = new DatabaseTransaction(); objDB.AddConnectionName = "RMSLocal"; List <KeyValuePair <object, object> > lstcan1 = new List <KeyValuePair <object, object> >(); lstcan1.Add(new KeyValuePair <object, object>("@RemoteRMSResumeID", ResumeID)); lstcan1.Add(new KeyValuePair <object, object>("@RMSCandidateName", Convert.ToString(dtd.Rows[0]["RMSCandidateName"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCandidateSex", Convert.ToString(dtd.Rows[0]["RMSCandidateSex"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCandidateDOB", Convert.ToString(dtd.Rows[0]["RMSCandidateDOB"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCandidateAddress", Convert.ToString(dtd.Rows[0]["RMSCandidateAddress"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCandidateMobileNo", Convert.ToString(dtd.Rows[0]["RMSCandidateMobileNo"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCandidateEmailID", Convert.ToString(dtd.Rows[0]["RMSCandidateEmailID"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSAnnualSalary", Convert.ToString(dtd.Rows[0]["RMSAnnualSalary"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSResumeHeadline", Convert.ToString(dtd.Rows[0]["RMSResumeHeadline"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSResumeSource", Convert.ToString(dtd.Rows[0]["RMSResumeSource"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSResumeType", Convert.ToString(dtd.Rows[0]["RMSResumeType"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSUserID", Convert.ToString(dtd.Rows[0]["RMSUserID"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSPassword", Convert.ToString(dtd.Rows[0]["RMSPassword"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCity", Convert.ToString(dtd.Rows[0]["RMSCandidateCityID"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSQualification", Convert.ToString(dtd.Rows[0]["RMSQualificationID"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCategory", Convert.ToString(dtd.Rows[0]["RMSCategoryID"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCandidateKeySkill", Convert.ToString(dtd.Rows[0]["RMSCandidateKeySkill"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCandidateExp", Convert.ToInt32(dtd.Rows[0]["RMSCandidateExp"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCurrentCompany", Convert.ToString(dtd.Rows[0]["RMSCurrentCompany"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSCurrentDesignation", Convert.ToString(dtd.Rows[0]["RMSCurrentDesignation"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSPreviousCompany", Convert.ToString(dtd.Rows[0]["RMSPreviousCompany"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSDetailsText", Convert.ToString(dtd.Rows[0]["RMSDetailsText"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSDetailsFull", (byte[])dtd.Rows[0]["RMSDetailsFull"])); lstcan1.Add(new KeyValuePair <object, object>("@RMSFileExt", Convert.ToString(dtd.Rows[0]["RMSFileEXT"]))); lstcan1.Add(new KeyValuePair <object, object>("@RMSFileName", Convert.ToString(dtd.Rows[0]["RMSFileName"]))); lstcan1.Add(new KeyValuePair <object, object>("@CreatedBy", ResumeID)); lstcan1.Add(new KeyValuePair <object, object>("@TYPE", objjob.JobType.ToUpper())); lstcan1.Add(new KeyValuePair <object, object>("@JOBCODE", objjob.JobID)); dynamic retValue2 = objDB.SqlGetData("RMSResumeDetailsAddForLocalDB", ref lstcan1, ExecType.Dynamic, ReturnDBOperation.InUpDel, ref chkReturnStatus); } } } lstJs.Add(lstJob); ResponseClass objresponse = new ResponseClass() { ResponseCode = 1, ResponseData = lstJs, ResponseStatus = "Success" }; var jsonformat = new System.Net.Http.Formatting.JsonMediaTypeFormatter(); HttpResponseMessage response = new HttpResponseMessage(); response.Content = new ObjectContent(objresponse.GetType(), objresponse, jsonformat); return(response); //return objresponse; } catch (Exception ex) { lstJs.Add(ex.Message); ResponseClass objresponse = new ResponseClass() { ResponseCode = -102, ResponseData = lstJs, ResponseStatus = "Error" }; Logger.Log("Exception Source : " + ex.TargetSite + " Message : " + ex.Message); var jsonformat = new System.Net.Http.Formatting.JsonMediaTypeFormatter(); HttpResponseMessage response = new HttpResponseMessage(); response.Content = new ObjectContent(objresponse.GetType(), objresponse, jsonformat); return(response); //return objresponse; } finally { lstJs = null; } }