Example #1
0
        public static string GetViewValueForTop(this User u, TopType type)
        {
            switch (type)
            {
            default:
            case TopType.Level:
                return($"{u.Level} **LVL** ({u.ExpCnt} **EXP**)");

            case TopType.ScCnt:
                return($"{u.ScCnt} **SC**");

            case TopType.TcCnt:
                return($"{u.TcCnt} **TC**");

            case TopType.Posts:
                return($"{u.MessagesCnt}");

            case TopType.PostsMonthly:
                return($"{u.MessagesCnt - u.MessagesCntAtDate}");

            case TopType.PostsMonthlyCharacter:
                return($"{u.CharacterCntFromDate / (u.MessagesCnt - u.MessagesCntAtDate)} znaki");

            case TopType.Commands:
                return($"{u.CommandsCnt}");

            case TopType.Cards:
                return($"{u.GameDeck.Cards.Count}");

            case TopType.CardsPower:
                return(u.GameDeck.GetCardCountStats());
            }
        }
Example #2
0
        public static string Name(this TopType type)
        {
            switch (type)
            {
            default:
            case TopType.Level:
                return("doświadczenia");

            case TopType.ScCnt:
                return("SC");

            case TopType.TcCnt:
                return("TC");

            case TopType.Posts:
                return("liczby wiadomości");

            case TopType.PostsMonthly:
                return("liczby wiadomości w miesiącu");

            case TopType.PostsMonthlyCharacter:
                return("liczby znaków w wiadomości");

            case TopType.Commands:
                return("liczby użytych poleceń");

            case TopType.Cards:
                return("liczby kart");

            case TopType.CardsPower:
                return("mocy kart");
            }
        }
Example #3
0
        /// <summary>
        /// Writing TOP N is not supported we need to wrap in an outer SELECT with
        /// ROWNUM as one of the fields on the inner SELECT so we can select ranges.
        /// </summary>
        /// <param name="count"></param>
        /// <param name="offset"></param>
        /// <param name="topType"></param>
        public override void WriteTop(double count, double offset, TopType topType)
        {
            StringBuilder sb = this.GetWritersInnerBuilder();

            if (null == sb)
            {
                throw new InvalidOperationException(Errors.CannotUseTopAsInnerWriterNotSupportPosition);
            }
            string full = sb.ToString();

            if (full.EndsWith("SELECT ", StringComparison.OrdinalIgnoreCase))
            {
                _selectstart     = full.Length - "SELECT ".Length;
                _assignReceivers = null;
                _assignValues    = null;
                _hastop          = true;
                _topcount        = count;
                _toptype         = topType;
                _offsetcount     = offset;
                _hasorder        = false;
            }
            else
            {
                throw new InvalidOperationException("Cannot use Top N outside of the start of a SELECT statement");
            }
        }
Example #4
0
        public override void WriteTop(double count, double offset, TopType topType)
        {
            if (topType == TopType.Range)
            {
                this.IncrementStatementDepth();
                StringBuilder        builder = null;
                System.IO.TextWriter writer  = this.Writer;

                if (writer is System.IO.StringWriter)
                {
                    System.IO.StringWriter sw = writer as System.IO.StringWriter;
                    builder = sw.GetStringBuilder();
                }

                _range = new RangeOptions()
                {
                    Count              = (int)count - 1,              //as we use between and we start from offset 1 - this works
                    Offset             = (int)offset,
                    SelectInjectOffset = builder.Length,
                    Builder            = builder,
                    CollectingFields   = true
                };
            }
            else
            {
                base.WriteTop(count, offset, topType);
            }
        }
Example #5
0
        private List <User> OrderUsersByTop(List <User> list, TopType type)
        {
            switch (type)
            {
            default:
            case TopType.Level:
                return(list.OrderByDescending(x => x.Level).ToList());

            case TopType.ScCnt:
                return(list.OrderByDescending(x => x.ScCnt).ToList());

            case TopType.TcCnt:
                return(list.OrderByDescending(x => x.TcCnt).ToList());

            case TopType.Posts:
                return(list.OrderByDescending(x => x.MessagesCnt).ToList());

            case TopType.PostsMonthly:
                return(list.Where(x => x.IsCharCounterActive()).OrderByDescending(x => x.MessagesCnt - x.MessagesCntAtDate).ToList());

            case TopType.PostsMonthlyCharacter:
                return(list.Where(x => x.IsCharCounterActive()).OrderByDescending(x => x.CharacterCntFromDate / (x.MessagesCnt - x.MessagesCntAtDate)).ToList());

            case TopType.Commands:
                return(list.OrderByDescending(x => x.CommandsCnt).ToList());

            case TopType.Cards:
                return(list.OrderByDescending(x => x.GameDeck.Cards.Count).ToList());

            case TopType.CardsPower:
                return(list.OrderByDescending(x => x.GameDeck.Cards.Sum(c => c.GetValue())).ToList());
            }
        }
