Ejemplo n.º 1
0
        protected void bRefresh_Click(object sender, System.EventArgs e)
        {
            JobApplicant applicant = new JobApplicant(GetApplicantGuid());

            string[] newPersonIDs = ihPersonList.Value.Split(',');

            foreach (string id in newPersonIDs)
            {
                if (id.Trim() != string.Empty)
                {
                    applicant.Person.PersonID = int.Parse(id);
                    Person person = new Person(applicant.Person.PersonID);
                    lblPersonEdit.Text     = person.FullName + "<br />";
                    lbRemovePerson.Visible = applicant.Person.PersonID != -1;

                    if (tbFirstName.Text.Trim() == string.Empty)
                    {
                        tbFirstName.Text = person.NickName;
                    }
                    if (tbLastName.Text.Trim() == string.Empty)
                    {
                        tbLastName.Text = person.LastName;
                    }
                    if (tbEmail.Text.Trim() == string.Empty)
                    {
                        tbEmail.Text = person.Emails.FirstActive;
                    }

                    ihPersonID.Value = id;
                }
            }
            ihPersonList.Value = string.Empty;
        }
Ejemplo n.º 2
0
        public ActionResult Edit(int id)
        {
            JobApplicant jobapplicant = db.JobApplicants.Single(j => j.ApplicantID == id);

            ViewBag.ApplicantStateID = new SelectList(db.ApplicantStates, "StateID", "StateName", jobapplicant.ApplicantStateID);
            return(View(jobapplicant));
        }
        private void SeedApplicants()
        {
            var list = new List <JobApplicant>();

            for (int i = 0; i < LoopIterations; i++)
            {
                var input = new JobApplicant()
                {
                    Id                  = i == 0 ? Id : Id + i,
                    Firstname           = i == 0 ? FirstName : FirstName + i,
                    Middlename          = MiddleName,
                    Lastname            = LastName,
                    PhoneNumber         = PhoneNumber,
                    Bio                 = Bio,
                    Age                 = i == 0 ? Age : Age + i,
                    ExperienceInSelling = false,
                    ImageUrl            = Url,
                    Position            = new JobPosition()
                    {
                        Id     = i == 0 ? PositionId : PositionId + i,
                        Name   = i == 0 ? PositionName : PositionName + i,
                        Salary = Salary
                    }
                };

                list.Add(input);
            }

            this.context.Applicants.AddRange(list);
            this.context.SaveChanges();
        }
