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 } }
public DetailsJobViewModel GetDetailsJobViewModel(int id) { return(new DetailsJobViewModel() { Job = jobsRepository.Get(job => job.Id == id) }); }
// 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); }
public JobDto GetJob(Guid jobId) { return(_jobsRepository.Get(jobId)); }
public async Task <Job> Get(int jobId) { return(await _jobsRepository.Get(jobId)); }