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); }
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); }