Example #1
0
        public JsonResult Upload(HttpPostedFileBase file)
        {
            try
            {
                var filename = Path.GetFileName(file.FileName);

                if (filename == null)
                {
                    throw new NotSupportedException();
                }

                var    randomFilename = Path.GetRandomFileName();
                string title;
                if (_replayService.IsAlreadyUploaded(file.InputStream, out title))
                {
                    return(Json(new
                    {
                        success = false,
                        message = string.Format("Replay is already uploaded with title - '{0}'.", title)
                    }));
                }

                var replay = _replayService.SaveReplay(file.InputStream, randomFilename);

                var path = Path.Combine(Server.MapPath("~/App_Data/replays"), randomFilename);
                file.SaveAs(path);

                string replayToken = string.Empty;

                if (HttpContext.Session != null)
                {
                    var hashedReplaySeed = PasswordHasher.Hash(replay.Seed);
                    HttpContext.Session["replay" + replay.Id] = replayToken = hashedReplaySeed.Hash;
                }

                return(new JsonResult
                {
                    Data = new
                    {
                        replayId = replay.Id,
                        success = true,
                        token = replayToken
                    }
                });
            }
            catch (Exception ex)
            {
                return(new JsonResult
                {
                    Data = new
                    {
                        success = false,
                        message = string.Format("Could not upload the replay - {0}", ex.Message)
                    }
                });
            }
        }
Example #2
0
        public void ReplaySaveTest01()
        {
            var replayBytes = ReplayParserTestResources.Steel_Balalaika_vs_We_suck_at_wargame_3vs3;

            _service.SaveReplay(new MemoryStream(replayBytes), Guid.NewGuid().ToString());
        }