Ejemplo n.º 1
0
        // import last update data from web api
        public async Task UpdateDataFromWebApi()
        {
            Property PR = DB.GetPropertyAsync().Result;

            if (PR != null && PR.WebApiAddress != "" && PR.WebApiAddress != null)
            {
                try
                {
                    var MS = new WebApi(PR.WebApiAddress);

                    //New movie not seen
                    MoviesFound = await MS.GetDataMovieArchiveWS(PR.GetMovieLastUpdate);

                    if (MoviesFound != null && MoviesFound.Count > 0)
                    {
                        await DB.InsertMoviesAsync(MoviesFound);

                        DependencyService.Get <IMessage>().ShortAlert(String.Format(AppResources.MessageNMovieImported, MoviesFound.Count.ToString()));

                        //Update date
                        PR.GetMovieLastUpdate = DateTime.Now;
                        await DB.UpdatePropertyAsync(PR);
                    }
                    else
                    {
                        DependencyService.Get <IMessage>().ShortAlert(AppResources.Message0MovieImported);
                    }

                    //Get rating of last movie seen
                    MoviesFound = await MS.GetLastMovieRatingWS(PR.GetRatingLastUpdate);

                    if (MoviesFound != null && MoviesFound.Count > 0)
                    {
                        await DB.UpdateMoviesAsync(MoviesFound);

                        //Update date
                        PR.GetRatingLastUpdate = DateTime.Now;
                        await DB.UpdatePropertyAsync(PR);
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    throw ex;
                }
            }
        }