Exemplo n.º 1
0
        /// <summary>
        /// Replaces the currently stored display characters with another set of those characters with updated stats.
        /// </summary>
        /// <param name="characters">The new characters to replace the original.</param>
        public void RefreshCharacters(IReadOnlyList <DisplayCharacter> characters)
        {
            var ids = characters.Select(chr => chr.Id);

            Characters.RemoveAll(chr => ids.Contains(chr.Id));
            Characters.AddRange(characters);
        }
        public async Task FetchMoreCharactersAsync()
        {
            try
            {
                LoadingMoreCharactersInProgress = true;

                var characters = await _charactersService.FetchCharactersAsync(CurrentPage + 1);

                var characterCellViewModels = characters.Select(character => new CharacterCellViewModel(character));

                if (characterCellViewModels.Any())
                {
                    Characters.AddRange(characterCellViewModels);
                    CurrentPage++;
                }
                else
                {
                    LoadedAll = true;
                }
            }
            catch
            {
                // TODO - Handle exception
            }
            finally
            {
                LoadingMoreCharactersInProgress = false;
            }
        }
Exemplo n.º 3
0
        public void UpdateCharacters(IEnumerable <Character> characters)
        {
            Characters.Clear();

            Characters.AddRange(characters);

            CheckCharactersForDeletion();
        }
Exemplo n.º 4
0
        private void DeserializeCharacters()
        {
            var snapshot = serializationWorker.DeserializeAppSnapshot(Resources.AppSnapshotFilePath);
            var deserializedCharacters = snapshot.SearchParameters.Characters;

            Characters.AddRange(deserializedCharacters.Select(c => new Character()
            {
                Region = c.Region,
                Realm  = c.Realm,
                Name   = c.Name
            }));
        }
Exemplo n.º 5
0
 /// <summary>
 /// Copy constructor
 /// </summary>
 /// <param name="viewModel">The viewmodel to copy.</param>
 public DiagramViewModel(DiagramViewModel viewModel)
 {
     Id   = viewModel.Id;
     Name = viewModel.Name;
     Characters.AddRange(viewModel.Characters);
     Storylines.AddRange(viewModel.Storylines);
     PlotElements.AddRange(viewModel.PlotElements);
     Relationships.AddRange(viewModel.Relationships);
     StorylineCharacterConnections.AddRange(viewModel.StorylineCharacterConnections);
     StorylinePlotElementConnections.AddRange(viewModel.StorylinePlotElementConnections);
     CharacterPlotElementConnections.AddRange(viewModel.CharacterPlotElementConnections);
 }
Exemplo n.º 6
0
 public DataContext(DbContextOptions options) : base(options)
 {
     try
     {
         if (Database.EnsureCreated())
         {
             List <Pers> tempList = JsonConvert.DeserializeObject <List <Pers> >(File.ReadAllText("pers.json"));
             Characters.AddRange(tempList);
             this.SaveChanges();
         }
     }
     catch
     {
     }
 }
Exemplo n.º 7
0
        public void LoadCharacters(int offset, int limit = Settings.CharactersPerRequest)
        {
            IsBusy = true;

            var cache         = BlobCache.LocalMachine;
            var cachedApiData = cache.GetAndFetchLatest($"ApiData_{offset}", () => _iApiService.GetCharacters(offset, limit),
                                                        timeOffset =>
            {
                TimeSpan elapsed = DateTimeOffset.Now - timeOffset;
                return(elapsed > new TimeSpan(hours: 1, minutes: 0, seconds: 0));
            });

            cachedApiData.Subscribe(apiData => {
                Characters.AddRange(apiData.Results);
            });

            IsBusy = false;
        }
