Пример #1
0
        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);
        }
Пример #2
0
        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;
            }
        }