Ejemplo n.º 1
0
        public IActionResult UpdateInternship([FromBody] InternshipDto internshipDto)
        {
            //Checking if user creating an internship for himself or not
            var isIdSafe = User.Claims.Any(x => x.Type == ClaimTypes.Sid && x.Value == internshipDto.StudentId.ToString());

            if (User.IsInRole("Student") && !isIdSafe)
            {
                return(Forbid());
            }

            if (internshipDto is null)
            {
                return(BadRequest());
            }
            if (!_internshipRepo.InternshipExists(internshipDto.Id))
            {
                ModelState.AddModelError("", $"Internship doesn't exists with id of {internshipDto.Id}");
                return(StatusCode(404, ModelState));
            }

            var internshipObj = _mapper.Map <Internship>(internshipDto);

            if (!_internshipRepo.UpdateInternship(internshipObj))
            {
                ModelState.AddModelError("", $"Something went wrong when updating model with id of {internshipObj.Id}");
                return(StatusCode(404, ModelState));
            }

            return(NoContent());
        }
Ejemplo n.º 2
0
        public IActionResult CreateInternship([FromBody] InternshipDto internshipDto)
        {
            //Checking if user creating an internship for himself or not
            var isIdSafe = User.Claims.Any(x => x.Type == ClaimTypes.Sid && x.Value == internshipDto.StudentId.ToString());

            if (User.IsInRole("Student") && !isIdSafe)
            {
                return(Forbid());
            }

            if (internshipDto is null)
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(StatusCode(404, ModelState));
            }

            var internshipObj = _mapper.Map <Internship>(internshipDto);

            if (!_internshipRepo.CreateInternship(internshipObj))
            {
                ModelState.AddModelError("", $"Something went wrong when adding internship");
                return(StatusCode(404, ModelState));
            }
            return(Ok(internshipObj));
        }