public async Task CreateCompany(CreateCompanyRequest company)
        {
            var companyModel = Mapper.Map <Company>(company);

            companyModel.Id = IdGeneratorHelper.IdGenerator();
            await _mongoDbRepository.Create(companyModel);
        }
        public async Task <string> CreateResumes(ResumeRequest resumeStep1)
        {
            Resume resumeModel = new Resume();

            resumeModel    = Mapper.Map <ResumeRequest, Resume>(resumeStep1);
            resumeModel.Id = IdGeneratorHelper.IdGenerator();
            await _mongoDbRepository.Create(resumeModel);

            return(resumeModel.Id);
        }
        private void CreateUserRole(string email, bool isHr)
        {
            UserRole userRole = new UserRole();

            userRole.Id    = IdGeneratorHelper.IdGenerator();
            userRole.Email = email;
            if (isHr)
            {
                userRole.RoleName = EUserRole.Hr.ToString();
                _mongoDbRepository.Create <UserRole>(userRole);
                Company company = new Company();
                company.Id    = IdGeneratorHelper.IdGenerator();
                company.Email = email;
                _mongoDbRepository.Create <Company>(company);
            }
            else
            {
                userRole.RoleName = EUserRole.Candidate.ToString();
                _mongoDbRepository.Create <UserRole>(userRole);
            }
        }
        public async Task CreateJob(CreateJobRequest job)
        {
            var filter = Builders <Company> .Filter.Where(x => x.Email == job.Email);

            var resultCompany = await _mongoDbRepository.Find <Company>(filter);

            var company  = resultCompany.FirstOrDefault();
            var jobModel = Mapper.Map <Job>(job);

            jobModel.StartDay       = jobModel.StartDay.Date;
            jobModel.ExpirationDate = jobModel.ExpirationDate.Date;
            jobModel.Id             = IdGeneratorHelper.IdGenerator();
            jobModel.CompanyId      = company.Id;

            var task = Task.Run(async() => await _mongoDbRepository.Create(jobModel));

            task.Wait();
            if (task.IsCompletedSuccessfully)
            {
                await UpdateStatusJob(jobModel.Id);
            }
        }
Exemple #5
0
        public async Task CreateApplication(CreateApplycationRequest apply)
        {
            var filter = Builders <Resume> .Filter.Where(x => x.Email == apply.Email);

            var resume = await _mongoDbRepository.Find(filter);

            var applyModel = Mapper.Map <Application>(apply);

            applyModel.Id          = IdGeneratorHelper.IdGenerator();
            applyModel.AppliedDate = DateTime.Now;
            applyModel.Resume      = resume.FirstOrDefault();

            var filterJob = Builders <Job> .Filter.Where(x => x.Id == apply.JobId);

            var jobResult = await _mongoDbRepository.Find <Job>(filterJob);

            var jobModel = jobResult.FirstOrDefault();

            jobModel.Vacancies += 1;
            await _mongoDbRepository.Replace(jobModel);

            await _mongoDbRepository.Create(applyModel);
        }