public async Task <int> UpdateRanksAsync(string itemIds) { if (!string.IsNullOrEmpty(itemIds)) { int count = 1; List <int> itemIdList = new List <int>(); itemIdList = itemIds.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToList(); foreach (var itemId in itemIdList) { try { Movie movie = await _dbAccess.GetMovieAsync(itemId); if (movie != null) { movie.Rank = count; _dbAccess.Update(movie); } else { throw new Exception($"Movie: {itemId} came back null."); } count++; } catch (Exception e) { throw new Exception(e.Message); } } await _dbAccess.SaveChangesAsync(); } return(0); }
public async Task <int> CreateAsync(Movie Movie) { if (Movie == null) { return(0); } // Always make new movies be ranked last Movie.Rank = _dbAccess.GetMovieCount() + 1; _dbAccess.AddMovie(Movie); await _dbAccess.SaveChangesAsync(); var movie = _dbAccess.LastOrDefault(); return(movie.ID); }