Esempio n. 1
0
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Attach(Engine).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EngineExists(Engine.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
Esempio n. 2
0
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync(int?id, int[] selectedLanguages)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var releaseToUpdate = await GetReleaseById(id.Value);

            if (releaseToUpdate == null)
            {
                return(NotFound());
            }

            if (await TryUpdateModelAsync <Release>(
                    releaseToUpdate,
                    "Release",
                    r => r.GameId, r => r.Summary, r => r.GmcDate, r => r.ReleaseDate, r => r.Version,
                    r => r.ReleaseStatusId, r => r.PublisherId, r => r.PlatformId, r => r.StoreId,
                    r => r.EarlyAccess, r => r.EngineId))
            {
                UpdateReleasedLanguages(_context, selectedLanguages, releaseToUpdate);

                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index", new RouteValues().AlertUpdated().Build()));
            }

            UpdateReleasedLanguages(_context, selectedLanguages, releaseToUpdate);

            PreparePage(releaseToUpdate);

            return(Page());
        }
Esempio n. 3
0
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Attach(Store).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StoreExists(Store.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index", new RouteValues().AlertUpdated().Build()));
        }
Esempio n. 4
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            LanguageType = await _context.LanguageType
                           .Include(t => t.SupportedLanguages)
                           .FirstOrDefaultAsync(t => t.Id == id);

            if (LanguageType != null)
            {
                // Remove supported languages.
                List <SupportedLanguage> supportedLanguages = LanguageType.SupportedLanguages.Where(sl => sl.LanguageTypeId == LanguageType.Id).ToList();

                foreach (var removedLanguage in supportedLanguages)
                {
                    _context.Remove(removedLanguage);
                }

                // Remove type.
                _context.LanguageType.Remove(LanguageType);

                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new RouteValues().AlertDeleted().Build()));
        }
Esempio n. 5
0
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync(int?id, string[] newSupportedLanguages, Dictionary <string, string> newLanguageStatuses)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var gameToUpdate = await GetGameById(id.Value);

            if (gameToUpdate == null)
            {
                return(NotFound());
            }

            if (await TryUpdateModelAsync <Game>(
                    gameToUpdate,
                    "Game",
                    g => g.Name, g => g.DeveloperId, g => g.GenreId, g => g.AssetIndexProjectId,
                    g => g.WebsiteUrl, g => g.FacebookPageName, g => g.TwitterHandle))
            {
                UpdateSupportedLanguages(_context, newSupportedLanguages, gameToUpdate);
                UpdateImplementedLanguages(_context, newLanguageStatuses, gameToUpdate);

                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index", new RouteValues().AlertUpdated().Build()));
            }

            UpdateSupportedLanguages(_context, newSupportedLanguages, gameToUpdate);
            UpdateImplementedLanguages(_context, newLanguageStatuses, gameToUpdate);

            PreparePage(gameToUpdate);

            return(Page());
        }
Esempio n. 6
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Language = await _context.Language
                       .Include(l => l.SupportedLanguages)
                       .ThenInclude(sl => sl.Game)
                       .ThenInclude(g => g.Releases)
                       .ThenInclude(r => r.Languages)
                       .FirstOrDefaultAsync(l => l.Id == id);

            if (Language != null)
            {
                foreach (SupportedLanguage supportedLanguage in Language.SupportedLanguages)
                {
                    foreach (Release release in supportedLanguage.Game.Releases)
                    {
                        // Remove from releases.
                        List <ReleasedLanguage> releasedLanguages = release.Languages.Where(rl => rl.LanguageId == Language.Id).ToList();

                        foreach (var removedLanguage in releasedLanguages)
                        {
                            release.Languages.Remove(removedLanguage);
                        }
                    }

                    // Remove from games.
                    if (supportedLanguage.Game.ImplementedLanguages != null)
                    {
                        List <ImplementedLanguage> implementedLanguages = supportedLanguage.Game.ImplementedLanguages.Where(il => il.LanguageId == Language.Id).ToList();

                        foreach (var removedLanguage in implementedLanguages)
                        {
                            supportedLanguage.Game.ImplementedLanguages.Remove(removedLanguage);
                        }
                    }

                    List <SupportedLanguage> supportedLanguages = supportedLanguage.Game.SupportedLanguages.Where(sl => sl.LanguageId == Language.Id).ToList();

                    foreach (var removedLanguage in supportedLanguages)
                    {
                        supportedLanguage.Game.SupportedLanguages.Remove(removedLanguage);
                    }
                }

                // Remove language.
                _context.Language.Remove(Language);

                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new RouteValues().AlertDeleted().Build()));
        }
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.ReleaseStatus.Add(ReleaseStatus);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index", new RouteValues().AlertCreated().Build()));
        }
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Engine.Add(Engine);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
Esempio n. 9
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ReleaseStatus = await _context.ReleaseStatus.FindAsync(id);

            if (ReleaseStatus != null)
            {
                _context.ReleaseStatus.Remove(ReleaseStatus);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new RouteValues().AlertDeleted().Build()));
        }
