/// <summary>
        /// Creates the vacancy detail.
        /// </summary>
        /// <param name="vacancyDetailInfo">The vacancy detail information.</param>
        /// <param name="hasApplied"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">vacancyDetailInfo</exception>
        public IVacancyDetail CreateVacancyDetail(IVacancyDetail vacancyDetailInfo, bool hasApplied)
        {
            if (vacancyDetailInfo == null)
            {
                throw new ArgumentNullException(nameof(vacancyDetailInfo));
            }

            var vacancyView = new VacancyDetail
            {
                VacancyId          = vacancyDetailInfo.VacancyId,
                CompanyId          = vacancyDetailInfo.CompanyId,
                CompanyName        = vacancyDetailInfo.CompanyName,
                CompanyState       = vacancyDetailInfo.CompanyState,
                DepartmentId       = vacancyDetailInfo.DepartmentId,
                Department         = vacancyDetailInfo.Department,
                JobTitleId         = vacancyDetailInfo.JobTitleId,
                JobTitle           = vacancyDetailInfo.JobTitle,
                GradeId            = vacancyDetailInfo.GradeId,
                Qualification      = vacancyDetailInfo.Qualification,
                Experience         = vacancyDetailInfo.Experience,
                NumberToEmploy     = vacancyDetailInfo.NumberToEmploy,
                OpenDate           = vacancyDetailInfo.OpenDate,
                Closedate          = vacancyDetailInfo.Closedate,
                JobDefinition      = vacancyDetailInfo.JobDefinition,
                JobFunction        = vacancyDetailInfo.JobFunction,
                QuestionCollection = vacancyDetailInfo.QuestionCollection,
                ProcessingMessage  = vacancyDetailInfo.ProcessingMessage,
                HasApplied         = hasApplied,
                CompanyAlias       = vacancyDetailInfo.CompanyAlias,
            };

            return(vacancyView);
        }
Beispiel #2
0
 /*Find all vacancy in the locker*/
 public List <VacancyDetail> GetVacantList(string mac_address)
 {
     try
     {
         //if locker is not existed
         if (_dbContext.lockerMetadatas.FirstOrDefault(x => x.Mac_address == mac_address) == null)
         {
             return(null);
         }
         //if locker is existed
         var vacantlist = _dbContext.vacancies.Where(x => x.Mac_address == mac_address).OrderBy(x => x.Id_vacancy);
         //create vacancy list in vacancy form
         List <VacancyDetail> result = new List <VacancyDetail>();
         foreach (var run in vacantlist)
         {
             VacancyDetail lockerDetail = new VacancyDetail()
             {
                 VacancyID  = run.Id_vacancy,
                 No_vacancy = run.No_vacancy,
                 Size       = run.Size,
                 IsActive   = run.IsActive
             };
             result.Add(lockerDetail);
         }
         return(result);
     }
     catch (Exception)
     {
         //error
         return(null);
     }
 }
        public void Update(Guid candidateId, int vacancyId, VacancyDetail vacancyDetail)
        {
            // Try apprenticeships first, the majority should be apprenticeships.
            // Note that it is possible for a candidate to have no application for this vacancy.
            var apprenticeshipApplication = _apprenticeshipApplicationReadRepository.GetForCandidate(candidateId, vacancyId);
            var updated = false;

            if (apprenticeshipApplication != null)
            {
                if (apprenticeshipApplication.VacancyStatus != vacancyDetail.VacancyStatus)
                {
                    apprenticeshipApplication.VacancyStatus = vacancyDetail.VacancyStatus;
                    updated = true;
                }

                if (apprenticeshipApplication.Vacancy.ClosingDate != vacancyDetail.ClosingDate)
                {
                    apprenticeshipApplication.Vacancy.ClosingDate = vacancyDetail.ClosingDate;
                    updated = true;
                }

                if (updated)
                {
                    _apprenticeshipApplicationWriteRepository.Save(apprenticeshipApplication);
                }
            }
            else
            {
                var traineeshipApplication = _traineeshipApplicationReadRepository.GetForCandidate(candidateId, vacancyId);

                if (traineeshipApplication != null)
                {
                    if (traineeshipApplication.VacancyStatus != vacancyDetail.VacancyStatus)
                    {
                        traineeshipApplication.VacancyStatus = vacancyDetail.VacancyStatus;
                        updated = true;
                    }

                    if (traineeshipApplication.Vacancy.ClosingDate != vacancyDetail.ClosingDate)
                    {
                        traineeshipApplication.Vacancy.ClosingDate = vacancyDetail.ClosingDate;
                        updated = true;
                    }

                    if (updated)
                    {
                        _traineeshipApplicationWriteRepository.Save(traineeshipApplication);
                    }
                }
            }
        }