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));
        }