public HttpResponseMessage Post([FromBody] SingleSpeakerRequest request) { HttpResponseMessage response; try { SpeakerEventsResponse speakersResponse = new SpeakerEventsResponse(); speakersResponse.SpeakerEvents = new ObservableCollection <TechReady.Common.Models.Event>(); using (DbModel.TechReadyDbContext ctx = new DbModel.TechReadyDbContext()) { var speakers = (from c in ctx.Speakers where c.SpeakerID == request.SpeakerId select c).FirstOrDefault(); speakersResponse.SpeakerEvents = CreateDxSpeaker(speakers); } 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 void GetUpcommingSessions() { if (NetworkHelper.IsNetworkAvailable() == false) { return; } try { this.OperationInProgress = true; SingleSpeakerRequest request = new SingleSpeakerRequest() { SpeakerId = this.Speaker.SpeakerId }; var result = await ServiceProxy.CallService("api/SpeakerEvents", JsonConvert.SerializeObject(request)); if (result.IsSuccess) { var speakerEventsResponse = JsonConvert.DeserializeObject <SpeakerEventsResponse>(result.response); if (speakerEventsResponse.SpeakerEvents != null) { Speaker.SpeakerEvents = this.FilterEvents(speakerEventsResponse.SpeakerEvents); OnPropertyChanged("Speaker"); OnPropertyChanged("SpeakerEvents"); OnPropertyChanged("IsSessionsAvailable"); } } } catch (Exception e) { System.Diagnostics.Debug.WriteLine( "Exception on: SpeakerDetailsPageVM.GetSpeakerDetails(): ExceptionMessage: " + e.Message); OnPropertyChanged(""); } finally { //if (Speaker.SpeakerEvents != null && Speaker.SpeakerEvents.Count > 0) //{ // IsSessionsAvailable = true; //} //else //{ // IsSessionsAvailable = false; //} this.OperationInProgress = false; OnPropertyChanged(""); } }
//public async void GetUpcomingSession() //{ // if(this.Speaker == null) // { // return; // } // if(NetworkHelper.IsNetworkAvailable() == false) // { // return; // } // this.OperationInProgress = true; // this.Speaker.SpeakerEvents = await EventService.GetService(this.Speaker.SessionList); // this.OperationInProgress = false; //} public async Task GetSpeakerDetails(TrackSpeaker args) { var trackSpeaker = args; if (NetworkHelper.IsNetworkAvailable() != false) { try { this.OperationInProgress = true; SingleSpeakerRequest request = new SingleSpeakerRequest() { SpeakerId = trackSpeaker.SpeakerId }; var result = await ServiceProxy.CallService("api/SingleSpeaker", JsonConvert.SerializeObject(request)); if (result.IsSuccess) { var speakerDetails = JsonConvert.DeserializeObject <SingleSpeakerResponse>(result.response); if (speakerDetails.TrackSpeaker != null) { trackSpeaker = speakerDetails.TrackSpeaker; } } } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Exception on: SpeakerDetailsPageVM.GetSpeakerDetails(): ExceptionMessage: " + e.Message); OnPropertyChanged(""); } finally { this.OperationInProgress = false; OnPropertyChanged(""); } } this.Speaker = trackSpeaker; OnPropertyChanged("Speaker"); }