Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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)));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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 }));
        }