public HttpResponseMessage Post([FromBody] SpeakersRequest request) { HttpResponseMessage response; try { SpeakersResponse speakersResponse = new SpeakersResponse(); speakersResponse.AllSpeakers = new ObservableCollection <TechReady.Common.Models.TrackSpeaker>(); using (DbModel.TechReadyDbContext ctx = new DbModel.TechReadyDbContext()) { var speakers = (from c in ctx.Speakers select c).ToList(); foreach (var speaker in speakers) { try { speakersResponse.AllSpeakers.Add(CreateDxSpeaker(speaker)); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(ex.Message); } } } response = this.Request.CreateResponse(HttpStatusCode.OK, speakersResponse); response.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddSeconds(300)); } catch (Exception ex) { HttpError myCustomError = new HttpError(ex.Message) { { "IsSuccess", false } }; return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, myCustomError)); } return(response); }
public async Task GetSpeakers() { this.OperationInProgress = true; try { ObservableCollection <TrackSpeaker> model; model = await LocalStorage.ReadJsonFromFile <ObservableCollection <TrackSpeaker> >("allspeakers"); if (NetworkHelper.IsNetworkAvailable()) { SpeakersRequest request = new SpeakersRequest() { }; var result = await ServiceProxy.CallService("api/Speakers", JsonConvert.SerializeObject(request)); if (result.IsSuccess) { var homeResponse = JsonConvert.DeserializeObject <SpeakersResponse>(result.response); await LocalStorage.SaveJsonToFile(this.Speakers, "allspeakers"); model = homeResponse.AllSpeakers; } } if (model != null) { this.Speakers = model; _allSpeakers = model; } } finally { this.OperationInProgress = false; } }