コード例 #1
0
        public ActionResult Create(SetGameDTO createGame)
        {
            if (!Session["Role"].Equals("Admin"))
            {
                return RedirectToAction("Index", "Home");
            }
            var request = new RestRequest("api/Games", Method.POST);
            var apiKey = Session["ApiKey"];
            var UserId = Session["UserId"];
            request.AddHeader("xcmps383authenticationkey", apiKey.ToString());
            request.AddHeader("xcmps383authenticationid", UserId.ToString());
            request.RequestFormat = DataFormat.Json;
            request.AddBody(createGame);
            var queryResult = client.Execute(request);
            statusCodeCheck(queryResult);

            var redirectUrl = new UrlHelper(Request.RequestContext).Action("Create", "Game");

            if (queryResult.StatusCode != HttpStatusCode.Created)
            {
                redirectUrl = new UrlHelper(Request.RequestContext).Action("Create", "Game");
                return Json(new { Url = redirectUrl });
            }
            else if (queryResult.StatusCode == HttpStatusCode.Forbidden)
            {
                redirectUrl = new UrlHelper(Request.RequestContext).Action("Login", "User");
                return Json(new { Url = redirectUrl });
            }
            redirectUrl = new UrlHelper(Request.RequestContext).Action("Index", "Game");
            return Json(new { Url = redirectUrl });
        }
コード例 #2
0
        public ActionResult Edit(GetGameDTO editedGame, string url)
        {
            if (!Session["Role"].Equals("Admin"))
            {
                return RedirectToAction("Index", "Home");
            }
            try
            {
                Mapper.CreateMap<SetGameDTO, GetGameDTO>();
                // TODO: Add update logic here

                var client = new RestClient(editedGame.URL);
                var request = new RestRequest(Method.PUT);
                var apiKey = Session["ApiKey"];
                var UserId = Session["UserId"];
                request.AddHeader("xcmps383authenticationkey", apiKey.ToString());
                request.AddHeader("xcmps383authenticationid", UserId.ToString());
                request.RequestFormat = DataFormat.Json;

                SetGameDTO sentGame = new SetGameDTO();
                sentGame.GameName = editedGame.GameName;
                sentGame.Genres = new List<SetGenreDTO>();
                foreach (var genre in editedGame.Genres)
                {
                    sentGame.Genres.Add(new SetGenreDTO() { Name = genre.Name });
                }
                sentGame.InventoryStock = editedGame.InventoryStock;
                sentGame.Price = editedGame.Price;
                sentGame.ReleaseDate = editedGame.ReleaseDate;
                sentGame.Tags = new List<SetTagDTO>();
                foreach (var tag in editedGame.Tags)
                {
                    sentGame.Tags.Add(new SetTagDTO() { Name = tag.Name });
                }

                request.AddBody(sentGame);

                var queryResult = client.Execute(request);

                statusCodeCheck(queryResult);

                var redirectUrl = new UrlHelper(Request.RequestContext).Action("Index", "Game");

                if (queryResult.StatusCode != HttpStatusCode.OK)
                {
                    redirectUrl = new UrlHelper(Request.RequestContext).Action("Edit/"+editedGame.Id, "Game");
                    return Json(new { Url = redirectUrl });
                }
                else if (queryResult.StatusCode == HttpStatusCode.Forbidden)
                {
                    redirectUrl = new UrlHelper(Request.RequestContext).Action("Login", "User");
                    return Json(new { Url = redirectUrl });
                }
                redirectUrl = new UrlHelper(Request.RequestContext).Action("Index", "Game");
                return Json(new { Url = redirectUrl });
            }
            catch
            {
                var redirectUrl = new UrlHelper(Request.RequestContext).Action("Edit/"+editedGame.Id, "Game");
                return Json(new { Url = redirectUrl });
            }
        }