protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.ViewChallengeList); prefHelper = new PreferenceHelper(this); dataManager = new DataManger(this); var recyclerView = FindViewById <RecyclerView>(Resource.Id.recyclerView); var toolbar = FindViewById <Android.Widget.Toolbar>(Resource.Id.toolbar); var addItemButton = FindViewById <com.refractored.fab.FloatingActionButton>(Resource.Id.addItemButton); SetActionBar(toolbar); ActionBar.Title = "Check It"; ActionBar.SetDisplayHomeAsUpEnabled(true); ActionBar.SetHomeButtonEnabled(true); var layoutManager = new LinearLayoutManager(this, LinearLayoutManager.Vertical, false); recyclerView.SetLayoutManager(layoutManager); //Get challenges from database challenges = dataManager.ChallangeData.GetChallanges(); adapter = new ChallengeAdapter(this, challenges.Where(w => !w.IsCompleted).ToList()); recyclerView.SetAdapter(adapter); adapter.ItemClick += Challenge_ItemClick; addItemButton.Click += AddItemButton_Click; }
private void EnsureChallengeExistsInStorage(ChallengeListSingleInfo challengeInfo) { Challenge challenge = new Challenge(challengeInfo.UId, challengeInfo.Name, challengeInfo.Author, challengeInfo.Environnement); ChallengeAdapter.IncreaseRaces(challenge); CurrentChallengeID = challenge.ID.Value; OnChallengeCreatedOrUpdated(challengeInfo, challenge); }
public void GetChallengeAdapter_Success() { // Arrange var requestBuilder = new ChallengeBuilder().FavoratePassTime(); var mokAdapter = new ChallengeAdapter(); // Act var response = mokAdapter.Get(Guid.NewGuid()); var expected = requestBuilder.UpdateId(response.Id).Build(); // Assert Assert.IsNotNull(response); var compareDetails = Comparer.Compare(expected, response); compareDetails.DisplayDifferences(); Assert.IsTrue(compareDetails.AreEqual, "The initative comparison failed"); }
protected override void Init() { Settings = LocalRecordsSettings.ReadFromFile(PluginSettingsFilePath); try { AdapterProvider = AdapterProviderFactory.GetAdapterProvider(Settings); ChallengeAdapter = AdapterProvider.GetChallengeAdapter(); PlayerAdapter = AdapterProvider.GetPlayerAdapter(); PositionAdapter = AdapterProvider.GetPositionAdapter(); RecordAdapter = AdapterProvider.GetRecordAdapter(); RatingAdapter = AdapterProvider.GetRatingAdapter(); SessionAdapter = AdapterProvider.GetSessionAdapter(); RankingAdapter = AdapterProvider.GetRankingAdapter(); } catch (Exception ex) { Logger.Error("Error initializing AdapterProvider for local records.", ex); Logger.ErrorToUI(string.Format("An error occured. {0} not started!", Name)); return; } List <ChallengeListSingleInfo> challenges = GetChallengeList(); if (challenges == null) { return; } try { Logger.InfoToUI("Starting to delete data of missing tracks"); int amountOfDeletedTracks = ChallengeAdapter.DeleteTracksNotInProvidedList(challenges.ConvertAll(c => c.UId)); Logger.InfoToUI(string.Format("Data of {0} Track(s) has been deleted.", amountOfDeletedTracks)); } catch (Exception ex) { Logger.ErrorToUI("Couldn't delete data of missing tracks.", ex); } foreach (PlayerSettings playerSettings in Context.PlayerSettings.GetAllAsList()) { if (!playerSettings.NickName.IsNullOrTimmedEmpty()) { PlayerAdapter.CreateOrUpdate(new Player(playerSettings.Login, playerSettings.NickName)); } } ChallengeInfo currentChallengeInfo = GetCurrentChallengeInfoCached(); if (currentChallengeInfo == null) { Logger.ErrorToUI(string.Format("An error occured. {0} not started!", Name)); return; } EnsureChallengeExistsInStorage(currentChallengeInfo); DetermineLocalRecords(); InitializePlugins(); OnLocalRecordsDetermined(new List <RankEntry>(LocalRecords)); Context.RPCClient.Callbacks.BeginRace += Callbacks_BeginRace; Context.RPCClient.Callbacks.EndRace += Callbacks_EndRace; Context.RPCClient.Callbacks.PlayerConnect += Callbacks_PlayerConnect; Context.RPCClient.Callbacks.PlayerDisconnect += Callbacks_PlayerDisconnect; Context.RPCClient.Callbacks.PlayerFinish += Callbacks_PlayerFinish; Context.RPCClient.Callbacks.PlayerChat += Callbacks_PlayerChat; }