Exemplo n.º 8
0
 private void AddCharacters(List <Character> characters)
 {
     characters.ForEach(c => c.Owner = this);
     Characters.AddRange(characters);
 }
        public SimpleUppercaseCharacterSet() : base("simpleUppercase")
        {
            var chars = new[] {
                new Character(32, ' '),
                new Character(33, '!'),
                new Character(34, '\"'),
                new Character(35, '#'),
                new Character(44, ','),
                new Character(45, '-'),
                new Character(46, '.'),
                new Character(48, '0'),
                new Character(49, '1'),
                new Character(50, '2'),
                new Character(51, '3'),
                new Character(52, '4'),
                new Character(53, '5'),
                new Character(54, '6'),
                new Character(55, '7'),
                new Character(56, '8'),
                new Character(57, '9'),
                new Character(63, '?'),
                new Character(64, '@'),
                new Character(65, 'A'),
                new Character(65, 'a'),
                new Character(66, 'B'),
                new Character(66, 'b'),
                new Character(67, 'C'),
                new Character(67, 'c'),
                new Character(68, 'D'),
                new Character(68, 'd'),
                new Character(69, 'E'),
                new Character(69, 'e'),
                new Character(70, 'F'),
                new Character(70, 'f'),
                new Character(71, 'G'),
                new Character(71, 'g'),
                new Character(72, 'H'),
                new Character(72, 'h'),
                new Character(73, 'I'),
                new Character(73, 'i'),
                new Character(74, 'J'),
                new Character(74, 'j'),
                new Character(75, 'K'),
                new Character(75, 'k'),
                new Character(76, 'L'),
                new Character(76, 'l'),
                new Character(77, 'M'),
                new Character(77, 'm'),
                new Character(78, 'N'),
                new Character(78, 'n'),
                new Character(79, 'O'),
                new Character(79, 'o'),
                new Character(80, 'P'),
                new Character(80, 'p'),
                new Character(81, 'Q'),
                new Character(81, 'q'),
                new Character(82, 'R'),
                new Character(82, 'r'),
                new Character(83, 'S'),
                new Character(83, 's'),
                new Character(84, 'T'),
                new Character(84, 't'),
                new Character(85, 'U'),
                new Character(85, 'u'),
                new Character(86, 'V'),
                new Character(86, 'v'),
                new Character(87, 'W'),
                new Character(87, 'w'),
                new Character(88, 'X'),
                new Character(88, 'x'),
                new Character(89, 'Y'),
                new Character(89, 'y'),
                new Character(90, 'Z'),
                new Character(90, 'z')
            };

            Characters.AddRange(chars);
        }
Exemplo n.º 10
0
        private void InitData()
        {
            // Starships
            var s0 = new Starship()
            {
                Id          = "3000", Name = "Millenium Falcon", Length = 34.37f,
                Coordinates = MakeCoords(12.0f, 43.0f, 0.17f, 245.1f)
            };
            var s1 = new Starship()
            {
                Id          = "3001", Name = "X-Wing", Length = 12.5f,
                Coordinates = MakeCoords(44.0f, 8.0f, 77.22f, 20.01f)
            };
            var s2 = new Starship()
            {
                Id          = "3002", Name = "TIE Advanced x1", Length = 9.2f,
                Coordinates = MakeCoords(52.03f, 24.301f, 400.17f, 913.366f)
            };
            var s3 = new Starship()
            {
                Id          = "3003", Name = "Imperial shuttle", Length = 20,
                Coordinates = MakeCoords(512.0f, 0.013f, 62.82f, 5.99f)
            };

            Starships.AddRange(new[] { s0, s1, s2, s3 });

            var allEpisodes = new[] { Episode.Empire, Episode.Jedi, Episode.NewHope };
            // Humans
            var luke = new Human()
            {
                Id        = "1000", Name = "Luke Skywalker", AppearsIn = allEpisodes, HomePlanet = "Tatooine",
                Height    = 1.72f, MassKg = 77,
                Starships = new[] { s0, s3 }
            };

            var darth = new Human()
            {
                Id        = "1001", Name = "Darth Vader", AppearsIn = allEpisodes, HomePlanet = "Tatooine",
                Height    = 2.02f, MassKg = 136,
                Starships = new[] { s2 }
            };
            var han = new Human()
            {
                Id        = "1002", Name = "Han Solo", AppearsIn = allEpisodes, Height = 1.8f, MassKg = 80,
                Starships = new[] { s0, s3 }
            };
            var leia = new Human()
            {
                Id        = "1003", Name = "Leia Organa", AppearsIn = allEpisodes, HomePlanet = "Alderaan",
                Height    = 1.5f, MassKg = 49,
                Starships = new Starship[] {}
            };
            var wilhuff = new Human()
            {
                Id        = "1004", Name = "Wilhuff Tarkin", AppearsIn = new[] { Episode.NewHope }, Height = 1.8f,
                Starships = new Starship[] { }
            };

            //Droids
            var c3po = new Droid()
            {
                Id = "2000", Name = "C-3PO", AppearsIn = allEpisodes, PrimaryFunction = "Protocol"
            };
            var r2 = new Droid()
            {
                Id = "2001", Name = "R2-D2", AppearsIn = allEpisodes, PrimaryFunction = "Astromech"
            };

            // friends
            luke.Friends    = new Character[] { han, leia, c3po, r2 };
            darth.Friends   = new Character[] { wilhuff };
            han.Friends     = new Character[] { luke, leia, r2 };
            leia.Friends    = new Character[] { luke, han, c3po, r2 };
            wilhuff.Friends = new Character[] { darth };
            c3po.Friends    = new Character[] { luke, leia, r2 };
            r2.Friends      = new Character[] { luke, han, leia, c3po };

            Characters.AddRange(new Character[] { luke, darth, han, leia, wilhuff, c3po, r2 });

            // reviews
            CreateReview(Episode.Empire, 2, "Booooring", Emojis.Bored | Emojis.Dislike);
            CreateReview(Episode.Jedi, 5, "Fabulous!", Emojis.Excited | Emojis.Like);
            CreateReview(Episode.NewHope, 4, "Could be better", Emojis.Like | Emojis.Smile);
        }// method