Example #6
0
        public async Task ShowTopAsync([Summary("rodzaj topki(poziom/sc/tc/posty(m/ms)/karty)")] TopType type = TopType.Level)
        {
            var session = new ListSession <string>(Context.User, Context.Client.CurrentUser);
            await _session.KillSessionIfExistAsync(session);

            using (var db = new Database.UserContext(Config))
            {
                var users = await db.GetCachedAllUsersAsync();

                session.ListItems = _profile.BuildListView(_profile.GetTopUsers(users, type), type, Context.Guild);
            }

            session.Event = ExecuteOn.ReactionAdded;
            session.Embed = new EmbedBuilder
            {
                Color = EMType.Info.Color(),
                Title = $"Topka {type.Name()}"
            };

            var msg = await ReplyAsync("", embed : session.BuildPage(0));

            await msg.AddReactionsAsync(new[] { new Emoji("⬅"), new Emoji("➡") });

            session.Message = msg;
            await _session.TryAddSession(session);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            TopType topType = db.TopTypes.Find(id);

            db.TopTypes.Remove(topType);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #8
0
 public void Load(BinaryReader binaryReader)
 {
     Elevation    = binaryReader.ReadByte();
     baseTexture  = (AtlasTexture)binaryReader.ReadByte();
     topTexture   = (AtlasTexture)binaryReader.ReadByte();
     topType      = (TopType)binaryReader.ReadByte();
     topDirection = (Direction)binaryReader.ReadByte();
 }
Example #9
0
        /// <summary>
        /// Creates a returns a new TOP (LIMITS) statment with the specified restrictions
        /// </summary>
        /// <param name="value"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static DBTop Top(double value, TopType type)
        {
            DBTop top = new DBTopRef();

            top.Type     = type;
            top.TopValue = value;

            return(top);
        }
Example #10
0
        public async Task <ServerResponse <TopResponse> > GetTop(TopType type, int count)
        {
            var query = new FlexibleQuery()
                        .AddToChain(OnlineQuery.Default)
                        .AddToChain(GetIdentifier())
                        .AddProperty(new Property("type", type.GetAttributeOfSelected <OriginalNameAttribute>().OriginalName))
                        .AddProperty(new Property("count", count));

            return(await Get <TopResponse>("/database/getGJScores20.php", query));
        }
 public ActionResult Edit([Bind(Include = "TopTypesID,TopTypeName")] TopType topType)
 {
     if (ModelState.IsValid)
     {
         db.Entry(topType).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(topType));
 }
        public ActionResult Create([Bind(Include = "TopTypesID,TopTypeName")] TopType topType)
        {
            if (ModelState.IsValid)
            {
                db.TopTypes.Add(topType);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(topType));
        }
        public override void WriteTop(double limit, double offset, TopType topType)
        {
            if (this.StatementDepth == 1)
            {
                if (topType == TopType.Percent)
                {
                    throw new NotSupportedException("This provider does not support the top percent syntax");
                }

                this._limits = (int)limit;
                this._offset = (int)offset;
            }
        }
Example #14
0
        protected override DBDatabaseProperties GetPropertiesFromDb(DBDatabase forDatabase)
        {
            string statement = "SELECT  SERVERPROPERTY('productversion') AS [version], SERVERPROPERTY ('productlevel') AS [level], SERVERPROPERTY ('edition') AS [edition]";
            DBDatabaseProperties props;

            System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(forDatabase.ConnectionString);
            string dbname = builder.InitialCatalog;

            if (string.IsNullOrEmpty(dbname))
            {
                dbname = builder.DataSource;
            }


            TypedOperationCollection unsupported = new TypedOperationCollection();

            this.FillNotSupported(unsupported);

            DBSchemaInformation info = DBSchemaInformation.CreateDefault();

            TopType[] tops          = new TopType[] { TopType.Count, TopType.Percent, TopType.Range };
            bool      caseSensitive = false;
            string    level         = "?";
            string    edition       = "?";
            Version   version       = new Version(1, 0);

            forDatabase.ExecuteRead(statement, reader =>
            {
                if (reader.Read())
                {
                    level   = reader["level"].ToString();
                    edition = reader["edition"].ToString();
                    version = new Version(reader["version"].ToString());
                }
            });

            props = new DBDatabaseProperties(dbname, "SQL Server",
                                             level,
                                             edition,
                                             "@{0}",
                                             version,
                                             SupportedSchemaOptions.All,
                                             caseSensitive,
                                             DBParameterLayout.Named,
                                             SUPPORTED_TYPES, tops,
                                             info,
                                             unsupported);
            props.TemporaryTableConstruct = "";
            props.TemporaryTablePrefix    = "#";
            return(props);
        }
Example #15
0
    public HexGrid(int points, float size, TopType type)
    {
        mType               = type;
        mSize               = size;
        mEdgePoints         = points;
        mDepthBoundaryLeft  = -points * 3;
        mDepthBoundaryRight = -points;

        Width  = points * 2 + 1;
        Height = points * 2 + 1;

        //Constants
        mSqrt3 = Mathf.Sqrt(3f);
    }
        // GET: TopTypes/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TopType topType = db.TopTypes.Find(id);

            if (topType == null)
            {
                return(HttpNotFound());
            }
            return(View(topType));
        }
