예제 #1
0
        public static void Main(string[] args)
        {
            System.Collections.Generic.IEnumerable <FontFamily> families = SystemFonts.Families;
            IOrderedEnumerable <FontFamily> orderd = families.OrderBy(x => x.Name);
            int len = families.Max(x => x.Name.Length);

            foreach (FontFamily f in orderd)
            {
                Console.Write(f.Name.PadRight(len));
                Console.Write('\t');
                Console.Write(string.Join(",", f.AvailableStyles.OrderBy(x => x).Select(x => x.ToString())));
                Console.WriteLine();

                GlyphInstance g = f.CreateFont(10).Instance.GetGlyph(1);
            }

            if (Debugger.IsAttached)
            {
                Console.WriteLine(string.Empty);
                while (!Console.KeyAvailable)
                {
                    Thread.Sleep(100);
                }
            }
        }
        public async Task <GamificationLevel> GenerateNew(Guid userId)
        {
            GamificationLevel model = new GamificationLevel
            {
                UserId = userId
            };

            System.Collections.Generic.IEnumerable <GamificationLevel> all = await repository.GetAll();

            int maxNumber = all.Max(x => x.Number);

            model.Number = maxNumber + 1;

            int maxXp = all.Max(x => x.XpToAchieve);

            model.XpToAchieve = maxXp * 2;

            return(model);
        }
        public async Task <bool> ValidateXp(int xpToAchieve, Guid id)
        {
            System.Collections.Generic.IEnumerable <GamificationLevel> all = await repository.GetAll();

            int  maxXp = all.Max(x => x.XpToAchieve);
            Guid?maxId = all.FirstOrDefault(x => x.XpToAchieve == maxXp)?.Id;

            if (id == Guid.Empty)
            {
                return(xpToAchieve > maxXp);
            }
            else if (id == maxId)
            {
                return(xpToAchieve >= maxXp);
            }
            else
            {
                return(true);
            }
        }