Esempio n. 1
0
        public IResult GetCandidatesCorrespondingToLoggedUser(Guid userId)
        {
            var result = new Result
            {
                Operation = Operation.Read,
                Status    = Status.Success
            };

            try
            {
                var allScheduleUserForCandiadate = _candidateRepository.GetCandidatesCorrespondingToLoggedUser(userId);
                var candidateList = allScheduleUserForCandiadate.Select(scheduleUser =>
                {
                    var openingCandidate   = _candidateRepository.GetOpeningCandidate(scheduleUser.CandidateId);
                    var candidateListModel = new CandidateListModel();
                    if (openingCandidate != null)
                    {
                        candidateListModel.Opening      = openingCandidate.Opening.Title;
                        candidateListModel.ModifiedDate = openingCandidate.Opening.ModifiedDate;
                    }

                    var approvalTransaction = _approvalRepository.GetApprovalTransactionByEntity(scheduleUser.CandidateId);

                    candidateListModel.Status = approvalTransaction == null ? "Created" : approvalTransaction.ApprovalAction.ApprovalActionName;

                    candidateListModel.ApprovalEventId = scheduleUser.ApprovalEventId;
                    candidateListModel.IsFinished      = _candidateRepository.CheckForInterviewCompletion(scheduleUser);
                    return(candidateListModel.MapFromModel(scheduleUser.Candidate));
                }).ToList();
                List <CandidateListModel> candidateListViewModel = candidateList.Cast <CandidateListModel>().ToList();
                result.Body = candidateListViewModel.OrderByDescending(x => x.ModifiedDate);
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                result.Status  = Status.Error;
            }
            return(result);
        }
Esempio n. 2
0
        public IResult GetAllCandidate()
        {
            var result = new Result
            {
                Operation = Operation.Read,
                Status    = Status.Success
            };

            try
            {
                var allCandidates = _candidateRepository.GetAll();
                var candidateList = allCandidates.Select(candidate =>
                {
                    var openingCandidate   = _candidateRepository.GetOpeningCandidate(candidate.CandidateId);
                    var candidateListModel = new CandidateListModel();
                    if (openingCandidate != null)
                    {
                        candidateListModel.Opening      = openingCandidate.Opening.Title;
                        candidateListModel.ModifiedDate = openingCandidate.Opening.ModifiedDate;
                    }

                    var assignedUsers = _candidateRepository.GetAssignedUsersByID(candidate.CandidateId);
                    candidateListModel.AssignedUsers = assignedUsers.Count;
                    candidateListModel.Documents     = candidate.CandidateDocuments.Count;
                    var approvalTransaction          = _approvalRepository.GetApprovalTransactionByEntity(candidate.CandidateId);
                    candidateListModel.Status        = approvalTransaction == null ? "Created" : approvalTransaction.ApprovalAction.ApprovalActionName;

                    return(candidateListModel.MapFromModel(candidate));
                }).ToList();
                List <CandidateListModel> candidateListViewModel = candidateList.Cast <CandidateListModel>().ToList();
                result.Body = candidateListViewModel.OrderByDescending(x => x.ModifiedDate);
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                result.Status  = Status.Error;
            }
            return(result);
        }