Ejemplo n.º 4
0
        public ApiResponse Set(JobApplicant objToSave)
        {
            this.CheckCurrentUserPermission(((x) => x.SectionJobApplicantsVisible));
            objToSave.JobCategory  = null;
            objToSave.Status       = null;
            objToSave.StatusReason = null;
            objToSave.User         = null;

            using (var context = new AgmDataContext())
            {
                var user = context.Users.First(u => u.Id == objToSave.UserId);
                if (user == null || !user.SectionJobApplicantsVisible)
                {
                    objToSave.UserId = this.GetCurrentUser().Id;
                }

                if (objToSave.Id == 0 || !context.JobApplicants.Any(j => j.Id == objToSave.Id))
                {
                    context.JobApplicants.Add(objToSave);
                }
                else
                {
                    context.JobApplicants.Attach(objToSave);
                    ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(objToSave, EntityState.Modified);
                }
                context.SaveChanges();
            }

            return(new ApiResponse(true));
        }
        public ActionResult ApplicantDelete(int id, JobApplicant japp)
        {
            try
            {
                // deleter resume and cover letter files of that specific applicant from server

                var resumeName      = japp.resume_path;
                var coverLetterName = japp.cover_letter_path;

                string fullPath1 = Server.MapPath("~/Content/applicantInfo/resume/"
                                                  + resumeName);

                string fullPath2 = Server.MapPath("~/Content/applicantInfo/cover_letter/"
                                                  + coverLetterName);

                if (System.IO.File.Exists(fullPath1))
                {
                    System.IO.File.Delete(Server.MapPath("~/Content/applicantInfo/resume/"
                                                         + resumeName));
                }
                if (System.IO.File.Exists(fullPath2))
                {
                    System.IO.File.Delete(Server.MapPath("~/Content/applicantInfo/cover_letter/"
                                                         + coverLetterName));
                }

                // delete the information of applicant from table
                objJobApp.commitDelete(id);
                return(RedirectToAction("Applicants"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 6
0
        private void dgApplicants_EditCommand(object source, DataGridCommandEventArgs e)
        {
            JobApplicant applicant = new JobApplicant(int.Parse(e.Item.Cells[0].Text));

            Response.Redirect(string.Format("~/default.aspx?page={0}&guid={1}",
                                            ApplicantDetailPageIDSetting, applicant.Guid.ToString()));
        }
Ejemplo n.º 7
0
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                JobApplicant applicant = new JobApplicant();
                applicant.JobPosting        = new JobPosting(GetJobPostingGuid());
                applicant.FirstName         = tbFirstName.Text;
                applicant.LastName          = tbLastName.Text;
                applicant.Email             = tbEmail.Text;
                applicant.HowHeard          = tbHear.Text;
                applicant.HowLongChristian  = tbChristian.Text;
                applicant.Class100          = bool.Parse(ddlClass100.SelectedValue);
                applicant.Class100Date      = tbClass100.Text.Trim() != string.Empty ? DateTime.Parse(tbClass100.Text) : DateTime.Parse("1/1/1900");
                applicant.ChurchMember      = bool.Parse(ddlMember.SelectedValue);
                applicant.NeighborhoodGroup = bool.Parse(ddlGroup.SelectedValue);
                applicant.Serving           = bool.Parse(ddlServing.SelectedValue);
                applicant.ServingMinistry   = tbServing.Text;
                applicant.Baptized          = bool.Parse(ddlBaptized.SelectedValue);
                applicant.Tithing           = bool.Parse(ddlTithe.SelectedValue);
                applicant.Experience        = tbExperience.Text;
                applicant.LedToApply        = tbLed.Text;
                applicant.Coverletter       = tbCoverLetter.Text;

                applicant.Resume.ByteArray = fuResume.FileBytes;
                applicant.Resume.SetFileInfo(fuResume.PostedFile.FileName);
                applicant.Resume.Save(CurrentUser.Identity.Name);
                applicant.Save(CurrentUser.Identity.Name, true);

                SendMail(applicant);
                Response.Redirect(string.Format("~/default.aspx?pageid={0}", ThankYouPageSetting), true);
            }
        }
Ejemplo n.º 8
0
        public ActionResult ApplicantInsert(int id, JobApplicant japp, HttpPostedFileBase file1, HttpPostedFileBase file2)
        {
            ViewBag.JobPost = new JobPostClass().getJobPostByID(id);
            if (ModelState.IsValid)
            {
                //Upload the resume and cover letter of applicant in to the server
                string resume           = Path.GetFileName(file1.FileName);
                string cover_letter     = Path.GetFileName(file2.FileName);
                string resume_ext       = Path.GetExtension(file1.FileName);
                string cover_letter_ext = Path.GetExtension(file2.FileName);
                resume                 = DateTime.UtcNow.Ticks + resume;
                cover_letter           = DateTime.UtcNow.Ticks + cover_letter;
                japp.resume_path       = resume;
                japp.cover_letter_path = cover_letter;
                if (file1 != null)
                {
                    string path = Path.Combine(Server.MapPath("~/Content/applicantInfo/resume/"), resume);
                    file1.SaveAs(path);
                }
                if (file2 != null)
                {
                    string path = Path.Combine(Server.MapPath("~/Content/applicantInfo/cover_letter/"), cover_letter);
                    file2.SaveAs(path);
                }

                japp.JobPost_id = id;
                objJobApp.commitInsert(japp);
                return(RedirectToAction("Index"));
            }

            return(View());
        }
Ejemplo n.º 9
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            JobApplicant applicant = new JobApplicant(GetApplicantGuid());

            if (ihPersonID.Value.Trim() != string.Empty)
            {
                applicant.Person.PersonID = int.Parse(ihPersonID.Value);
            }
            else
            {
                applicant.Person.PersonID = -1;
            }

            applicant.FirstName           = tbFirstName.Text;
            applicant.LastName            = tbLastName.Text;
            applicant.Email               = tbEmail.Text;
            applicant.JobPosting          = new JobPosting(tbPosition.Text);
            applicant.HowHeard            = tbHeard.Text;
            applicant.HowLongChristian    = tbChristian.Text;
            applicant.Class100            = cbClass100.Checked;
            applicant.Class100Date        = DateTime.Parse(dtbClass100Date.Text);
            applicant.ChurchMember        = cbMember.Checked;
            applicant.NeighborhoodGroup   = cbGroup.Checked;
            applicant.Serving             = cbServing.Checked;
            applicant.ServingMinistry     = tbMinistry.Text;
            applicant.Baptized            = cbBaptized.Checked;
            applicant.Tithing             = cbTithe.Checked;
            applicant.Experience          = tbExperience.Text;
            applicant.LedToApply          = tbLed.Text;
            applicant.Coverletter         = tbCoverletter.Text;
            applicant.RejectionNoticeSent = cbRejection.Checked;
            applicant.ReviewedByHR        = cbReviewed.Checked;
            applicant.Save(CurrentUser.Identity.Name, true);
            Response.Redirect(string.Format("~/default.aspx?page={0}&guid={1}&parCurrentGroup=Finance", ApplicantListPageIDSetting, applicant.JobPosting.JobPostingGuid.ToString()));
        }
Ejemplo n.º 10
0
        public ActionResult Index(JobApplicant applicant)
        {
            try
            {
                // Add the job application to a file
                var userData = "Name: " + applicant.Name + ", E-mail: " + applicant.Email +
                               ", Expirience:" + applicant.Expirience + Environment.NewLine;

                var dataFile = Server.MapPath("~/App_Data/data.txt");
                System.IO.File.AppendAllText(@dataFile, userData);

                if (Request.IsAjaxRequest())
                {
                    return(PartialView("Confirmation"));
                }
                return(View("Confirmation"));
            }
            catch
            {
                if (Request.IsAjaxRequest())
                {
                    return(PartialView("Error"));
                }
                return(View("Error"));
            }
        }
        public static bool ProcessJobApplicant(ref JobApplicant jobApplicant, string build)
        {
            if (!Builds.ContainsKey(build))
            {
                return(false);
            }

            Traverse q = Traverse.Create(jobApplicant).Property("Qualifications");
            List <QualificationSlot> target = q.GetValue <List <QualificationSlot> >();

            target.Clear();

            if (CheckExactAction(1)) // we're speccing trainees
            {
                Traverse r    = Traverse.Create(jobApplicant).Property("Rank");
                int      rank = r.GetValue <int>();
                rank = 0;
                r.SetValue(rank);
            }
            else if (CheckMinAction(2)) // if we're set to random or max
            {
                int num = jobApplicant.MaxQualifications - 1;
                if (CheckExactAction(3))
                {
                    Traverse r    = Traverse.Create(jobApplicant).Property("Rank");
                    int      rank = r.GetValue <int>();
                    rank = 4;
                    r.SetValue(rank);

                    Traverse x  = Traverse.Create(jobApplicant).Property("Experience");
                    float    xp = x.GetValue <float>();
                    xp = 0.0f;
                    x.SetValue(xp);

                    num = jobApplicant.MaxQualifications;
                }
                else if (RandomUtils.GlobalRandomInstance.Next(0, 100) > 50)
                {
                    num++;
                }
                int i = 0;
                foreach (string job in Builds[build])
                {
                    if (++i > num)
                    {
                        break;
                    }
                    if (!qualifications.Definitions.ContainsKey(job))
                    {
                        Logger.Error($"Unable to locate qualification {job} in current level.");
                        return(false);
                    }
                    target.Add(new QualificationSlot(qualifications.Definitions[job], true));
                }
            }

            q.SetValue(target);
            return(true);
        }
Ejemplo n.º 12
0
        public ActionResult DeleteConfirmed(int id)
        {
            JobApplicant jobapplicant = db.JobApplicants.Single(j => j.ApplicantID == id);

            db.JobApplicants.DeleteObject(jobapplicant);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 13
0
        public async Task <bool> AddApplicant(Guid jobPositionId, JobApplicant applicant)
        {
            FilterDefinition <JobPosition> filter = Builders <JobPosition> .Filter.Where(x => x.Id == jobPositionId);

            UpdateDefinition <JobPosition> add = Builders <JobPosition> .Update.AddToSet(c => c.Applicants, applicant);

            UpdateResult result = await DbSet.UpdateOneAsync(filter, add);

            return(result.IsAcknowledged && result.MatchedCount > 0);
        }
Ejemplo n.º 14
0
        private void lbRemovePerson_Click(object sender, EventArgs e)
        {
            JobApplicant applicant = new JobApplicant(GetApplicantGuid());

            applicant.Person.PersonID = -1;
            ihPersonID.Value          = string.Empty;
            lblPersonEdit.Text        = string.Empty;
            lbRemovePerson.Visible    = false;
            applicant.Save(CurrentUser.Identity.Name, true);
        }
Ejemplo n.º 15
0
 public IActionResult Edit(JobApplicant p)
 {
     if (ModelState.IsValid)
     {
         this.applicantRepo.Edit(p);
         return(RedirectToAction("Index"));
     }
     ViewBag.advertises = this.applicantRepo.GetAdvertisement();
     return(View());
 }
Ejemplo n.º 16
0
        public ActionResult ConfirmDeleteJobApplicant(int JobApplicant_id)
        {
            JobApplicant jobApplicant = db.JobApplicants.Find(JobApplicant_id);

            //db.DeleteEmployeeAndDependents(LifeInsurance_id);

            db.JobApplicants.Remove(jobApplicant);
            //db.SaveChanges();

            return(RedirectToAction("JobList"));
        }
Ejemplo n.º 17
0
 //creating an instance of JobApplicant table (Model) as a parameter
 public bool commitInsert(JobApplicant japp)
 {
     //to ensure all data will be disposed of when finished
     using (objApp)
     {
         //using our model to set table columns to new values being passed and providing it to the insert command
         objApp.JobApplicants.InsertOnSubmit(japp);
         objApp.SubmitChanges();
         return(true);
     }
 }
Ejemplo n.º 18
0
 public ActionResult Put(long id, [FromBody] JobApplicant jobApplicant)
 {
     try
     {
         _jobApplicantService.Update(id, jobApplicant);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(UnprocessableEntity(ex));
     }
 }
Ejemplo n.º 19
0
 public ActionResult Post([FromBody] JobApplicant jobApplicant)
 {
     try
     {
         _jobApplicantService.Insert(jobApplicant);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(UnprocessableEntity(ex));
     }
 }
Ejemplo n.º 20
0
        private void ShowDetails()
        {
            pnlDetail.Visible = true;

            JobApplicant applicant = new JobApplicant(GetApplicantGuid());

            tbFirstName.Text   = applicant.FirstName;
            tbLastName.Text    = applicant.LastName;
            tbEmail.Text       = applicant.Email;
            tbPosition.Text    = applicant.JobPosting.Title;
            tbHeard.Text       = applicant.HowHeard;
            tbChristian.Text   = applicant.HowLongChristian;
            cbClass100.Checked = applicant.Class100;
            DisplayRelated(cbClass100, lblClass100Date, dtbClass100Date);
            dtbClass100Date.Text = applicant.Class100Date.ToShortDateString();
            cbMember.Checked     = applicant.ChurchMember;
            cbGroup.Checked      = applicant.NeighborhoodGroup;
            cbServing.Checked    = applicant.Serving;
            DisplayRelated(cbServing, lblMinistry, tbMinistry);
            tbMinistry.Text     = applicant.ServingMinistry;
            cbBaptized.Checked  = applicant.Baptized;
            cbTithe.Checked     = applicant.Tithing;
            tbExperience.Text   = applicant.Experience;
            tbLed.Text          = applicant.LedToApply;
            tbCoverletter.Text  = applicant.Coverletter;
            cbRejection.Checked = applicant.RejectionNoticeSent;
            cbReviewed.Checked  = applicant.ReviewedByHR;

            if (applicant.Person.PersonID != -1)
            {
                if (applicant.Person != null)
                {
                    lblPersonEdit.Text = string.Format("<a href='default.aspx?page={0}&guid={1}' target='_blank'>{2}</a> ",
                                                       PersonDetailPageIDSetting,
                                                       applicant.Person.PersonGUID,
                                                       applicant.Person.FullName);
                    ihPersonID.Value = applicant.Person.PersonID.ToString();
                }
                else
                {
                    lblPersonEdit.Text = string.Empty;
                    ihPersonID.Value   = string.Empty;
                }
            }
            else
            {
                lblPersonEdit.Text = string.Empty;
                ihPersonID.Value   = string.Empty;
            }

            lbRemovePerson.Visible = (applicant.Person.PersonID != -1);
            aResume.NavigateUrl    = string.Format("~/download.aspx?guid={0}", HttpUtility.UrlEncode(applicant.Resume.GUID.ToString()));
        }
Ejemplo n.º 21
0
        public async Task <IActionResult> Post([FromBody] JobApplicant model)
        {
            // fetch the job data
            var job = await _jobRepository.Get(model.JobId);

            var id = await _jobRepository.AddApplicant(model);

            //var endpoint = await _bus.GetSendEndpoint(new Uri("rabbitmq://rabbitmq/dotnetgigs"));  //?bind=true&queue=dotnetgigs
            //await endpoint.Send<ApplicantAppliedEvent>(new  { model.JobId,model.ApplicantId,job.Title});
            await _bus.Publish <ApplicantAppliedEvent>(new { model.JobId, model.ApplicantId, job.Title });

            return(Ok(id));
        }
Ejemplo n.º 22
0
        public void AddApplicant(Guid userId, Guid jobPositionId, string email, string coverLetter)
        {
            JobApplicant applicant = new JobApplicant
            {
                UserId      = userId,
                Email       = email,
                CoverLetter = coverLetter
            };

            Task <bool> task = repository.AddApplicant(jobPositionId, applicant);

            task.Wait();
        }
Ejemplo n.º 23
0
        private void SendMail(JobApplicant applicant)
        {
            JobApplicationNotification applicationMail = new JobApplicationNotification();

            if (applicationMail.TemplateID != -1)
            {
                Dictionary <string, string> fields = new Dictionary <string, string>();
                fields.Add("##JobPostingName##", tbPosition.Text);
                fields.Add("##FirstName##", applicant.FirstName);
                fields.Add("##LastName##", applicant.LastName);
                fields.Add("##Email##", applicant.Email);
                fields.Add("##HowDidYouHear##", applicant.HowHeard);
                fields.Add("##HowLongChristian##", applicant.HowLongChristian);
                fields.Add("##TakenClass100##", ddlClass100.SelectedItem.Text);  // display yes/no rather than true/false in email

                if (applicant.Class100Date != DateTime.Parse("1/1/1900"))
                {
                    fields.Add("##Class100Date##", applicant.Class100Date.ToString());
                }
                else
                {
                    fields.Add("##Class100Date##", string.Empty);
                }

                fields.Add("##Member##", ddlMember.SelectedItem.Text);
                fields.Add("##NeighborhoodGroup##", ddlGroup.SelectedItem.Text);
                fields.Add("##Serving##", ddlServing.SelectedItem.Text);
                fields.Add("##ServingMinistry##", applicant.ServingMinistry);
                fields.Add("##Baptized##", ddlBaptized.SelectedItem.Text);
                fields.Add("##Tithing##", ddlTithe.SelectedItem.Text);
                fields.Add("##Experience##", applicant.Experience);
                fields.Add("##LedToWorkAtCCV##", applicant.LedToApply);
                fields.Add("##Coverletter##", applicant.Coverletter);

                aspNetEmail.Attachment resume          = new aspNetEmail.Attachment(fuResume.PostedFile.InputStream, fuResume.PostedFile.FileName);
                List <string>          validExtensions = new List <string>()
                {
                    ".doc", ".docx", ".pdf", ".rtf", ".txt"
                };

                if (validExtensions.Contains(Path.GetExtension(resume.FileName).ToLower()))
                {
                    List <aspNetEmail.Attachment> attachments = new List <aspNetEmail.Attachment>();
                    attachments.Add(resume);
                    applicationMail.Send(RecipientSetting, fields, attachments);
                }
            }
        }
Ejemplo n.º 24
0
 public async Task <int> AddApplicant(JobApplicant jobApplicant)
 {
     using (var dbConnection = Connection)
     {
         dbConnection.Open();
         return(await dbConnection.ExecuteAsync(
                    "insert JobApplicants values(@jobId,@applicantId,@name,@email,getutcdate(),1)",
                    new
         {
             jobId = jobApplicant.JobId,
             applicantId = jobApplicant.ApplicantId,
             name = jobApplicant.Name,
             email = jobApplicant.Email
         }));
     }
 }
Ejemplo n.º 25
0
        public async Task <IActionResult> Post([FromBody] JobApplicant model)
        {
            // fetch the job data
            var job = await _jobRepository.Get(model.JobId);

            var id = await _jobRepository.AddApplicant(model);

            // commands should be sent to specific endpoint:
            //var endpoint = await _bus.GetSendEndpoint(new Uri("rabbitmq://rabbitmq/dncmt"));  //?bind=true&queue=dncmt
            //await endpoint.Send<ApplicantApplyCommand>(new  { model.JobId,model.ApplicantId,job.Title});

            // events should be published widely:
            await _bus.Publish <ApplicantAppliedEvent>(new { model.JobId, model.ApplicantId, job.Title });

            return(Ok(id));
        }
Ejemplo n.º 26
0
        static void Postfix(HospitalEventStaffHired.Config __instance, Staff staff, JobApplicant applicant)
        {
            if (!Main.enabled || !Main.settings.UnassignJobsOnHire)
            {
                return;
            }

            if (staff.Definition._type != StaffDefinition.Type.Doctor && staff.Definition._type != StaffDefinition.Type.Nurse)
            {
                return;
            }

            var jobs = RoomAlgorithms.GetAllJobs(staff.Level.Metagame, staff.Level.WorldState, staff.Definition._type);

            staff.JobExclusions.Clear();
            staff.JobExclusions.AddRange(jobs);
        }
 public ActionResult ApplicantUpdate(int id, JobApplicant japp)
 {
     //If all the input were valid , then database will be updated
     if (ModelState.IsValid)
     {
         try
         {
             objJobApp.CommitUpdate(id, japp.first_name, japp.last_name, japp.email, japp.phone, japp.status, japp.description);
             return(RedirectToAction("Applicants"));
         }
         catch
         {
             return(View());
         }
     }
     return(View());
 }
        static void Postfix(JobApplicant __instance, WeightedList <QualificationDefinition> qualifications)
        {
            if (!Main.enabled || Main.InInitialisePools || Main.settings.RespecFutureApplicants == 0)
            {
                return;
            }
            Main.qualifications.Process(qualifications);

            WeightedList <string> buildlist = new WeightedList <string>();

            foreach (KeyValuePair <string, int> item in statistics[__instance.Definition._type])
            {
                buildlist.Add(item.Key, item.Value);
            }

            Main.ProcessJobApplicant(ref __instance, buildlist.Choose(null, RandomUtils.GlobalRandomInstance));
        }
Ejemplo n.º 29
0
        public ActionResult DeleteJobApplicant(int?JobApplicant_id)
        {
            ViewBag.JobApplicant_id = JobApplicant_id;

            if (JobApplicant_id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            JobApplicant jobApplicant = db.JobApplicants.Find(JobApplicant_id);

            if (jobApplicant == null)
            {
                return(HttpNotFound());
            }

            return(View(jobApplicant));
        }
Ejemplo n.º 30
0
        private double CalculateScore(JobApplicant jobApplicant)
        {
            double ranking = 0;

            foreach (var jobSkill in jobApplicant.Job.Skills)
            {
                var applicantSkill = jobApplicant.Applicant.Skills.FirstOrDefault(x => x.IdSkill == jobSkill.IdSkill);
                if (applicantSkill != null)
                {
                    ranking += applicantSkill.Ranking > jobSkill.Ranking
                            ? jobSkill.Weight
                            : (jobSkill.Weight / jobSkill.Ranking) * applicantSkill.Ranking;
                }
            }

            jobApplicant.Star = ranking >= jobApplicant.Job.MinScore;

            return(ranking);
        }