public virtual async Task <IEnumerable <JobOfferListDto> > GetAllJobOffersCreatedByAccountAsync(string accountId)
        {
            var account = await _accountRepository.GetByIdAsync(accountId);

            if (account != null)
            {
                var recruiterExists = await _recruiterRepository.CheckEntityExistsAsync(account.PersonId);

                if (recruiterExists)
                {
                    var jobOfferDtoList = new List <JobOfferListDto>();
                    var jobOffers       = await _jobOfferRepository.GetAllJobOffersByRecruiter(account.PersonId);

                    jobOffers.ToList().ForEach(item =>
                    {
                        jobOfferDtoList.Add(new JobOfferListDto()
                        {
                            AlreadyApplied = false, JobOffer = item
                        });
                    });


                    return(jobOfferDtoList);
                }
                else
                {
                    throw new InvalidOperationException(DomainErrorMessages.INVALID_RECRUITER);
                }
            }
            else
            {
                throw new InvalidOperationException(DomainErrorMessages.ACCOUNT_DOES_NOT_EXISTS);
            }
        }
        public virtual async Task UpdateRecruiterAsync(Recruiter recruiter)
        {
            recruiter.Validate();

            if (await _recruiterRepository.CheckEntityExistsAsync(recruiter.Id))
            {
                await _recruiterRepository.UpsertAsync(recruiter);
            }
            else
            {
                throw new InvalidOperationException(ServicesErrorMessages.RECRUITER_DOES_NOT_EXISTS);
            }
        }