public async Task <IActionResult> SaveContest([FromBody] ContestUpdateModel contestUpdateModel) { try { contestUpdateModel.Logo = _filesService.UploadFile(contestUpdateModel.Logo) ?? contestUpdateModel.Logo; var savedContest = await _contestsService.SaveContest(contestUpdateModel); return(Created("Add", savedContest)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <ContestResponseModel> SaveContest(ContestUpdateModel contestResponse) { var user = await _userContext.GetUser() ?? throw new Exception("User not found"); int institutionId = contestResponse.InstitutionId == 0 && user.InstitutionId.HasValue ? user.InstitutionId.Value : contestResponse.InstitutionId; Contest contestEntity = _mapper.Map <Contest>(contestResponse); contestEntity.InstitutionId = institutionId; await _repository.Save(contestEntity); await _contestCategoryMappingsRepository.SaveCategoryMappings(contestEntity.Id, contestResponse.ContestCategories); await _contestRingsRepository.SaveCategoryRings(contestEntity.Id, contestResponse.Rings); return(_mapper.Map <ContestResponseModel>(contestEntity)); }