Esempio n. 10
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            // Fetch releases along with game to ensure cascading delete.
            Game = await _context.Game.Include(g => g.Releases).FirstOrDefaultAsync(g => g.Id == id);

            if (Game != null)
            {
                _context.Game.Remove(Game);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new RouteValues().AlertDeleted().Build()));
        }
Esempio n. 11
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            // Fetch releases along with platform to ensure cascading delete.
            Platform = await _context.Platform.Include(p => p.Releases).FirstOrDefaultAsync(p => p.Id == id);

            if (Platform != null)
            {
                _context.Platform.Remove(Platform);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new RouteValues().AlertDeleted().Build()));
        }
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync(string[] newSupportedLanguages)
        {
            var newGame = new Game();

            if (newSupportedLanguages != null)
            {
                newGame.SupportedLanguages = new List <SupportedLanguage>();
                UpdateSupportedLanguages(_context, newSupportedLanguages, newGame);
            }

            if (await TryUpdateModelAsync <Game>(newGame, "Game",
                                                 g => g.Name, g => g.DeveloperId, g => g.GenreId, g => g.AssetIndexProjectId,
                                                 g => g.WebsiteUrl, g => g.FacebookPageName, g => g.TwitterHandle))
            {
                _context.Game.Add(newGame);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index", new RouteValues().AlertCreated().Build()));
            }

            return(Page());
        }
Esempio n. 13
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Store = await _context.Store.Include(s => s.Releases).FirstOrDefaultAsync(s => s.Id == id);

            if (Store != null)
            {
                foreach (Release release in Store.Releases)
                {
                    release.Store = null;
                }

                _context.Store.Remove(Store);

                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new RouteValues().AlertDeleted().Build()));
        }
Esempio n. 14
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Publisher = await _context.Publisher.Include(p => p.Releases).FirstOrDefaultAsync(m => m.Id == id);

            if (Publisher != null)
            {
                foreach (Release release in Publisher.Releases)
                {
                    release.Publisher = null;
                }

                _context.Publisher.Remove(Publisher);

                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new RouteValues().AlertDeleted().Build()));
        }
Esempio n. 15
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Engine = await _context.Engine.Include(e => e.Releases).FirstOrDefaultAsync(e => e.Id == id);

            if (Engine != null)
            {
                foreach (Release release in Engine.Releases)
                {
                    release.Engine = null;
                }

                _context.Engine.Remove(Engine);

                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Genre = await _context.Genre.Include(g => g.Games).FirstOrDefaultAsync(g => g.Id == id);

            if (Genre != null)
            {
                foreach (Game game in Genre.Games)
                {
                    game.Genre = null;
                }

                _context.Genre.Remove(Genre);

                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new RouteValues().AlertDeleted().Build()));
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Developer = await _context.Developer.Include(d => d.Games).FirstOrDefaultAsync(d => d.Id == id);

            if (Developer != null)
            {
                foreach (Game game in Developer.Games)
                {
                    game.Developer = null;
                }

                _context.Developer.Remove(Developer);

                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index", new RouteValues().AlertDeleted().Build()));
        }
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync(int[] selectedLanguages)
        {
            var newRelease = new Release();

            if (selectedLanguages != null)
            {
                newRelease.Languages = new List <ReleasedLanguage>();
                UpdateReleasedLanguages(_context, selectedLanguages, newRelease);
            }

            if (await TryUpdateModelAsync <Release>(newRelease, "Release",
                                                    r => r.GameId, r => r.Summary, r => r.GmcDate, r => r.ReleaseDate, r => r.Version,
                                                    r => r.ReleaseStatusId, r => r.PublisherId, r => r.PlatformId, r => r.StoreId,
                                                    r => r.EarlyAccess, r => r.EngineId))
            {
                _context.Release.Add(newRelease);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index", new RouteValues().AlertCreated().Build()));
            }

            return(Page());
        }