public RecruiterServiceIntegrationTest() { _recruiterRepository = new RecruiterRepository(_database); _companyRepository = new CompanyRepository(_database); _jobOfferRepository = new JobOfferRepository(_database); _skillRepository = new SkillRepository(_database); _service = new RecruiterService(_companyRepository, _recruiterRepository, _jobOfferRepository); }
public RecruiterServiceUnitTest() { _mongoDataBaseMock = new Mock <IMongoDatabase>(MockBehavior.Loose); _companyRepositoryMock = new Mock <CompanyRepository>(MockBehavior.Strict, _mongoDataBaseMock.Object); _recruiterRepositoryMock = new Mock <RecruiterRepository>(MockBehavior.Strict, _mongoDataBaseMock.Object); _jobOfferRepositoryMock = new Mock <JobOfferRepository>(MockBehavior.Strict, _mongoDataBaseMock.Object); _service = new RecruiterService(_companyRepositoryMock.Object, _recruiterRepositoryMock.Object, _jobOfferRepositoryMock.Object); }
public RecruiterServiceIntegrationTest() { _recruiterRepository = new RecruiterRepository(_database); _companyRepository = new CompanyRepository(_database); _jobOfferRepository = new JobOfferRepository(_database); _skillRepository = new SkillRepository(_database); _personRepository = new PersonRepository(_database); _accountRepository = new AccountRepository(_database); _recruiterService = new RecruiterService(_companyRepository, _recruiterRepository, _jobOfferRepository, _personRepository, _accountRepository); _personService = new PersonService(_personRepository, _jobOfferRepository, _accountRepository); }
public HttpResponseMessage DeleteReminder(int id = 0) { if (id <= 0) { ErrorLogService svc = new ErrorLogService(); ErrorLogAddRequest error = new ErrorLogAddRequest(); error.ErrorFunction = "Aic.Web.Controllers.Api.DeleteReminder"; error.ErrorMessage = id + " is not valid!"; error.UserId = UserService.UserSelect().PersonId; svc.ErrorLogInsert(error); return(Request.CreateResponse(HttpStatusCode.BadRequest)); } SuccessResponse response = new SuccessResponse(); RecruiterService.DeleteReminder(id); return(Request.CreateResponse(response)); }
public HttpResponseMessage PutReminder(int id, ReminderPutRequest request) { if (ModelState.IsValid) { ErrorLogService svc = new ErrorLogService(); ErrorLogAddRequest error = new ErrorLogAddRequest(); error.ErrorFunction = "Aic.Web.Controllers.Api.PutReminder"; error.ErrorMessage = ModelState.ToString(); error.UserId = UserService.UserSelect().PersonId; svc.ErrorLogInsert(error); return(Request.CreateResponse(HttpStatusCode.BadRequest)); } SuccessResponse response = new SuccessResponse(); RecruiterService.UpdateReminder(request); return(Request.CreateResponse(response)); }
public HttpResponseMessage PostReminder(ReminderPostRequest request) { if (!ModelState.IsValid) { ErrorLogService svc = new ErrorLogService(); ErrorLogAddRequest error = new ErrorLogAddRequest(); error.ErrorFunction = "Aic.Web.Controllers.Api.PostReminder"; error.ErrorMessage = ModelState.ToString(); error.UserId = UserService.UserSelect().PersonId; svc.ErrorLogInsert(error); return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState)); } ItemResponse <int> response = new ItemResponse <int>(); request.CreatedBy = HttpContext.Current.User.Identity.GetUserId(); response.Item = RecruiterService.PostReminder(request); return(Request.CreateResponse(response)); }
public HttpResponseMessage GetReminder() { try { ItemsResponse <Reminder> response = new ItemsResponse <Reminder>(); response.Items = RecruiterService.GetReminder(); return(Request.CreateResponse(response)); } catch (Exception ex) { ErrorLogService svc = new ErrorLogService(); ErrorLogAddRequest error = new ErrorLogAddRequest(); error.ErrorFunction = "Aic.Web.Controllers.Api.GetReminder"; error.ErrorMessage = ex.Message; error.UserId = UserService.UserSelect().PersonId; svc.ErrorLogInsert(error); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public HttpResponseMessage PostRecruiter(RecruiterPostRequest request) { if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState)); } try { SuccessResponse response = new SuccessResponse(); RecruiterService.PostRecruiter(request); RecruiterService.UpgradeToRecruiter(); ReminderPostRequest reminder = new ReminderPostRequest(); reminder.CreatedBy = HttpContext.Current.User.Identity.GetUserId(); reminder.ReminderDateTime = DateTime.UtcNow; reminder.ReminderDateTimeString = reminder.ReminderDateTime.ToString(); reminder.ReminderDescription = "Thank you for signing up as a Recruiter, your account is now capable of posting Jobs along with managing Jobs in your Recruiter Dashboard"; reminder.ReminderType = 2; RecruiterService.PostReminder(reminder); UserService.Logout(); return(Request.CreateResponse(response)); } catch (Exception ex) { ErrorLogService svc = new ErrorLogService(); ErrorLogAddRequest payload = new ErrorLogAddRequest(); payload.ErrorFunction = "Aic.Web.Controllers.Api.PostRecruiter"; payload.ErrorMessage = ex.Message; payload.UserId = UserService.UserSelect().PersonId; svc.ErrorLogInsert(payload); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public RecruiterController(RecruiterService recruiterService) { _recruiterService = recruiterService; }
public RecruiterController(IRecruiterRepository RecruiterRepository) { _RecruiterService = new RecruiterService(RecruiterRepository); }
private static void Main(string[] args) { var mongoClient = new MongoClient(); mongoClient.DropDatabase("JobOfferDatabase"); var database = mongoClient.GetDatabase("JobOfferDatabase"); var cSharp = new Skill() { Name = "C#" }; var javascript = new Skill() { Name = "Javascript" }; var react = new Skill() { Name = "React" }; var docker = new Skill() { Name = "Docker" }; var java = new Skill() { Name = "Java" }; var skillRepository = new SkillRepository(database); Task.Run(async() => await skillRepository.UpsertAsync(cSharp)).Wait(); Task.Run(async() => await skillRepository.UpsertAsync(javascript)).Wait(); Task.Run(async() => await skillRepository.UpsertAsync(react)).Wait(); Task.Run(async() => await skillRepository.UpsertAsync(docker)).Wait(); Task.Run(async() => await skillRepository.UpsertAsync(java)).Wait(); var companyRepository = new CompanyRepository(database); var recruiterRepository = new RecruiterRepository(database); var jobOfferRepository = new JobOfferRepository(database); var personRepository = new PersonRepository(database); var accountRepository = new AccountRepository(database); var recruiterService = new RecruiterService(companyRepository, recruiterRepository, jobOfferRepository, personRepository, accountRepository); var recruiter = new Recruiter(); recruiter.AddClient(new Company("Acme", "Software")); recruiter.IdentityCard = "28.999.999"; recruiter.FirstName = "Patricia"; recruiter.LastName = "Maidana"; recruiter.SetStudy(new Study("UBA", "Lic.RRHH", StudyStatus.Completed)); recruiter.SetPreviousJob(new Job("Coto", "HR Analyst", DateTime.Now.AddYears(-6), true)); recruiter.SetAbility(new Ability(javascript, 9)); var company1 = new Company("Acme", "software"); companyRepository.UpsertAsync(company1).Wait(); recruiterService.CreateRecruiterAsync(recruiter).Wait(); var jobOffer = Task.Run(() => { RecruiterService recruiterService1 = recruiterService; return(recruiterService1.GetNewJobOffer(recruiter.Id)); }).Result; jobOffer.Date = DateTime.Now.Date; jobOffer.Title = "Analista programador"; jobOffer.CompanyId = company1.Id; jobOffer.Zone = "Palermo"; jobOffer.Description = "Para importante empresa ubicada en San Telmo, estamos en búsqueda de desarrollador fullstack con " + "al menos 3 años de experiencia utilizando React y NodeJs.Quien se incorpore estará participando dentro " + "de un proyecto de inteligencia artifical"; jobOffer.AddSkillRequired(new SkillRequired(javascript, 5, true)); jobOffer.AddSkillRequired(new SkillRequired(react, 3)); jobOffer.Language = "Ingles"; jobOffer.LanguageLevel = LanguageLevel.Advance; jobOffer.IsLanguageMandatory = true; jobOffer.ContractInformation = new ContractCondition() { StartingFrom = "Inmediata", KindOfContract = "Relación de dependencia", WorkingDays = "Lunes a viernes 9 a 18" }; recruiterService.SaveJobOfferAsync(jobOffer).Wait(); // var company2 = new Company("KaizenRH", "software"); companyRepository.UpsertAsync(company2).Wait(); var jobOffer2 = Task.Run(() => recruiterService.GetNewJobOffer(recruiter.Id)).Result; jobOffer2.Date = DateTime.Now.Date; jobOffer2.Title = "JAVA Full Stack Developer"; jobOffer2.CompanyId = company2.Id; jobOffer2.Zone = "Las Cañitas"; jobOffer2.Description = "En KaizenRH buscamos Python Developer Junior para trabajar en interesantes proyectos dentro de Startup en expansión LATAM dedicada a la automatización de procesos IT y negocios."; jobOffer2.AddSkillRequired(new SkillRequired(javascript, 5, true)); jobOffer2.AddSkillRequired(new SkillRequired(react, 3)); jobOffer2.AddSkillRequired(new SkillRequired(java, 6, true)); jobOffer2.Language = "Ingles"; jobOffer2.LanguageLevel = LanguageLevel.Intermediate; jobOffer2.ContractInformation = new ContractCondition() { StartingFrom = "Inmediata", KindOfContract = "Relación de dependencia", WorkingDays = "Lunes a viernes 9 a 18" }; recruiterService.SaveJobOfferAsync(jobOffer2).Wait(); // var company3 = new Company("ADN Recursos Humanos", "Seleccion de personal"); companyRepository.UpsertAsync(company3).Wait(); var jobOffer3 = Task.Run(() => recruiterService.GetNewJobOffer(recruiter.Id)).Result; jobOffer3.Date = DateTime.Now.Date; jobOffer3.Title = "Sr. C# Backend Developer/Engineer"; jobOffer3.CompanyId = company3.Id; jobOffer3.Zone = "Microcentro"; jobOffer3.Description = "ADN - Recursos Humanos estamos en la búsqueda de un Sr. Python Backend Developer/Engineer, para Importante Empresa de Tecnología"; jobOffer3.AddSkillRequired(new SkillRequired(cSharp, 5)); jobOffer3.AddSkillRequired(new SkillRequired(javascript, 2, true)); jobOffer3.ContractInformation = new ContractCondition() { StartingFrom = "Inmediata", KindOfContract = "Relación de dependencia", WorkingDays = "Lunes a viernes 9 a 18" }; recruiterService.SaveJobOfferAsync(jobOffer3).Wait(); recruiterService.PublishJobOffer(jobOffer2).Wait(); recruiterService.PublishJobOffer(jobOffer3).Wait(); recruiterService.FinishJobOffer(jobOffer3).Wait(); var pRepo = new RecruiterRepository(database); var aRepo = new AccountRepository(database); var person = pRepo.GetByIdentityCardAsync("28.999.999").Result; var account = new Account() { Id = Guid.NewGuid().ToString(), PersonId = person.Id, Email = "*****@*****.**", Password = "******", IsRecruiter = true }; aRepo.UpsertAsync(account).Wait(); Console.WriteLine("Agregado correctamente!"); Console.ReadKey(); }