Example #17
0
        protected static string TopTypeToParam(TopType type)
        {
            switch (type)
            {
            case TopType.Overall:       return("overall");

            case TopType.ThreeMonth:    return("3month");

            case TopType.SixMonth:      return("6month");

            case TopType.TwelveMonth:   return("12month");
            }
            return(null);
        }
Example #18
0
        private List <User> OrderUsersByTop(List <User> list, TopType type)
        {
            switch (type)
            {
            default:
            case TopType.Level:
                return(list.OrderByDescending(x => x.Level).ToList());

            case TopType.ScCnt:
                return(list.OrderByDescending(x => x.ScCnt).ToList());

            case TopType.TcCnt:
                return(list.OrderByDescending(x => x.TcCnt).ToList());

            case TopType.Posts:
                return(list.OrderByDescending(x => x.MessagesCnt).ToList());

            case TopType.PostsMonthly:
                return(list.Where(x => x.IsCharCounterActive()).OrderByDescending(x => x.MessagesCnt - x.MessagesCntAtDate).ToList());

            case TopType.PostsMonthlyCharacter:
                return(list.Where(x => x.IsCharCounterActive() && x.SendAnyMsgInMonth()).OrderByDescending(x => x.CharacterCntFromDate / (x.MessagesCnt - x.MessagesCntAtDate)).ToList());

            case TopType.Commands:
                return(list.OrderByDescending(x => x.CommandsCnt).ToList());

            case TopType.Card:
                return(list.OrderByDescending(x => x.GameDeck.GetStrongestCardPower()).ToList());

            case TopType.Cards:
                return(list.OrderByDescending(x => x.GameDeck.Cards.Count).ToList());

            case TopType.CardsPower:
                return(list.OrderByDescending(x => x.GameDeck.Cards.Sum(c => c.GetCardPower())).ToList());

            case TopType.Karma:
                return(list.OrderByDescending(x => x.GameDeck.Karma).ToList());

            case TopType.KarmaNegative:
                return(list.OrderBy(x => x.GameDeck.Karma).ToList());

            case TopType.Pvp:
                return(list.Where(x => x.GameDeck.GlobalPVPRank > 0).OrderByDescending(x => x.GameDeck.GlobalPVPRank).ToList());

            case TopType.PvpSeason:
                return(list.Where(x => x.IsPVPSeasonalRankActive() && x.GameDeck.SeasonalPVPRank > 0).OrderByDescending(x => x.GameDeck.SeasonalPVPRank).ToList());
            }
        }
