private static TrackSpeaker CreateDxSpeaker(DbModel.Speaker ev)
        {
            var speaker = new TrackSpeaker()
            {
                Affiliation   = ev.Affiliation.ToString(),
                Email         = ev.Email,
                PicUrl        = ev.PicUrl,
                Profile       = ev.Profile,
                SpeakerId     = ev.SpeakerID,
                SpeakerName   = ev.SpeakerName,
                SpeakerType   = ev.Type.ToString(),
                Title         = ev.Title,
                BlogLink      = ev.BlogLink,
                FacebookLink  = ev.FacebookLink,
                LinkedinLink  = ev.LinkedInLink,
                Location      = ev.Location,
                TwitterLink   = ev.TwitterHandle,
                SpeakerEvents = new ObservableCollection <Event>()
            };

            //foreach (var trackAgenda in ev.TrackAgendas)
            //{
            //    var evt = trackAgenda.EventTrack.Event;
            //    if (speaker.SpeakerEvents!=null && speaker.SpeakerEvents.FirstOrDefault(x=>x.EventId==evt.EventID) == null)
            //    {
            //        speaker.SpeakerEvents.Add(EventsController.CreateDxEvent(evt));
            //    }
            //}


            return(speaker);
        }
Ejemplo n.º 2
0
        public SpeakerDetailsPage(TrackSpeaker parameter)
        {
            this._paramter      = parameter;
            this.BindingContext = new SpeakerDetailsPageViewModel();

            followToolbarItem = new ToolbarItem("Follow", "Follow.png", () =>
            {
                this.Follow_Click(this, new EventArgs());
            }
                                                );

            unFollowToolbarItem = new ToolbarItem("Unfollow", "UnFollow.png", () =>
            {
                this.Follow_Click(this, new EventArgs());
            }
                                                  );

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