public async Task <TechInterview> UpdateTechInterview(TechInterview techInterview) { CompareInterviewDate(techInterview); var result = await Task.Run(() => techRepository.Update(techInterview)); return(result); }
public async Task <TechInterview> SetTechInterviewFeedback(TechInterview techInterview) { techInterview.EndDate = DateTime.UtcNow; techInterview.Status = InterviewStatuses.Closed; var result = await Task.Run(() => techRepository.Update(techInterview)); return(result); }
public async Task <ICollection <Event> > RegisterTechInterviewFeedback(TechInterview newInterview, int userId) { return(await Task.Run ( async() => { var interviewId = newInterview.Id; var eventsList = new List <Event>(); eventsList.Add(new Event { Date = DateTime.UtcNow, Event1 = EventIds.Feedback, EventType = EventTypes.Add, TechInterview = interviewId, NewValue = newInterview.Mark.HasValue ? newInterview.Mark.Value.ToString() : null, Property = "mark", User = userId }); eventsList.Add(new Event { Date = DateTime.UtcNow, Event1 = EventIds.Feedback, EventType = EventTypes.Add, TechInterview = interviewId, NewValue = newInterview.Feedback, Property = "interests", User = userId }); var result = await Task.Run(() => eventRepository.AddRange(eventsList)); return result.ToList(); } )); }
public async Task <Event> RegisterTechInterview(TechInterview interview, int userId) { var newEvent = new Event { Date = DateTime.UtcNow, Event1 = EventIds.Interview, EventType = EventTypes.Add, TechInterview1 = interview, User = userId }; var result = await Task.Run(() => eventRepository.Create(newEvent)); return(result); }
public async Task <TechInterview> AddTechInterview(TechInterview techInterview) { CompareInterviewDate(techInterview); return(await Task.Run(async() => { techInterview.Status = InterviewStatuses.Active; techRepository.Create(techInterview); var candidate = await Task.Run(() => candidateRepository.Read(techInterview.Candidate)) .ConfigureAwait(false); candidate.Status = await Task.Run(() => statusRepository.Find(x => x.Name == "Interview").First().Id) .ConfigureAwait(false); candidate.TechInterviewStatus = true; return techInterview; })); }
public async Task AddTechInterviewTest() { TechInterview techInterview = new TechInterview() { Id = 3, Candidate = 4, City = 1, Date = new DateTime(2016, 5, 16), Status = true, TechSkill = 5, Commentary = "Commentary" }; Candidate candidate = new Candidate() { Id = 5, FirstNameEng = "Andrey", LastNameEng = "Popov", FirstNameRus = "Андрей", LastNameRus = "Попов", Status = 5, HRM = 2 }; CandidateStatus candidateStatus = new CandidateStatus() { Name = "Pool" }; mockCandidateRepository.Setup(x => x.Read(It.IsAny <int>())).Returns(candidate); IQueryable <CandidateStatus> candidateStatusList = new List <CandidateStatus>() { candidateStatus }.AsQueryable(); mockStatusRepository.Setup(x => x.Find(It.IsAny <Expression <Func <CandidateStatus, bool> > >())).Returns(candidateStatusList); var candidateRepository = mockCandidateRepository.Object; var unitOfWork = mockUnitOfWork.Object; var techRepository = mockTechRepository.Object; var generalRepository = mockGeneralRepository.Object; var statusRepository = mockStatusRepository.Object; var interviewService = new InterviewService(unitOfWork, techRepository, candidateRepository, generalRepository, statusRepository); await interviewService.AddTechInterview(techInterview); Assert.IsTrue(candidate.TechInterviewStatus.Value); }
public async Task <ICollection <Event> > RegisterTechInterviewUpdate(TechInterview newInterview, int userId) { return(await Task.Run ( async() => { var oldInterview = await Task.Run(() => techInterviewRepository.Read(newInterview.Id)); var eventsList = new List <Event>(); if (oldInterview.City != newInterview.City) { eventsList.Add(new Event { Date = DateTime.UtcNow, Event1 = EventIds.Interview, EventType = EventTypes.Edit, GeneralInterview = oldInterview.Id, NewValue = newInterview.City.HasValue ? newInterview.City.Value.ToString() : null, OldValue = oldInterview.City.HasValue ? oldInterview.City.Value.ToString() : null, Property = "city", User = userId }); } if (string.Compare(oldInterview.Commentary, newInterview.Commentary, StringComparison.OrdinalIgnoreCase) != 0) { eventsList.Add(new Event { Date = DateTime.UtcNow, Event1 = EventIds.Interview, EventType = EventTypes.Edit, GeneralInterview = oldInterview.Id, NewValue = newInterview.Commentary, OldValue = oldInterview.Commentary, Property = "commentary", User = userId }); } if (oldInterview.Date != newInterview.Date) { eventsList.Add(new Event { Date = DateTime.UtcNow, Event1 = EventIds.Interview, EventType = EventTypes.Edit, GeneralInterview = oldInterview.Id, NewValue = newInterview.Date.HasValue ? newInterview.Date.Value.ToString() : null, OldValue = oldInterview.Date.HasValue ? oldInterview.Date.Value.ToString() : null, Property = "date", User = userId }); } if (oldInterview.Interviewer != newInterview.Interviewer) { eventsList.Add(new Event { Date = DateTime.UtcNow, Event1 = EventIds.Interview, EventType = EventTypes.Edit, GeneralInterview = oldInterview.Id, NewValue = newInterview.Interviewer.HasValue ? newInterview.Interviewer.Value.ToString() : null, OldValue = oldInterview.Interviewer.HasValue ? oldInterview.Interviewer.Value.ToString() : null, Property = "interviewer", User = userId }); } if (oldInterview.TechSkill != newInterview.TechSkill) { eventsList.Add(new Event { Date = DateTime.UtcNow, Event1 = EventIds.Interview, EventType = EventTypes.Edit, GeneralInterview = oldInterview.Id, NewValue = newInterview.TechSkill.ToString(), OldValue = oldInterview.TechSkill.ToString(), Property = "skill", User = userId }); } var result = await Task.Run(() => eventRepository.AddRange(eventsList)); return result.ToList(); } )); }