示例#1
0
        public async Task <ActionResult <Season> > PostSeason(SeasonModel model)
        {
            try
            {
                var location = _linkGenerator.GetPathByAction("GetSeason", "Seasons", new { id = -1 });
                if (string.IsNullOrWhiteSpace(location))
                {
                    return(BadRequest("Could not use ID"));
                }

                var season = _mapper.Map <Season>(model);

                await _seasonRepository.AddAsync(season);

                if (await _sharedRepository.SaveChangesAsync() > 0)
                {
                    return(Created(location, _mapper.Map <SeasonModel>(season)));
                }
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, Settings.DatabaseFailureString));
            }

            return(BadRequest());
        }
        public async Task <IActionResult> Create([Bind("Year,NumOfWeeksScheduled,NumOfWeeksCompleted")] Season season)
        {
            if (ModelState.IsValid)
            {
                await _seasonRepository.AddAsync(season);

                await _sharedRepository.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            return(View(season));
        }
        public async Task HandleAsync()
        {
            var updateData = await _malApiService.GetSeasonDataAsync();

            if (updateData is null)
            {
                return;
            }

            var existingSeason = await _seasonRepository.GetAsync(season => season.Year == updateData.NewestSeasonYear && season.Name == updateData.NewestSeasonName);

            if (existingSeason is null)
            {
                var newSeason = new AnimeSeason
                {
                    Name = updateData.NewestSeasonName,
                    Year = updateData.NewestSeasonYear
                };

                await _seasonRepository.AddAsync(newSeason);
            }
        }