Example #19
0
        public static string Name(this TopType type)
        {
            switch (type)
            {
            default:
            case TopType.Level:
                return("doświadczenia");

            case TopType.ScCnt:
                return("SC");

            case TopType.TcCnt:
                return("TC");

            case TopType.Posts:
                return("liczby wiadomości");

            case TopType.PostsMonthly:
                return("liczby wiadomości w miesiącu");

            case TopType.PostsMonthlyCharacter:
                return("liczby liczących się znaków na wiadomość");

            case TopType.Commands:
                return("liczby użytych poleceń");

            case TopType.Card:
                return("mocy karty");

            case TopType.Cards:
                return("liczby kart");

            case TopType.CardsPower:
                return("mocy kart");

            case TopType.Karma:
            case TopType.KarmaNegative:
                return("karmy");

            case TopType.Pvp:
                return("globalnego PVP");

            case TopType.PvpSeason:
                return("miesięcznego PVP");
            }
        }
Example #20
0
        public static string GetViewValueForTop(this User u, TopType type)
        {
            switch (type)
            {
            default:
            case TopType.Level:
                return($"{u.Level} **LVL** ({u.ExpCnt} **EXP**)");

            case TopType.ScCnt:
                return($"{u.ScCnt} **SC**");

            case TopType.TcCnt:
                return($"{u.TcCnt} **TC**");

            case TopType.Posts:
                return($"{u.MessagesCnt}");

            case TopType.PostsMonthly:
                return($"{u.MessagesCnt - u.MessagesCntAtDate}");

            case TopType.PostsMonthlyCharacter:
                return($"{u.CharacterCntFromDate / (u.MessagesCnt - u.MessagesCntAtDate)}");

            case TopType.Commands:
                return($"{u.CommandsCnt}");

            case TopType.Card:
                return(u.GameDeck.Cards.OrderByDescending(x => x.GetCardPower())?.FirstOrDefault()?.GetString(false, false, true) ?? "---");

            case TopType.Cards:
                return($"{u.GameDeck.Cards.Count}");

            case TopType.CardsPower:
                return(u.GameDeck.GetCardCountStats());

            case TopType.Karma:
            case TopType.KarmaNegative:
                return($"{u.GameDeck.Karma}");

            case TopType.Pvp:
                return($"{u.GameDeck.GlobalPVPRank}");

            case TopType.PvpSeason:
                return($"{u.GameDeck.SeasonalPVPRank}");
            }
        }
        public override void WriteTop(double count, double offset, TopType topType)
        {
            if (Array.IndexOf <TopType>(this.DatabaseProperties.SupportedTopTypes, topType) < 0)
            {
                throw new NotSupportedException("The top type '" + topType.ToString() + "' is not supported by this database");
            }

            if (this.StatementDepth == 1)
            {
                this._limits = (int)count;

                if (topType == TopType.Range)
                {
                    _offset = (int)offset;
                }
            }
        }
Example #22
0
        public List <string> BuildListView(List <User> list, TopType type, SocketGuild guild)
        {
            var view = new List <string>();

            foreach (var user in list)
            {
                var bUsr = guild.GetUser(user.Id);
                if (bUsr == null)
                {
                    continue;
                }

                view.Add($"{bUsr.Mention}: {user.GetViewValueForTop(type)}");
            }

            return(view);
        }
Example #23
0
        public static IEnumerable <Point> GetNeighbors(this Point point, TopType topologyType = TopType.N8)
        {
            switch (topologyType)
            {
            case TopType.N4:
            case TopType.N4AndMe:
                yield return(new Point(point.X + 0, point.Y - 1));

                yield return(new Point(point.X + 1, point.Y + 0));

                yield return(new Point(point.X + 0, point.Y + 1));

                yield return(new Point(point.X - 1, point.Y + 0));

                if (topologyType == TopType.N8AndMe)
                {
                    yield return(point);
                }
                break;

            case TopType.N8:
            case TopType.N8AndMe:
                yield return(new Point(point.X - 1, point.Y - 1));

                yield return(new Point(point.X + 0, point.Y - 1));

                yield return(new Point(point.X + 1, point.Y - 1));

                yield return(new Point(point.X + 1, point.Y + 0));

                yield return(new Point(point.X + 1, point.Y + 1));

                yield return(new Point(point.X + 0, point.Y + 1));

                yield return(new Point(point.X - 1, point.Y + 1));

                yield return(new Point(point.X - 1, point.Y + 0));

                if (topologyType == TopType.N8AndMe)
                {
                    yield return(point);
                }
                break;
            }
        }
