コード例 #1
0
        // GET: Location/Create
        public ActionResult Create()
        {
            TokenViewModel _token = HttpContext.Session.Get <TokenViewModel>(Constant.TOKEN);

            if (_token != null)
            {
                CreateLocationVewModel locationIndexViewModel = new CreateLocationVewModel
                {
                    User = _token,
                };
                return(View(locationIndexViewModel));
            }
            else
            {
                return(RedirectToAction("Login", "Auth"));
            }
        }
コード例 #2
0
        public async Task <ActionResult> Create(CreateLocationVewModel locationViewModel)
        {
            TokenViewModel _token = HttpContext.Session.Get <TokenViewModel>(Constant.TOKEN);

            if (_token != null)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        using (var client = new HttpClient())
                        {
                            // TODO: Add insert logic here

                            client.BaseAddress = new Uri("https://cocshopwebapi20190925023900.azurewebsites.net/");
                            client.DefaultRequestHeaders.Accept.Clear();
                            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                            client.DefaultRequestHeaders.Add("Authorization", $"Bearer {_token.Access_token}");
                            HttpResponseMessage response = await client.PostAsJsonAsync($"api/Locations", locationViewModel.Location);

                            var jsonString = await response.Content.ReadAsStringAsync();

                            var body = JsonConvert.DeserializeObject <BaseViewModel <UpdateLocationViewModel> >(jsonString);
                            if (response.IsSuccessStatusCode)
                            {
                                TempData["Success"] = "Create Successfully";
                                return(RedirectToAction("Index", "Location"));
                            }
                            else
                            {
                                locationViewModel = new CreateLocationVewModel
                                {
                                    User     = _token,
                                    Location = locationViewModel.Location,
                                };
                                ViewBag.Error = body.Description;
                                return(View(locationViewModel));
                            }
                        }
                    }
                    else
                    {
                        CreateLocationVewModel locationEditViewModel = new CreateLocationVewModel
                        {
                            User     = _token,
                            Location = locationViewModel.Location
                        };
                        return(View(locationEditViewModel));
                    }
                }
                catch
                {
                    CreateLocationVewModel locationEditViewModel = new CreateLocationVewModel
                    {
                        User     = _token,
                        Location = locationViewModel.Location
                    };
                    return(View(locationEditViewModel));
                }
            }
            return(RedirectToAction("Login", "Auth"));
        }