/// <summary> /// Checks all the job posts with Employee.CompareToJob /// </summary> /// <param name="employee"></param> /// <return>Returns a list of recommended JobPosts</returns> public static List <JobPost> GetRecommendedJobs(CVPost cv) { Database db = Database.GetInstance(); List <JobPost> list = new List <JobPost>(); foreach (var user in db.Employers) { foreach (var job in user.JobPosts) { if (cv.CompareToJob(job)) { list.Add(job); } } } return(list); }
public Employee(string username, string emailAddress, string password) : base(username, emailAddress, password, UserType.Employee) { CV = new CVPost(); }
private void AddCV() { string input; bool @break; CVPost CV = new CVPost(); #region Name while (true) { View.WriteLine("Name"); View.WriteLine(); View.Write("> "); input = Console.ReadLine(); try { CV.Name = input; break; } catch (Exception ex) { View.WriteErrorAndClear(ex.Message); } } #endregion View.Clear(); #region Surname while (true) { View.WriteLine("Surname"); View.WriteLine(); View.Write("> "); input = Console.ReadLine(); try { CV.Surname = input; break; } catch (Exception ex) { View.WriteErrorAndClear(ex.Message); } } #endregion View.Clear(); #region Gender while (true) { View.WriteLine("Are you a male(m) or a female(f)?"); View.WriteLine(); View.Write("> "); input = Console.ReadLine(); if (input == "male" || input == "m") { CV.Gender = Gender.Male; break; } else if (input == "female" || input == "f") { CV.Gender = Gender.Female; } else { View.WriteErrorAndClear("Invalid Option"); } } #endregion View.Clear(); #region Age while (true) { View.WriteLine("Age"); View.WriteLine(); View.Write("> "); input = Console.ReadLine(); try { CV.Age = uint.Parse(input); break; } catch (FormatException) { View.WriteErrorAndClear("That is not a number."); } catch (OverflowException) { View.WriteErrorAndClear("Your age is either too big or less than zero."); } catch (Exception ex) { View.WriteErrorAndClear(ex.Message); } } #endregion View.Clear(); #region Study Degree while (true) { @break = true; View.WriteLine("Choose your study degree."); View.WriteLine("1. Undergraduate"); View.WriteLine("2. Graduate"); View.WriteLine("3. Postgraduate"); View.WriteLine(); View.Write("> "); input = Console.ReadLine(); switch (input) { case "1": CV.StudyDegree = StudyDegree.Undergraduate; break; case "2": CV.StudyDegree = StudyDegree.Graduate; break; case "3": CV.StudyDegree = StudyDegree.Postgraduate; break; default: @break = false; View.WriteErrorAndClear("Invalid option."); break; } if (@break) { break; } } #endregion View.Clear(); #region Work Experience while (true) { @break = true; View.WriteLine("Work experience"); View.WriteLine(); View.WriteLine("1. Less than 1 year"); View.WriteLine("2. 1 to 3 years"); View.WriteLine("3. 4 to 8 years"); View.WriteLine("4. More than 8 years"); View.WriteLine(); View.Write("> "); input = Console.ReadLine().Trim(); switch (input) { case "1": CV.WorkExperience = WorkExperience.LessThanOneYear; break; case "2": CV.WorkExperience = WorkExperience.OneToFourYears; break; case "3": CV.WorkExperience = WorkExperience.FourToEightYears; break; case "4": CV.WorkExperience = WorkExperience.MoreThanEightYears; break; default: @break = false; View.WriteErrorAndClear("Invalid option."); break; } if (@break) { break; } } #endregion View.Clear(); #region Job Category while (true) { View.WriteLine("Choose one of the job categories"); // Getting names of Job Categories and displaying them string[] names = Enum.GetNames(typeof(JobCategory)); for (int i = 1; i <= names.Length; i++) { View.WriteLine($"{i}. {names[i - 1]}"); } View.WriteLine(); View.Write("> "); input = Console.ReadLine(); int n = 0; //checking if input is a number try { int.TryParse(input, out n); n--; if (n < 0 || n >= names.Length) { throw new Exception(); } } catch (Exception) { View.WriteErrorAndClear("Invalid option."); continue; } // Declaring the job category CV.Category = (JobCategory)n; break; } #endregion View.Clear(); #region City while (true) { View.WriteLine("City"); View.WriteLine(); View.Write("> "); input = Console.ReadLine(); try { CV.City = input; break; } catch (Exception ex) { View.WriteErrorAndClear(ex.Message); } } #endregion View.Clear(); #region Minimum Salary while (true) { View.WriteLine("Minimum salary you want"); View.WriteLine(); View.Write("> "); input = Console.ReadLine(); try { CV.MinimumSalary = uint.Parse(input); break; } catch (FormatException) { View.WriteErrorAndClear("That is not a number."); } catch (OverflowException) { View.WriteErrorAndClear("That is either too big or less than zero."); } catch (Exception ex) { View.WriteErrorAndClear(ex.Message); } } #endregion View.Clear(); #region Phone number while (true) { View.WriteLine("Your phone number (+994501234567)"); View.WriteLine(); View.Write("> "); input = Console.ReadLine().Trim(); try { CV.PhoneNumber = input; break; } catch (Exception ex) { View.WriteErrorAndClear(ex.Message); } } #endregion View.Clear(); #region Summary while (true) { View.WriteLine(CV.ToString()); View.WriteLine(); View.WriteLine("Are you sure to add this CV to your accaunt? (y/n)"); View.WriteLine(); View.Write("> "); input = Console.ReadLine().Trim(); if (input == "yes" || input == "y") { break; } else if (input == "no" || input == "n") { View.Clear(); return; } else { View.WriteErrorAndClear("Invalid option."); } } #endregion View.Clear(); user.CV = CV; Database.GetInstance().Save(); }