// import data from web api public async Task ImportDataFromWebApi() { Property PR = DB.GetPropertyAsync().Result; if (PR != null && PR.WebApiAddress != "" && PR.WebApiAddress != null) { try { var MS = new WebApi(PR.WebApiAddress); MoviesFound = await MS.GetDataMovieArchiveWS(PR.GetMovieLastUpdate); if (MoviesFound.Count > 0) { DB.InsertMoviesAsync(MoviesFound).Wait(); } //Update date PR.GetMovieLastUpdate = PR.GetRatingLastUpdate = DateTime.Now; int r = DB.UpdatePropertyAsync(PR).Result; } catch (Exception e) { throw e; } } else { throw new NotSupportedException("ERROR: WebApi address not valid"); } }
// import data from csv file public async Task ImportMovieDataFromFile(Stream DataFile) { Movie MovieImport, MovieTMDB; string[] values; int Result; try { MoviesFound = new List <Movie>(); using (var reader = new StreamReader(DataFile)) { while (!reader.EndOfStream) { var line = reader.ReadLine(); if (!line.Contains("ID,Title,")) { values = line.Split(','); MovieImport = new Movie(); MovieImport.ID = int.Parse(values[0]); MovieImport.Title = values[1]; MovieImport.TmdbID = int.Parse(values[2]); if (values[3] != "") { MovieImport.DateIns = DateTime.Parse(values[3], CultureInfo.CreateSpecificCulture("it-ITA")); } else { MovieImport.DateIns = DateTime.Now; } //cerco il poster aggiornato MovieTMDB = SearchMovieInTMDBByID(MovieImport.TmdbID); MovieImport.Poster = MovieTMDB.Poster; MoviesFound.Add(MovieImport); } } Result = await DB.InsertMoviesAsync(MoviesFound); } } catch (Exception ex) { Crashes.TrackError(ex); } }