Exemplo n.º 1
0
        public async Task ProcessJobs()
        {
            try
            {
                var statusesToProcess = new JobStatus[]
                {
                    JobStatus.New,
                    JobStatus.Failed
                };

                var jobsToProcess = _jobsRepository
                                    .Get(x => statusesToProcess.Contains(x.Status) &&
                                         (x.DoAfter.HasValue ? x.DoAfter.Value < DateTime.Now : x.DoAfter.Value == null));

                var tasks = jobsToProcess.Select(async currentjob =>
                {
                    await SetJobStatus(currentjob);
                });

                await Task.WhenAll(tasks);
            }
            catch (Exception ex)
            {
                //TODO dissuced implemention of logging excetions
            }
        }
Exemplo n.º 2
0
 public DetailsJobViewModel GetDetailsJobViewModel(int id)
 {
     return(new DetailsJobViewModel()
     {
         Job = jobsRepository.Get(job => job.Id == id)
     });
 }
Exemplo n.º 3
0
        // Have to test if this method works still
        public async Task <JobsViewModel> EditJob(EditJob editJob)
        {
            var job = await _jobsRepository.Get(editJob.JobId);

            job.Address           = editJob.Address;
            job.Contact           = editJob.Contact;
            job.PhoneNumber       = editJob.PhoneNumber;
            job.NumberOfPositions = editJob.NumberOfPositions;
            job.Positions         = editJob.Positions;

            var jobEmployees = new List <JobsEmployee>();

            // Remove the ids or else it will make duplicates
            _jobsEmployeesRepository.ClearIds(job.Id);


            // add new employees to the jobemployee table
            foreach (var employeeId in editJob.EmployeeIds)
            {
                Employee employee = await _employeeRepository.Get(employeeId);

                var je = new JobsEmployee()
                {
                    JobsId     = editJob.JobId,
                    Jobs       = job,
                    EmployeeId = employeeId,
                    Employee   = employee
                };

                jobEmployees.Add(je);
            }

            _jobsEmployeesRepository.SaveJobsEmployeeEdits(jobEmployees);

            var updatedJob = await _jobsRepository.UpdateJob(job);

            return(updatedJob);
        }
Exemplo n.º 4
0
 public JobDto GetJob(Guid jobId)
 {
     return(_jobsRepository.Get(jobId));
 }
Exemplo n.º 5
0
 public async Task <Job> Get(int jobId)
 {
     return(await _jobsRepository.Get(jobId));
 }