public async Task <IActionResult> PostAsync(int musicianId, [FromBody] SavePublicationResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var existingMusician = await _musicianService.GetByIdAsync(musicianId); if (!existingMusician.Success) { return(BadRequest(existingMusician.Message)); } var publication = _mapper.Map <SavePublicationResource, Publication>(resource); publication.Musician = existingMusician.Resource; var result = await _publicationService.SaveAsync(publication); if (!result.Success) { return(BadRequest(result.Message)); } var publicationResource = _mapper.Map <Publication, PublicationResource>(result.Resource); return(Ok(publicationResource)); }
public async Task <IActionResult> GetAsync(int id) { var result = await _musicianService.GetByIdAsync(id); if (!result.Success) { return(BadRequest(result.Message)); } var musicianResource = _mapper.Map <Musician, MusicianResource>(result.Resource); return(Ok(musicianResource)); }
public async Task <IActionResult> PostAsync(int organizerId, int musicianId, [FromBody] SaveContractResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var factory = new FlyweightFactory(_contractService.ListByOrganizerIdAsync(organizerId).Result); var contract = _mapper.Map <SaveContractResource, Contract>(resource); var flyweight = factory.GetFlyweight(new Contract { OrganizerId = organizerId, ContractStateId = 1 }); flyweight.Operation(contract); var existingOrganizer = await _organizerService.GetByIdAsync(organizerId); if (!existingOrganizer.Success) { return(BadRequest(existingOrganizer.Message)); } var existingMusician = await _musicianService.GetByIdAsync(musicianId); if (!existingMusician.Success) { return(BadRequest(existingMusician.Message)); } contract.Organizer = existingOrganizer.Resource; contract.Musician = existingMusician.Resource; var result = await _contractService.SaveAsync(contract); if (!result.Success) { return(BadRequest(result.Message)); } var contractResource = _mapper.Map <Contract, BaseContractResourse>(result.Resource); return(Ok(contractResource)); }
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)); }