public async Task <IActionResult> GetAsync(int id) { var result = await _organizerService.GetByIdAsync(id); if (!result.Success) { return(BadRequest(result.Message)); } var organizerResource = _mapper.Map <Organizer, OrganizerResource>(result.Resource); return(Ok(organizerResource)); }
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)); }