// 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")); } }
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")); }