Beispiel #1
0
        public IResult AddCandidate(CandidateViewModel candidateViewModel, CandidateDocumentViewModel candidateDocumentViewModel)
        {
            var result = new Result
            {
                Operation = Operation.Create,
                Status    = Status.Success
            };

            try
            {
                var candidateModel = new Candidates();
                candidateModel.MapFromViewModel(candidateViewModel, (ClaimsIdentity)_principal.Identity);
                candidateModel.QualificationId = candidateViewModel.Qualification;

                #region Insert OpeningCandidate
                var openingCandidate = new OpeningCandidates();
                openingCandidate.OpeningId = candidateViewModel.OpeningId;
                openingCandidate.Candidate = candidateModel;
                openingCandidate.MapAuditColumns((ClaimsIdentity)_principal.Identity);
                #endregion

                #region Insert Organization
                Organizations organization = null;
                if (candidateViewModel.OrganizationId != 0)
                {
                    candidateModel.OrganizationId = candidateViewModel.OrganizationId;
                }
                else
                {
                    organization = new Organizations
                    {
                        Name = candidateViewModel.OrganizationName
                    };
                    organization.MapAuditColumns((ClaimsIdentity)_principal.Identity);
                    candidateModel.Organisation = organization;
                }
                #endregion

                #region Insert Candidate Document
                var candidateDocumentModel = new CandidateDocuments();
                candidateDocumentModel.MapFromViewModel(candidateDocumentViewModel, (ClaimsIdentity)_principal.Identity);
                candidateModel.CandidateDocuments.Add(candidateDocumentModel);
                #endregion

                _candidateRepository.AddCandidate(candidateModel, openingCandidate);
                result.Body = candidateModel.CandidateId;
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                result.Status  = Status.Error;
            }
            return(result);
        }
Beispiel #2
0
        public async Task <CandidateDetails> GetCandidateDetails(int ID)
        {
            CandidateDetails          details   = null;
            List <CandidateDocuments> documents = new List <CandidateDocuments>();
            CandidateDocuments        document  = null;

            try
            {
                var result = await(from c in _context.Candidate
                                   join slc in _context.ShortListedCandidate on c.CandidateId equals slc.CandidateId
                                   join p in _context.Position on slc.PositionId equals p.PositionId
                                   join i in _context.Interview on slc.ShortListedCandidateId equals i.ShortlistedCandidateId
                                   where c.CandidateId == ID
                                   select new
                {
                    c.CandidateId,
                    c.FirstName,
                    c.LastName,
                    c.Nationality,
                    c.Idnumber,
                    c.Dob,
                    c.Race,
                    c.Gender,
                    c.CurrentSalary,
                    c.CellPhone,
                    c.AlterCellPhone,
                    c.WorkNumber,
                    c.Email,
                    c.DecisionStatus,
                    c.FeedBack,
                    p.PositionTitle,
                    p.PositionType,
                    p.BusinessUnit,
                    p.Budget,
                    p.EndDate,
                    i.InterviewDate,
                    i.InterviewType,
                    i.InterviewTime,
                    i.Location
                }).FirstAsync();

                if (result != null)
                {
                    details = new CandidateDetails(result.CandidateId)
                    {
                        FirstName      = result.FirstName.Trim(),
                        LastName       = result.LastName.Trim(),
                        Gender         = result.Gender.Trim(),
                        Nationality    = result.Nationality.Trim(),
                        Idnumber       = result.Idnumber.Trim(),
                        Dob            = result.Dob,
                        Race           = result.Race.Trim(),
                        CurrentSalary  = result.CurrentSalary,
                        CellPhone      = result.CellPhone.Trim(),
                        AlterCellPhone = result.AlterCellPhone.Trim(),
                        WorkNumber     = result.WorkNumber.Trim(),
                        Email          = result.Email.Trim(),
                        FeedBack       = result.FeedBack.Trim(),
                        DecisionStatus = result.DecisionStatus.Trim(),
                        InterviewDate  = result.InterviewDate,
                        InterviewType  = result.InterviewType.Trim(),
                        Location       = result.Location.Trim(),
                        InterviewTime  = result.InterviewTime,
                        PositionTitle  = result.PositionTitle.Trim(),
                        PositionType   = result.PositionType.Trim(),
                        Budget         = result.Budget,
                        EndDate        = result.EndDate
                    };

                    var docs = (from d in _context.Document
                                where d.CandidateId == ID
                                select new
                    {
                        d.DocumentId,
                        d.DocumentName,
                        d.Document1,
                        d.TestMark,
                        d.TestType,
                        d.Date
                    }).ToList();
                    foreach (var item in docs)
                    {
                        document = new CandidateDocuments()
                        {
                            DocumentName = item.DocumentName.Trim(),
                            Document1    = item.Document1,
                            TestType     = item.TestType,
                            TestMark     = item.TestMark,
                            Date         = item.Date,
                        };
                        documents.Add(document);
                    }
                    details.Documents = documents;
                }
            }
            catch (Exception)
            {
            }
            return(details);
        }