public async Task <ActionResult> Edit(EventViewModel eventViewModel) { try { var httpClient = RideShareHttpClient.GetClient(); var serializedTrip = JsonConvert.SerializeObject(eventViewModel); var response = await httpClient.PutAsync("api/events/" + eventViewModel.EventId, new StringContent(serializedTrip, Encoding.Unicode, "application/json")) .ConfigureAwait(false); if (response.IsSuccessStatusCode) { return(RedirectToAction("Index", "Home")); } return(View("Error", new HandleErrorInfo(ExceptionHelper.GetExceptionFromResponse(response), "Events", "Edit"))); } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Events", "Edit"))); } }
public async Task <ActionResult> View(Guid eventId) { try { var httpClient = RideShareHttpClient.GetClient(); var response = await httpClient.GetAsync("api/events/" + eventId) .ConfigureAwait(false); if (response.IsSuccessStatusCode) { var responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var @event = JsonConvert.DeserializeObject <Event>(responseString); var eventViewModel = Mapper.Map <Event, EventViewModel>(@event); eventViewModel.ViewModelMode = ViewModelMode.View; return(View(eventViewModel)); } return(View("Error", new HandleErrorInfo(ExceptionHelper.GetExceptionFromResponse(response), "Events", "Create"))); } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Events", "Create"))); } }
public async Task <ActionResult> ViewEvent(EventViewModel eventViewModel) { try { await Task.FromResult(0); var httpClient = RideShareHttpClient.GetClient(); var serializedTrip = JsonConvert.SerializeObject( new CreateCarForEventViewModel { EventId = eventViewModel.EventId, Email = eventViewModel.CarEmail, Name = eventViewModel.CarName, Phone = eventViewModel.CarPhone, Description = "dummy" + DateTime.Now } ); var response = await httpClient.PostAsync("api/cars/", new StringContent(serializedTrip, Encoding.Unicode, "application/json")) .ConfigureAwait(false); if (response.IsSuccessStatusCode) { return(RedirectToAction("View", "Events", new RouteValueDictionary { { "eventId", eventViewModel.EventId } })); } return(View("Error", new HandleErrorInfo(ExceptionHelper.GetExceptionFromResponse(response), "Events", "Edit"))); } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Events", "Edit"))); } }
public async Task <ActionResult> Index() { if (User.Identity.IsAuthenticated) { Log.Logger.Debug("Trace: User is authenticated."); var httpClient = RideShareHttpClient.GetClient(); Log.Logger.Debug("HttpClient base url :" + httpClient.BaseAddress.AbsolutePath); var activeEvents = await httpClient .GetAsync("Api/Events/") .ConfigureAwait(false); var activeEventsAsString = await activeEvents .Content.ReadAsStringAsync() .ConfigureAwait(false); if (activeEvents.IsSuccessStatusCode) { var models = JsonConvert.DeserializeObject <IList <Event> >(activeEventsAsString).ToList(); var eventViewModels = models.Select(Mapper.Map <EventViewModel>); var vm = new HomeIndexViewModel(); vm.Events.AddRange(eventViewModels); return(View(vm)); } Log.Logger.Error($"Non-successful call to API: {@activeEvents.StatusCode}, {activeEventsAsString}"); return(View("Error", new HandleErrorInfo(ExceptionHelper.GetExceptionFromResponse(activeEvents), "Home", "Index"))); } return(View()); }