예제 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            GameMedia gameMedia = db.GameMedia.Find(id);

            db.GameMedia.Remove(gameMedia);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #2
0
 public ActionResult Edit([Bind(Include = "Id,Name,Description,Date,Filepath,MediaTypeId,GameId")] GameMedia gameMedia)
 {
     if (ModelState.IsValid)
     {
         db.Entry(gameMedia).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(gameMedia));
 }
예제 #3
0
        public ActionResult Create([Bind(Include = "Id,Name,Description,Date,Filepath,MediaTypeId,GameId")] GameMedia gameMedia)
        {
            if (ModelState.IsValid)
            {
                db.GameMedia.Add(gameMedia);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(gameMedia));
        }
예제 #4
0
        private static GameMedia ParseGameMedia(XmlNode gameMediaNode)
        {
            var fieldsList = gameMediaNode.Cast <XmlNode>().ToList();

            var gameMedia = new GameMedia {
                Trailers    = fieldsList.GetNodeInnerText(nameof(GameMedia.Trailers)),
                Screenshots = fieldsList.GetNodeInnerText(nameof(GameMedia.Screenshots))
            };

            return(gameMedia);
        }
예제 #5
0
        static void Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("Usage: elbsms_console <path to rom>");
                return;
            }

            string romPath = args[0];

            var masterSystem = new MasterSystem();

            var cartridge = GameMedia.LoadFromFile(romPath, GameMediaType.Cartridge);

            masterSystem.Initialise();
            masterSystem.LoadGameMedia(cartridge);

            Console.WriteLine($"Starting: {DateTime.Now}");
            Console.WriteLine();

            ulong instructionCount = 0;

            var sw = Stopwatch.StartNew();

            try
            {
                while (true)
                {
                    instructionCount++;
                    masterSystem.SingleStep();
                }
            }
            catch (InfiniteLoopException)
            {
            }
            catch (NotImplementedException ex)
            {
                Console.WriteLine(ex.Message);
            }

            sw.Stop();

            masterSystem.Shutdown();

            var cyclesExecuted = masterSystem.Clock.Timestamp;
            var effectiveClock = cyclesExecuted / (sw.ElapsedMilliseconds / 1000.0);

            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine($"Finished: {DateTime.Now}");
            Console.WriteLine($"Elapsed: {sw.ElapsedMilliseconds}ms Instructions: {instructionCount:N0}, Instructions/ms: {instructionCount / (double)sw.ElapsedMilliseconds}, Effective Clock: {FormatFrequency(effectiveClock)}");
        }
예제 #6
0
        // GET: GameMedia/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GameMedia gameMedia = db.GameMedia.Find(id);

            if (gameMedia == null)
            {
                return(HttpNotFound());
            }
            return(View(gameMedia));
        }
예제 #7
0
        internal void LoadGameMedia(GameMedia media)
        {
            switch (media.MediaType)
            {
            case GameMediaType.Cartridge:
                _cartridge = media;
                break;

            case GameMediaType.SegaCard:
                _segaCard = media;
                break;

            default:
                throw new Exception($"Unsupported GameMediaType value: {media.MediaType}");
            }
        }
예제 #8
0
        public IActionResult SaveAddedGame(AddGameModel data)
        {
            try
            {
                List <Genre>   genres   = data.Genres.Select(g => genresTable.GetGenreByUrlId(g) !).ToList();
                List <Feature> features = data.Features.Select(f => featuresTable.GetFeatureByUrlId(f) !).ToList();

                var gameFilter = new GameFilter {
                    Features = features,
                    Genres   = genres
                };

                var gameMedia = new GameMedia {
                    Screenshots = data.Screenshots,
                    Trailers    = data.Trailers
                };

                var gameSystemRequirements = new GameSystemRequirement {
                    MinCpu                  = data.MinCpu,
                    MaxCpu                  = data.MaxCpu,
                    MinRamMB                = data.MinRamMB,
                    MaxRamMB                = data.MaxRamMB,
                    MinGpu                  = data.MinGpu,
                    MaxGpu                  = data.MaxGpu,
                    DiskSpaceMB             = data.DiskSpaceMB,
                    DirectX                 = data.DirectX,
                    SupportedOses           = data.SupportedOses,
                    ExtraInfo               = data.ExtraInfo == null ? "" : data.ExtraInfo,
                    SupportedTextLanguages  = data.SupportedTextLanguages,
                    SupportedVoiceLanguages = data.SupportedVoiceLanguages
                };

                var discount = float.Parse(data.Discount.Replace('.', ','));

                DateTime discountEndDate = discount != 0 && !string.IsNullOrEmpty(data.DiscountEndDate)
                    ? Convert.ToDateTime(data.DiscountEndDate)
                    : DateTime.MinValue;

                var releaseDate = Convert.ToDateTime(data.ReleaseDate);

                var gameInfo = new GameInfo {
                    Cover               = data.Cover,
                    Price               = data.Price,
                    Discount            = discount,
                    DiscountEndDate     = discountEndDate,
                    ReleaseDate         = releaseDate,
                    Rating              = data.Rating,
                    ShortDescription    = data.ShortDescription,
                    DetailedDescription = data.DetailedDescription,
                    LegalInfo           = data.LegalInfo
                };

                var game = new Game {
                    Name      = data.Name,
                    Developer = data.Developer,
                    GameUrl   = data.GameUrl,
                    GameInfo  = gameInfo,
                    GameSystemRequirements = gameSystemRequirements,
                    GameMedia  = gameMedia,
                    GameFilter = gameFilter
                };

                var success = gamesTable.AddGame(game);

                if (!string.IsNullOrEmpty(success))
                {
                    return(Content(success));
                }
            }
            catch (Exception e)
            {
                return(Content($"{e.Message}\n{e.StackTrace}"));
            }

            return(Content(""));
        }