Example #24
0
        protected override DBDatabaseProperties GetPropertiesFromDb(DBDatabase forDatabase)
        {
            TypedOperationCollection unsupported = new TypedOperationCollection();

            this.FillNotSupported(unsupported);

            DBSchemaInformation info = DBSchemaInformation.CreateDefault();

            TopType[] tops          = new TopType[] { TopType.Count, TopType.Percent, TopType.Range };
            bool      caseSensitive = false;
            string    level         = "?";
            string    edition       = "?";
            string    database      = "?";
            Version   version       = new Version(1, 0);

            string statement = "SELECT  SERVERPROPERTY('productversion') AS [version], SERVERPROPERTY ('productlevel') AS [level], SERVERPROPERTY ('edition') AS [edition], DB_NAME() As [currentdatabase]";

            forDatabase.ExecuteRead(statement, reader =>
            {
                if (reader.Read())
                {
                    level    = reader["level"].ToString();
                    edition  = reader["edition"].ToString();
                    version  = new Version(reader["version"].ToString());
                    database = reader["currentdatabase"].ToString();
                }
            });

            DBDatabaseProperties props = new DBDatabaseProperties(database, "SQL Server",
                                                                  level,
                                                                  edition,
                                                                  "?",
                                                                  version,
                                                                  SupportedSchemaOptions.All,
                                                                  caseSensitive,
                                                                  DBParameterLayout.Positional,
                                                                  SUPPORTED_TYPES, tops,
                                                                  info,
                                                                  unsupported);

            props.TemporaryTableConstruct = "";
            props.TemporaryTablePrefix    = "#";
            return(props);
        }
        public static Vector2[] PointsAboutEllipse(int numIncrements, TopType topType, float verticalSquash = 1f)
        {
            var corners = new Vector2[numIncrements];

            float aOffset = 0;

            if (topType == TopType.Flat)
            {
                aOffset = 0.5f;
            }

            for (int inc = 0; inc < numIncrements; inc++)
            {
                float theta = ((2f * Mathf.PI) * ((inc + aOffset) / (float)numIncrements));

                corners[inc] = new Vector2(Mathf.Cos(theta), Mathf.Sin(theta) * verticalSquash);
            }

            return(corners);
        }
Example #26
0
 public virtual TQueryType Top(int count, TopType topType)
 {
     top.Count   = count;
     top.TopType = topType;
     return((TQueryType)this);
 }
Example #27
0
 public List <User> GetTopUsers(List <User> list, TopType type)
 => GetRangeMax(OrderUsersByTop(list, type), 50);
Example #28
0
        /// <summary>
        /// Returns code with info of filled neighbors. Digit is 1 if cell is filled, 0 - not filled. Digit positions:
        ///
        /// 0 1 2
        /// 7 X 3
        /// 6 5 4   - for 8-connected topology
        ///
        ///   0
        /// 3 X 1
        ///   2     - for 4-connected topology
        ///
        /// <remark>For example: if you use 4-connected topology and top cell and bottom cell is filled, then method returns code 1010</remark>>
        /// </summary>
        public static int GetFilledNeighborsCode(this Point point, Func <Point, bool> isFilled = null, TopType topologyType = TopType.N8)
        {
            var res = 0;

            foreach (var p in point.GetNeighbors(topologyType))
            {
                res *= 10;
                if ((isFilled ?? IsFilled)(p))
                {
                    res = res + 1;
                }
            }

            return(res);
        }
Example #29
0
 public static IEnumerable <Point> GetOutsideBorder(this IEnumerable <Point> cells, Func <Point, bool> isFilled = null, TopType topologyType = TopType.N8)
 {
     return(cells.Where(c => c.IsOutsideBorder(isFilled ?? IsFilled, topologyType)));
 }
Example #30
0
 public static bool IsOutsideBorder(this Point point, Func <Point, bool> isFilled = null, TopType topologyType = TopType.N8)
 {
     return(!(isFilled ?? IsFilled)(point) && point.GetNeighbors(topologyType).Count(isFilled ?? IsFilled) > 0);
 }