async void DoOpenLOMapCommand(lo_by_circle_wrapper learningobj) { //await _mLearningService.OpenLearningObject(learningobj.lo.id,learningobj.lo.url_package,UserID); try { List <lo_by_circle> list = LearningOjectsList.Select(lo => lo.lo).ToList(); //await BlockDownload.TryLoadByteVector<MLearning.Core.ViewModels.MainViewModel.lo_by_circle_wrapper>(LearningOjectsList.ToList(), // (pos, bytes) => { }, // (lo) => { return lo.lo.url_background; } // ); //Download all the data of the selected LO /*foreach (var item in LearningOjectsList) * { * if (item.lo.id == learningobj.lo.id) * { * await FetchLOData(item.lo.id, true); * } * else * { * await FetchLOData(item.lo.id, false); * } * * * * }*/ string serialized = JsonConvert.SerializeObject(list); ShowViewModel <LOMapViewModel>(new { lo_id = learningobj.lo.id, serialized_los_in_circle = serialized, _currentCurso = this._currentCurso, _currentUnidad = this._currentUnidad, _currentSection = this._currentSection }); } catch (WebException e) { ConnectionOK = false; } catch (HttpRequestException e) { ConnectionOK = false; } catch (MobileServiceInvalidOperationException e) { Mvx.Trace("MobileServiceInvalidOperationException " + e.Message); OperationOK = false; } }
async Task LoadLearningObjects(int circle_id) { if (LearningOjectsList != null) { LearningOjectsList.Clear(); } var list = await _mLearningService.GetLOByCircleAndUser(circle_id, UserID); int circleIndex = CirclesList.IndexOf(CirclesList.Where(c => c.id == circle_id).First()); var circleLOList = new List <lo_by_circle_wrapper>(); foreach (var item in list) { circleLOList.Add(new lo_by_circle_wrapper { lo = item }); } CirclesLearningObjects[circleIndex] = new ObservableCollection <lo_by_circle_wrapper>(circleLOList); LearningOjectsList = CirclesLearningObjects[circleIndex]; await BlockDownload.TryPutBytesInVector <MLearning.Core.ViewModels.MainViewModel.lo_by_circle_wrapper>(LearningOjectsList.ToList(), (pos, bytes) => { if (pos < LearningOjectsList.Count) { LearningOjectsList[pos].background_bytes = bytes; } }, (lo) => { return(lo.lo.url_background); } ); _locover_manager.Clear(); CurrentIndexDisplaying = 0; await UpdateLOImages(CurrentIndexDisplaying, CirclesLearningObjects[CirclesList.IndexOf(CirclesList.Where(c => c.id == CircleID).First())]); }