Beispiel #1
0
    public void Finalize(IEnumerable <Deity> deities)
    {
        AcceptsPrayers     = Globals.Random.NextDouble() < 0.66f;
        DonationMultiplier = Globals.Random.NextDouble() < 0.66 ? 1 : -1;
        SacrificeCost      = Globals.Random.NextDouble() < 0.2f ? 5 : -1;

        Archetype.Finalize(this, deities);
        foreach (var domain in Domains)
        {
            domain.Finalize(this, deities);
        }

        Likes    = Likes.Distinct().ToList();
        Dislikes = Dislikes.Distinct().ToList();

        var common = Likes.Where(Dislikes.Contains).ToArray();

        foreach (var thing in common)
        {
            Likes.Remove(thing);
            Dislikes.Remove(thing);
        }
    }
        public User WithoutSensitive(bool token      = false, bool useLikeIds = false, bool useFavoriteIds = false,
                                     bool useSaleIds = false)
        {
            HasPassword = Password != null;
            Password    = null;
            Token       = token ? Token : null;

            if (useLikeIds)
            {
                LikeIds = new EntityIdLists
                {
                    Videos = Likes?.Where(x => x.Entity is Video)
                             .Select(x => new EntityIdItem {
                        Id = x.Id, EntityId = x.EntityId
                    }),
                    Movies = Likes?.Where(x => x.Entity is Movie)
                             .Select(x => new EntityIdItem {
                        Id = x.Id, EntityId = x.EntityId
                    })
                };
            }

            if (useFavoriteIds)
            {
                FavoriteIds = new EntityIdLists
                {
                    Videos = Favorites?.Where(x => x.Entity is Video)
                             .Select(x => new EntityIdItem {
                        Id = x.Id, EntityId = x.EntityId
                    }),
                    Movies = Favorites?.Where(x => x.Entity is Movie)
                             .Select(x => new EntityIdItem {
                        Id = x.Id, EntityId = x.EntityId
                    }),
                    Sports = Favorites?.Where(x => x.Entity is Sport)
                             .Select(x => new EntityIdItem {
                        Id = x.Id, EntityId = x.EntityId
                    }),
                    Playlists = Favorites?.Where(x => x.Entity is Playlist)
                                .Select(x => new EntityIdItem {
                        Id = x.Id, EntityId = x.EntityId
                    }),
                };
            }

            if (useSaleIds)
            {
                SaleIds = new EntityIdLists
                {
                    Videos = Sales?.Where(x => x.Entity is Video)
                             .Select(x => new EntityIdItem {
                        Id = x.Id, EntityId = x.EntityId
                    }),
                    Movies = Sales?.Where(x => x.Entity is Movie)
                             .Select(x => new EntityIdItem {
                        Id = x.Id, EntityId = x.EntityId
                    }),
                    Playlists = Sales?.Where(x => x.Entity is Playlist)
                                .Select(x => new EntityIdItem {
                        Id = x.Id, EntityId = x.EntityId
                    }),
                };
            }

            return(this);
        }