Пример #1
0
        public async Task <IActionResult> PutAsync(int id, [FromBody] SaveQualificationResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var qualification = _mapper.Map <SaveQualificationResource, Qualification>(resource);
            var result        = await _qualificationService.UpdateAsync(id, qualification);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var qualificationResource = _mapper.Map <Qualification, QualificationResource>(result.Resource);

            return(Ok(qualificationResource));
        }
Пример #2
0
        public async Task <IActionResult> PostAsync(int organizerId, int contractId, int musicianId, [FromBody] SaveQualificationResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var existingOrganizer = await _organizerService.GetByIdAsync(organizerId);

            if (!existingOrganizer.Success)
            {
                return(BadRequest(existingOrganizer.Message));
            }

            var existingContract = await _contractService.GetByIdAsync(contractId);

            if (!existingContract.Success)
            {
                return(BadRequest(existingContract.Message));
            }

            var existingMusician = await _musicianService.GetByIdAsync(musicianId);

            if (!existingMusician.Success)
            {
                return(BadRequest(existingMusician.Message));
            }

            var qualification = _mapper.Map <SaveQualificationResource, Qualification>(resource);

            qualification.Organizer = existingOrganizer.Resource;
            qualification.Contract  = existingContract.Resource;
            qualification.Musician  = existingMusician.Resource;

            var result = await _qualificationService.SaveAsync(qualification);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var qualificationResource = _mapper.Map <Qualification, QualificationResource>(result.Resource);

            return(Ok(qualificationResource));
        }