public MainDetailPageMasterViewModel()
 {
     if (MovieCommanUtility.IsConnectedToInternet())
     {
         ProcessToFetchAllGeners().GetAwaiter();
     }
 }
Example #2
0
        /// <summary>
        /// Constructor For MovieListViewModel
        /// </summary>
        public MainPageViewModel()
        {
            if (MovieCommanUtility.IsConnectedToInternet())
            {
                ProcessToFetchAllGeners().GetAwaiter();
                ProcessToGetMovieList().GetAwaiter();

                var navPar = Mvx.Resolve <INavigationParameter>();
                if (navPar != null)
                {
                    if (navPar.Parameter != null)
                    {
                        if (navPar.Parameter.Item1.Equals(Constants.NavigationParamKeys.SelectedGenres))
                        {
                            SelectedGenres = navPar.Parameter.Item2 as GenresDetails;
                        }
                    }
                }
            }

            InitFilterList();
        }
Example #3
0
        public async Task <T> ExecuteGet <T>(RestRequest request, bool isTokenToBeSent, bool isTempTokenToBeSent = false) where T : new()
        {
            request.Method = Method.GET;
            request.AddOrUpdateQueryParameter(Constants.RestRequestsKeys.APIKey, Constants.APIKeyValue);
            request.AddOrUpdateQueryParameter(Constants.RestRequestsKeys.LanguageCode, Constants.LanguageCodeValue);
            if (MovieCommanUtility.IsConnectedToInternet())
            {
                try
                {
                    var response = await _restClient.Execute(request);

                    switch (response.StatusCode)
                    {
                    case HttpStatusCode.OK:
                    {
                        JsonSerializerSettings settings = new JsonSerializerSettings
                        {
                            NullValueHandling = NullValueHandling.Ignore
                        };
                        return(JsonConvert.DeserializeObject <T>(response.Content, settings));
                    }

                    case HttpStatusCode.InternalServerError:
                    {
                        UserDialogs.Instance.Alert(response.StatusDescription + " " + response.StatusCode);
                    }
                    break;

                    case HttpStatusCode.BadRequest:
                    {
                        UserDialogs.Instance.Alert(response.StatusDescription + " " + response.StatusCode);
                    }
                    break;

                    case HttpStatusCode.NotFound:
                    {
                        //TODO: Need to handle
                    }
                    break;

                    case HttpStatusCode.RequestTimeout:
                    {
                        UserDialogs.Instance.Alert(response.StatusDescription + " " + response.StatusCode);
                    }
                    break;
                    }
                }
                catch (WebException ex)
                {
                    UserDialogs.Instance.Alert(ex.Message, null, "OK");
                }
                catch (Exception ex)
                {
                    UserDialogs.Instance.Alert(ex.Message, null, "OK");
                }
            }
            else
            {
                //UserDialogs.Instance.Alert(AppResources.Msg_InternetConnectionNotAvailable, null, AppResources.BtnTitle_Ok);
            }
            return(default(T));
        }