public IActionResult Edit([Bind] VacancyResponse vacancyData) { if (!ModelState.IsValid) { var vacancy = VacancyService.Get(vacancyData.Id); vacancyData.Organization = vacancy.Organization.ToResponse(); return(View(vacancyData)); } var storedModel = VacancyService.Get(vacancyData.Id); var updateRequest = storedModel.ToUpdateCommandBy(vacancyData); var updated = VacancyService.Update(vacancyData.Id, updateRequest); var expectedUpdated = vacancyData.ToModel(); var success = updated.IsIdenticTo(expectedUpdated); var model = new IndexPageStatusModel { StatusId = $"{nameof(Edit)}:{success}", VacancyId = vacancyData.Id }; return(RedirectToAction(nameof(Index), model)); }
public async Task GetTest() { int vacancyId = 15; var vacancy = new Vacancy() { Id = 15, VacancyName = "iOS Developer" }; mockVacancyRepository.Setup(x => x.Read(It.IsAny <int>())).Returns(vacancy); var candidateRepository = mockCandidateRepository.Object; var unitOfWork = mockUnitOfWork.Object; var candidateService = mockCandidateService.Object; var techSkillRepository = mockTechSkillRepository.Object; var vacancyRepository = mockVacancyRepository.Object; var eventService = mockEventService.Object; var vacancyService = new VacancyService(unitOfWork, vacancyRepository, candidateRepository, techSkillRepository, candidateService, eventService); var result = await vacancyService.Get(vacancyId); Assert.AreEqual(vacancy, result); }
public void AddControlForProbation(SimplePageVM model) { var vacancies = VacancyService.GetAll().IsActive().Where(v => v.Type == CenterVacancyType.Probation) .OrderByDescending(v => v.PublishDate).Take(50).ToList(); model.Controls.Add( new SimplePageVM.Control(Views.Page.PartnerVacancies, vacancies)); }
public ExportController( VacancyExportTaskStorage storage, VacancyService resumeService, IVacancyExporter exporter) { _storage = storage; _resumeService = resumeService; _exporter = exporter; }
public VacancyModel Get(string id) { var result = VacancyService.Get(id); if (result != null) { result.Organization = OrganizationService.Get(result.OrganizationId); } return(result); }
public IActionResult DeleteComfirmed([Bind] string id) { var success = VacancyService.Delete(id); var model = new IndexPageStatusModel { StatusId = $"{nameof(Edit)}:{success}", VacancyId = id }; return(RedirectToAction(nameof(Index), model)); }
public ActionResult VacanciesFor() { var vacancies = VacancyService.GetAll().IsActive().OrderByDescending(v => v.IsHot ).OrderByDescending(v => v.PublishDate).Take(CommonConst.MaxHotVacansyCount); if (vacancies.Any(v => v.IsHot)) { vacancies = vacancies.Where(v => v.IsHot); } return(View(PartialViewNames.VacanciesBlock, vacancies)); }
public ActionResult Vacancy(int vacancyID) { var vacancy = VacancyService.GetByPK(vacancyID); if (vacancy == null || !vacancy.IsActive) { return(null); } return(View(new VacancyVM { Career = GetCareer(), Vacancy = vacancy })); }
public void AddControlForCareer(SimplePageVM model) { // var vacancies = VacancyService.GetAll().IsActive().OrderByDescending(v => // v.IsHot // ).OrderByDescending(v => v.PublishDate).Take(CommonConst.MaxHotVacansyCount); var vacancies = VacancyService.GetAll().IsActive().Where(v => v.IsHot && !v.IsPartner && v.Type != CenterVacancyType.Probation) .OrderByDescending(v => v.PublishDate); // if (vacancies.Any(v => v.IsHot)) // vacancies = vacancies.Where(v => v.IsHot); model.RightColumnControls.Add( new SimplePageVM.Control(PartialViewNames.VacanciesBlock, vacancies)); }
private static void OnTimedEvent(object sender, ElapsedEventArgs e) { //Log before DateTime timeBeginLoad = DateTime.Now; string stringTimeBeginLoad = timeBeginLoad.ToString(); //_logger.Log("New load engaged: " + stringTimeBeginLoad); VacancyService.LoadListFromDB(); //Log after DateTime timeEndLoad = DateTime.Now; string stringTimeEndLoad = timeEndLoad.ToString(); // _logger.Log("Load completed: " + stringTimeEndLoad); }
public bool Delete(string id) { var organizationId = Get(id)?.OrganizationId; bool success = VacancyService.Delete(id); if (success && organizationId != null) { var organization = OrganizationService.GetWithVacancies(organizationId); if (organization.Vacancies.Count == 0) { OrganizationService.Delete(organizationId); } } return(success); }
public ActionResult VacanciesForEmployee(int?index) { if (!index.HasValue) { return(RedirectToAction(() => VacanciesForEmployee(1))); } var vacancies = VacancyService.GetAll().IsActive().Where(x => !x.IsPartner) .Where(v => v.Type == CenterVacancyType.Emloyee) .OrderByDescending(v => v.PublishDate).ToPagedList(index.Value - 1); return(View(ViewNames.Vacancies, new VacancyListVM { Vacancies = vacancies, Career = GetCareer(), })); }
public SearchResponse Search(SearchRequest request) { var result = new SearchResponse { Result = new List <VacancyResponse>() }; var searchFilter = new SearchFilter(request.FromRequest(), OrganizationService); var predicate = searchFilter.GetPredicate(); var resultList = VacancyService.GetRangeBy(predicate); result.Result = resultList.ConvertAll( (vacancyModel) => vacancyModel.ToResponse(OrganizationService)); return(result); }
public IActionResult Create([Bind] VacancyCreateModel vacancyData) { if (!ModelState.IsValid) { return(View(vacancyData)); } var id = VacancyService.Add(vacancyData.ToModel(OrganizationService)); var success = id != null && id != Guid.Empty.ToString(); var model = new IndexPageStatusModel { StatusId = $"{nameof(Create)}:{success}", VacancyId = id }; return(RedirectToAction(nameof(Index), model)); }
public async Task UpdateVacancyStatusTest() { int status = 4; var vacancy = new Vacancy() { Id = 18, Status = 1, HRM = 2 }; var newVacancy = new Vacancy() { Id = 18, Status = 4, HRM = 2 }; mockVacancyRepository.Setup(x => x.Read(It.IsAny <int>())).Returns(vacancy); var candidateRepository = mockCandidateRepository.Object; var unitOfWork = mockUnitOfWork.Object; var candidateService = mockCandidateService.Object; var techSkillRepository = mockTechSkillRepository.Object; var vacancyRepository = mockVacancyRepository.Object; var eventService = mockEventService.Object; var vacancyService = new VacancyService(unitOfWork, vacancyRepository, candidateRepository, techSkillRepository, candidateService, eventService); var result = await vacancyService.UpdateStatus(vacancy.Id, status, vacancy.HRM); Assert.AreEqual(newVacancy.Status, result.Status); }
// private string DBLoadString = "https://api.catsone.com/api/get_joborders?save_user_values=1&subdomain=sentimus&transaction_code=fd20aba59b0968107547f1107ff78fd4&search=%22C%23%22&rows_per_page=50&page_number=0&sort=id%2C+title%2C+description%2C+is_hot%2C+company&sort_direction=&display_column=&list=&filter="; protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); _logger = new BackendLogger(); timer = new Timer(); //1 hour (60s * 60m) //timer.Interval = 60000 * 60; //Test // timer.Elapsed += new ElapsedEventHandler(OnTimedEvent); //// timer.Interval = 60000; // timer.Enabled = true; // timer.AutoReset = true; VacancyService.LoadListFromDB(); }
public VacancyController(VacancyService service) { this.service = service; }
public ParseResultForm() { InitializeComponent(); _seleniumService = new SeleniumService(); _vacancyService = new VacancyService(); }
public void VacancyServiceSetUp() { var users = new List <User> { new User( "*****@*****.**", "Admin", UserType.Administrator), new User( "*****@*****.**", "Ivan", UserType.Candidate), new User( "*****@*****.**", "Shepherd", UserType.Recruiter), new User( "*****@*****.**", "Alex", UserType.Candidate), new User( "*****@*****.**", "Max", UserType.Candidate), new User( "*****@*****.**", "Roman", UserType.Recruiter), new User( "*****@*****.**", "Nick", UserType.Recruiter) }; var skills = new List <Skill> { new Skill("Skill1"), new Skill("Skill2"), new Skill("Skill3"), new Skill("Skill4") }; var specializations = new List <Specialization> { new Specialization("Spec1"), new Specialization("Spec2") }; var vacancies = new List <Vacancy> { new Vacancy( users[2], new Specialization("Spec1"), new List <Skill> { new Skill("Skill1"), new Skill("Skill2") }, "Info"), new Vacancy( users[5], new Specialization("Spec2"), new List <Skill> { new Skill("Skill3"), new Skill("Skill4") }, "Info") }; _userRepository = new UserRepositoryMock(users); _skillRepository = new SkillRepositoryMock(skills); _specializationRepository = new SpecializationRepositoryMock(specializations); _vacancyRepository = new VacancyRepositoryMock(vacancies); _vacancyService = new VacancyService(_vacancyRepository, _userRepository, _skillRepository, _specializationRepository); }
public string Add(VacancyModel vacancy) => VacancyService.Add(vacancy);
public async Task UnassignCandidateTest() { var vacancy = new Vacancy() { Id = 18, Status = 1, HRM = 2 }; Candidate candidate1 = new Candidate() { Id = 22, FirstNameEng = "David", LastNameEng = "Fraller", FirstNameRus = "Давид", LastNameRus = "Фраллер", Status = 1 }; Candidate candidate2 = new Candidate() { Id = 2, FirstNameEng = "Victor", LastNameEng = "Toll", FirstNameRus = "Виктор", LastNameRus = "Толл", Status = 3 }; vacancy.Candidates.Add(candidate1); vacancy.Candidates.Add(candidate2); mockCandidateRepository.Setup(x => x.Read(It.IsAny <int>())).Returns(candidate1); mockVacancyRepository.Setup(x => x.Read(It.IsAny <int>())).Returns(vacancy); var candidateRepository = mockCandidateRepository.Object; var unitOfWork = mockUnitOfWork.Object; var candidateService = mockCandidateService.Object; var techSkillRepository = mockTechSkillRepository.Object; var vacancyRepository = mockVacancyRepository.Object; var eventService = mockEventService.Object; var vacancyService = new VacancyService(unitOfWork, vacancyRepository, candidateRepository, techSkillRepository, candidateService, eventService); var result = await vacancyService.UnassignCandidate(vacancy.Id, candidate1.Id, vacancy.HRM); Assert.AreEqual(1, result.Candidates.Count); }
public async Task SearchTest() { Vacancy vacancy1 = new Vacancy() { Id = 22, Status = 1, ProjectName = "Some project name", City = 4 }; Vacancy vacancy2 = new Vacancy() { Id = 2, Status = 4, ProjectName = "Another project name", City = 2 }; VacancySearchModel searchModel = new VacancySearchModel() { VacancyName = "JavaScript Junior Developer", City = 3, Status = 2, RequestDate = new DateTime(2017, 8, 8) }; IQueryable <Vacancy> vacancyFindList = new List <Vacancy>().AsQueryable(); IQueryable <Vacancy> vacancyReadList = new List <Vacancy>() { vacancy1, vacancy2 }.AsQueryable(); mockVacancyRepository.Setup(x => x.Find(It.IsAny <VacancySearchModel>())).Returns(vacancyFindList); mockVacancyRepository.Setup(x => x.ReadAll()).Returns(vacancyReadList); var candidateRepository = mockCandidateRepository.Object; var unitOfWork = mockUnitOfWork.Object; var candidateService = mockCandidateService.Object; var techSkillRepository = mockTechSkillRepository.Object; var vacancyRepository = mockVacancyRepository.Object; var eventService = mockEventService.Object; var vacancyService = new VacancyService(unitOfWork, vacancyRepository, candidateRepository, techSkillRepository, candidateService, eventService); var result = await vacancyService.Search(0, 5, searchModel, null); Assert.AreEqual(0, result.Count); var actual = await vacancyService.Search(0, 5, null, null); Assert.AreEqual(2, actual.Count); }
public VacancyController(VacancyService services) { _services = services; }
public VacancyModel Update(string id, VacancyUpdateModel vacancyUpdate) => VacancyService.Update(id, vacancyUpdate);
private VacancyResponse GetVacancy(string id) => VacancyService.Get(id)?.ToResponse(OrganizationService);
private ICollection <VacancyResponse> GetAllVacancies() => VacancyService.Get().ConvertAll((v) => v.ToResponse(OrganizationService));
public List <VacancyModel> Get() => VacancyService.GetRangeBy((vacancy) => true);