예제 #1
0
        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);
        }
예제 #2
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);
        }