private void UpdateApplication() { using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { if (textBoxUpdateDateOutput.Text.ToString() == "" || textBoxStatusOutput.Text.ToString() == "") { MessageBox.Show("Please enter both update fields!"); return; } string inputDate = textBoxUpdateDateOutput.Text.ToString(); string inputStatus = textBoxStatusOutput.Text.ToString(); DateTime applicationDate; if (!DateTime.TryParse(inputDate, out applicationDate)) { MessageBox.Show("Please enter the date in correct form!"); return; } context.Applications.Find(applicationID).StatusDate = applicationDate; context.Applications.Find(applicationID).Status = inputStatus; context.SaveChanges(); InitializeUpdateForm(); } }
/// <summary> /// Initializes default parameters for Filter and Recruiter Dashboard /// </summary> private void UpdateForm_Load() { using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { context.SeedDatabase(); } //Initialize Form Settings InitializeUpdateForm(); }
/// <summary> /// Initializes default parameters for Filter and Recruiter Dashboard /// </summary> private void RecruiterMainForm_Load() { using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { context.SeedDatabase(); } //Initialize Form Settings InitializeFiltersSettings(); InitializeDashboardSettings(); }
private void FilterApplicationList() { using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { string status = comboBoxCompaniesFilter.SelectedText.ToString(); var getApplication = from app in context.Applications where app.Status.Equals(status) select app; dataGridViewApplicationDetails.DataSource = getApplication.ToList(); } }
private void UpdateInterview() { int interviewId; using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { if (textBoxRecruiterName.Text.ToString() == "" || textBoxInterviewRound.Text.ToString() == "" || textBoxMedium.Text.ToString() == "" || textBoxScore.Text.ToString() == "") { MessageBox.Show("Please enter all interview fields!"); return; } string inputRecruiterName = textBoxRecruiterName.Text.ToString(); string inputInterviewRound = textBoxInterviewRound.Text.ToString(); string inputMedium = textBoxMedium.Text.ToString(); string inputScore = textBoxScore.Text.ToString(); int intInterviewRound, intScore; if (!Int32.TryParse(inputInterviewRound, out intInterviewRound)) { MessageBox.Show("Please enter the interview rounds in numeric form!"); return; } if (!Int32.TryParse(inputScore, out intScore)) { MessageBox.Show("Please enter the score in numeric form!"); return; } if (dataGridViewInterviewDetails.SelectedRows.Count < 1) { MessageBox.Show("Please select the interview first!"); return; } interviewId = Int32.Parse(dataGridViewInterviewDetails.SelectedRows[0].Cells[0].Value.ToString()); Interview newInterview = context.Interviews.Find(interviewId); newInterview.RecruiterName = inputRecruiterName; newInterview.InterviewRound = intInterviewRound; newInterview.ApplicationId = this.applicationID; newInterview.Medium = inputMedium; newInterview.Score = intScore; context.SaveChanges(); InitializeUpdateForm(); } }
/// <summary> /// Fills the listbox with all the posotions available according to filter selected /// </summary> private void FillRolesListBox() { //filters by active roles using unit of work listBoxJobPositions.Items.Clear(); using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { var rolesByStatus = context.Jobs; foreach (var job in rolesByStatus) { /*Harmeet*/ listBoxJobPositions.Items.Add(job.JobId + ": " + job.Description); // adding job id to the list to fetch the job id for } } // Set role listbox to have no jobs selected listBoxJobPositions.SelectedIndex = -1; }
static void Main(string[] args) { using (RecruitmentEntities context = new RecruitmentEntities()) { context.SeedDatabase(); DisplayTable(context.Jobs); DisplayTable(context.Perks); DisplayTable(context.Applications); DisplayTable(context.Candidates); DisplayTable(context.Companies); DisplayTable(context.Interviews); Console.Read(); } }
/// <summary> /// Initialize Perks DatagridView /// </summary> /// <param name="jobId"></param> public void InitializeDataGridViewJobPerks(int jobId) { //Sets grid controls dataGridViewPerksOutput.AllowUserToAddRows = false; dataGridViewPerksOutput.AllowUserToDeleteRows = false; dataGridViewPerksOutput.ReadOnly = true; dataGridViewPerksOutput.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dataGridViewPerksOutput.Columns.Clear(); DataGridViewTextBoxColumn[] Columns = new DataGridViewTextBoxColumn[] { new DataGridViewTextBoxColumn() { Name = "PerkID" }, new DataGridViewTextBoxColumn() { Name = "Description" }, new DataGridViewTextBoxColumn() { Name = "Amount" }, new DataGridViewTextBoxColumn() { Name = "AvailableAfterMonth" } }; dataGridViewPerksOutput.Columns.AddRange(Columns); using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { foreach (Job job in context.Jobs) { if (job.JobId == jobId) { foreach (Perk perk in job.Perks) { dataGridViewPerksOutput.Rows.Add(perk.PerkId, perk.Description, perk.Amount, perk.AvailableAfterMonth); } } } } }
private void AddInterview() { using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { if (textBoxRecruiterName.Text.ToString() == "" || textBoxInterviewRound.Text.ToString() == "" || textBoxMedium.Text.ToString() == "" || textBoxScore.Text.ToString() == "") { MessageBox.Show("Please enter all interview fields!"); return; } string inputRecruiterName = textBoxRecruiterName.Text.ToString(); string inputInterviewRound = textBoxInterviewRound.Text.ToString(); string inputMedium = textBoxMedium.Text.ToString(); string inputScore = textBoxScore.Text.ToString(); int intInterviewRound, intScore; if (!Int32.TryParse(inputInterviewRound, out intInterviewRound)) { MessageBox.Show("Please enter the interview rounds in numeric form!"); return; } if (!Int32.TryParse(inputScore, out intScore)) { MessageBox.Show("Please enter the score in numeric form!"); return; } Interview newInterview = new Interview() { RecruiterName = inputRecruiterName, InterviewRound = intInterviewRound, ApplicationId = this.applicationID, Medium = inputMedium, Score = intScore }; context.Interviews.Add(newInterview); context.SaveChanges(); InitializeUpdateForm(); } }
/// <summary> /// Fills the combobox with a list of unique companies present in the database /// </summary> private void FillCompaniesComboBox() { //Fills combobox with distinct companies using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { var items = context.Companies.Select(c => new { company = c.Name }).Distinct() .AsEnumerable().Select(c => new { displayMember = String.Format(c.company) }); comboBoxCompaniesFilter.DisplayMember = "displayMember"; comboBoxCompaniesFilter.DataSource = items.ToList(); // Default is none selected comboBoxCompaniesFilter.SelectedIndex = -1; } }
/// <summary> /// Filter listbox based on radiobutton /// and combobox selection (if applicable) /// </summary> private void FilterJobList() { listBoxJobPositions.Items.Clear(); using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { var filteredRoles = from job in context.Jobs select job; if (comboBoxCompaniesFilter.SelectedIndex != -1) { filteredRoles = from job in filteredRoles join company in context.Companies on job.CompanyId equals company.CompanyId where company.Name.Equals(comboBoxCompaniesFilter.Text) select job; } if (radioButtonActiveApplications.Checked == true) { filteredRoles = from job in filteredRoles where job.Active == 1 select job; } if (radioButtonFinalizedApplications.Checked == true) { filteredRoles = from job in filteredRoles where job.Active == 0 select job; } foreach (var job in filteredRoles) { listBoxJobPositions.Items.Add(job.JobId + ": " + job.Description); } } // Set role listbox to have no jobs selected listBoxJobPositions.SelectedIndex = -1; }
/// <summary> /// Updates the Recruiter Dashboard /// Takes the role selected by the list box and fills the dashboard with details about that role and it's applications /// </summary> private void UpdateDashboard() { //this.role = listBoxJobPositions.SelectedItem.ToString(); using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { //var getRoleDetails = context.Jobs.Find(listBoxJobPositions.SelectedIndex + 1); // Harmeet: index starts from 0 and job id starts from 1. String selectedRole = listBoxJobPositions.SelectedItem.ToString(); int index = selectedRole.IndexOf(":"); /*Harmeet*/ var getRoleDetails = context.Jobs.Find(Int16.Parse(selectedRole.Substring(0, index))); int jobID = getRoleDetails.JobId; int companyID = getRoleDetails.CompanyId; // Initialize Role depedent labels /*Harmeet*/ this.role = getRoleDetails.Description; // Harmeet: Getting the job description from the job found in the database using selected role labelSelectedRoleOutput.Text = role; var getApplications = context.Applications.Where(a => a.JobId == jobID).ToList().Count(); labelNumberOfCandidatesOutput.Text = getApplications.ToString(); labelNumberOfRoundsOutput.Text = getRoleDetails.RoundsRequired.ToString(); labelSalaryOutput.Text = getRoleDetails.Salary.ToString(); if (getRoleDetails.Active == 1) { labelRoleStatusOutput.Text = "Active"; } else { labelRoleStatusOutput.Text = "Finalized"; } var getCompany = from company in context.Companies where company.CompanyId == companyID select company; var getCompanyDetails = context.Companies.Find(companyID); labelCompanyNameOutput.Text = getCompanyDetails.Name; labelHiringDepartmentOutput.Text = getCompanyDetails.HiringDepartment; labelHiringManagerOutput.Text = getCompanyDetails.HiringManager; labelCompanySizeOutput.Text = getCompanyDetails.Size.ToString(); //Initialize datagridviews InitializeDataGridView <RecruitmentCodeFirstFromDB.Application>(dataGridViewApplicationDetails, "Candidate", "Job", "Interviews"); //TODO: Filter so that the only applications information that shows is the one that matches the jobID for the role selected for (int i = 0; i < dataGridViewApplicationDetails.Rows.Count; i++) { if (!string.Equals(dataGridViewApplicationDetails[1, i].Value.ToString(), jobID.ToString())) { dataGridViewApplicationDetails.Rows.RemoveAt(i); i--; } } InitializeDataGridViewJobPerks(jobID); } }
/// <summary> /// Initializes Update Form /// /// Fills all datagrids /// Checks the application status to see if application can be updated or not /// Clears all textboxes /// </summary> private void InitializeUpdateForm() { //gets role and applicationID from main form labelRole.Text = role; labelApplicationIDOutput.Text = applicationID.ToString(); // clears all textboxes textBoxUpdateDateOutput.ResetText(); textBoxStatusOutput.ResetText(); textBoxRecruiterName.ResetText(); textBoxInterviewRound.ResetText(); textBoxMedium.ResetText(); textBoxScore.ResetText(); //Checks if the application status is active and allows for updates using (RecruitmentEntities context = Controller <RecruitmentEntities, DbSet> .SetContext()) { if (context.Applications.Find(applicationID).Status.Equals("discarded") || context.Applications.Find(applicationID).Status.Equals("hired")) { buttonAddInterview.Enabled = false; } else { buttonAddInterview.Enabled = true; } //get candidateID from Application Table var getApplicationDetails = context.Applications.Find(applicationID); var cadidateID = getApplicationDetails.CandidateId; //get Candidate var getCandidate = from candidate in context.Candidates where candidate.CandidateId == cadidateID select new { FirstName = candidate.FirstName, LastName = candidate.LastName, Address = candidate.Address, Language = candidate.Language, Gender = candidate.Gender, ExpectedSalary = candidate.ExpectedSalary, LatestPosition = candidate.LatestPosition, ExperienceYears = candidate.ExperienceYears }; dataGridViewCandidateDetails.DataSource = getCandidate.ToList(); //get Application var getApplication = from app in context.Applications where app.ApplicationId == applicationID select new { SubmissionDate = app.SubmissionDate, EmployeeReferral = app.EmployeeReferral, Status = app.Status, StatusDate = app.StatusDate }; dataGridViewApplicationDetails.DataSource = getApplication.ToList(); //get interviews var getInterviews = from interview in context.Interviews where interview.ApplicationId == applicationID select new { InterviewID = interview.InterviewId, InterviewRound = interview.InterviewRound, Recruiter = interview.RecruiterName, Medium = interview.Medium, Score = interview.Score }; dataGridViewInterviewDetails.DataSource = getInterviews.ToList(); } }