コード例 #1
0
        public async Task <TechInterview> UpdateTechInterview(TechInterview techInterview)
        {
            CompareInterviewDate(techInterview);

            var result = await Task.Run(() => techRepository.Update(techInterview));

            return(result);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: EventService.cs プロジェクト: Pointy-hair/KnowBase
        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();
            }
                   ));
        }
コード例 #4
0
ファイル: EventService.cs プロジェクト: Pointy-hair/KnowBase
        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);
        }
コード例 #5
0
        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;
            }));
        }
コード例 #6
0
        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);
        }
コード例 #7
0
ファイル: EventService.cs プロジェクト: Pointy-hair/KnowBase
        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();
            }
                   ));
        }