public async Task <IActionResult> CreateJobAsync( [FromBody, SwaggerParameter("Object with job to create", Required = true)] JobCreateDto jobToCreate, [FromQuery, SwaggerParameter("Request which fields you want returned")] string fields, [FromHeader(Name = "Accept"), SwaggerParameter("Request Hateoas")] string mediaType) { var jobToAdd = Mapper.Map <Job>(jobToCreate); jobToAdd.Id = Guid.NewGuid(); _jobRepository.Create(jobToAdd); if (!await _jobRepository.SaveChangesAsync()) { throw new Exception("Failed to save new job"); } var foundJob = await _jobRepository.GetFirstByConditionAsync(j => j.Id == jobToAdd.Id); if (mediaType == "application/vnd.AO.json+hateoas") { var shapedJob = _controllerHelper.ShapeAndAddLinkToObject(foundJob, "Job", fields); return(CreatedAtRoute("GetJob", new { jobId = foundJob.Id }, shapedJob)); } if (!string.IsNullOrWhiteSpace(fields)) { var shapedJob = foundJob.ShapeData(fields); return(CreatedAtRoute("GetJob", new { jobId = foundJob.Id }, shapedJob)); } return(CreatedAtRoute("GetJob", new { jobId = foundJob.Id }, foundJob)); }
public async Task <IActionResult> Create(JobCreateDto dto) { if (!ModelState.IsValid) { return(View(dto)); } var job = await _jobService.CreateAsync(dto); //TODO ensure ok return(RedirectToAction(nameof(Index))); }
public ActionResult <JobReadByIdDto> AddJob(JobCreateDto jobAddDto) { Job jobModel = _mapper.Map <Job>(jobAddDto); _repository.CreateJob(jobModel); _repository.SaveChanges(); JobReadByIdDto jobReadByIdDto = _mapper.Map <JobReadByIdDto>(jobModel); return(CreatedAtRoute(nameof(GetJobById), new { Id = jobReadByIdDto.Id }, jobReadByIdDto)); }
public async Task <IActionResult> Created([FromBody] JobCreateDto createdVM) { if (!ModelState.IsValid) { return(BadRequest("ModelState is invalid")); } var job = mapper.Map <Job>(createdVM); var newJob = await unitOfWork.Job.Add(job); var result = await unitOfWork.SaveAsync(); if (!result) { return(NoContent()); } return(CreatedAtRoute("GetJobById", new { id = newJob.Id }, newJob)); }
public async Task <IActionResult> Post([FromBody] JobCreateDto jobCreateDto) { if (!ModelState.IsValid) { return(BadRequest()); } var job = _mapper.Map <Job>(jobCreateDto); job.CreatedBy = "Bizli"; await _unitOfWork.Jobs.AddAsync(job); await _unitOfWork.CompleteAsync(); var jobDto = _mapper.Map <JobDto>(job); var newUri = Url.Link(UriName.JobGet, new { id = job.Id }); return(Created(newUri, jobDto)); }
public async Task <ActionResult> AddJob(JobCreateDto jobDto) { var jobs = await _unitOfWork.JobRepository.GetJobsAsync(); foreach (var job in jobs) { if (job.JobName.ToLower() == jobDto.JobName.Trim().ToLower()) { return(BadRequest("Job Name already exists")); } } var jobCreate = _mapper.Map <Job>(jobDto); _unitOfWork.JobRepository.AddJob(jobCreate); await _unitOfWork.Complete(); var jobRead = _mapper.Map <JobDto>(jobCreate); return(CreatedAtAction("GetJobById", new { jobId = jobRead.Id }, jobRead)); }
public IActionResult CreateJob([FromBody] JobCreateDto JobDto) { if (JobDto == null) { return(BadRequest(ModelState)); } if (_jsRepo.JobExists(JobDto.Name)) { ModelState.AddModelError("", "job Exists!"); return(StatusCode(404, ModelState)); } var JobObj = _mapper.Map <Job>(JobDto); if (!_jsRepo.CreateJob(JobObj)) { ModelState.AddModelError("", $"Something went wrong when saving the record {JobObj.Name}"); return(StatusCode(500, ModelState)); } return(CreatedAtRoute("GetJob", new { JobId = JobObj.Id, JobObj })); }