public virtual async Task CreateRecruiterAsync(Recruiter recruiter) { recruiter.Validate(); var person = recruiter.GetPerson(); using (var session = _personRepository.GetTransactionalSession()) { try { session.StartTransaction(); await _personRepository.UpsertAsync(person); recruiter.Id = person.Id; await _recruiterRepository.UpsertAsync(recruiter); await session.CommitTransactionAsync(); } catch (Exception ex) { await session.AbortTransactionAsync(); } } }
public async Task CreateJobOffer_SaveSuccessfully_WhenJobOfferDataIsCorrect() { //Arrange var recruiter = new Recruiter() { FirstName = "Maidana", LastName = "Patricia", IdentityCard = "28123456" }; await _recruiterRepository.UpsertAsync(recruiter); var company = new Company("Acme", "Software"); recruiter.AddClientCompany(company); var skill1 = new Skill() { Name = "C#" }; var skill2 = new Skill() { Name = "Javascript" }; var skill3 = new Skill() { Name = "React" }; await _skillRepository.UpsertAsync(skill1); await _skillRepository.UpsertAsync(skill2); await _skillRepository.UpsertAsync(skill3); var jobOffer = new JobOffer() { Title = "Analista Funcional", Description = "Se necesita analista funcional con bla bla bla", Owner = recruiter, Date = DateTime.Now.Date }; jobOffer.AddSkillRequired(new SkillRequired(skill1, 5, true)); jobOffer.AddSkillRequired(new SkillRequired(skill2, 4, false)); jobOffer.AddSkillRequired(new SkillRequired(skill3, 2, false)); //Act await _service.CreateJobOffer(jobOffer, recruiter); var jobOfferCreated = await _jobOfferRepository.GetByIdAsync(jobOffer.Id); //Assert Assert.AreEqual(jobOffer, jobOfferCreated, "Job offer was not saved"); }
public virtual async Task CreateRecruiterAsync(Recruiter recruiter) { recruiter.Validate(); await _recruiterRepository.UpsertAsync(recruiter); }