public IActionResult CreateJob([FromBody] JobLocationRequest jobLocationRequest) { if (jobLocationRequest.Start == 0 || jobLocationRequest.Destination == 0) { return(GetResultBadRequest()); } try { _jobService.CreateJob(jobLocationRequest); return(GetResultCreated()); } catch (Exception e) { Console.WriteLine(e); return(GetResultInternalError()); } }
public void CreateJob(JobLocationRequest jobLocationRequest) { try { var locationStart = _locationRepository.Get(jobLocationRequest.Start); var locationDestination = _locationRepository.Get(jobLocationRequest.Destination); if (locationStart == null || locationDestination == null) { throw new Exception("No location found"); } var job = new Job() { Status = JobStatus.StatusPending, CreatedDate = DateTime.Now }; _jobRepository.Add(job); var startGoal = new Goal() { JobId = job.JobId, LocationId = jobLocationRequest.Start, Status = "pending" }; var destinationGoal = new Goal() { JobId = job.JobId, LocationId = jobLocationRequest.Destination, Status = "pending" }; _goalRepository.Add(startGoal); _goalRepository.Add(destinationGoal); } catch (Exception e) { throw new Exception(e.ToString()); } }