示例#1
0
        public LogItem[] GetItems(
            NpgsqlConnection connection, CriteriaType criteriaType, DateTime criteria, int maxCount, bool includeBytes)
        {
            IWhereOp whereOp;
            bool     asc;

            switch (criteriaType)
            {
            case CriteriaType.DownFromInfinity:
                whereOp = null;
                asc     = false;
                break;

            case CriteriaType.DownFrom:
                whereOp = new Lt(DbStr.Time, criteria.Ticks);
                asc     = false;
                break;

            case CriteriaType.DownFromOrEqual:
                whereOp = new Le(DbStr.Time, criteria.Ticks);
                asc     = false;
                break;

            case CriteriaType.UpFromInfinity:
                whereOp = null;
                asc     = true;
                break;

            case CriteriaType.UpFrom:
                whereOp = new Gt(DbStr.Time, criteria.Ticks);
                asc     = true;
                break;

            case CriteriaType.UpFromOrEqual:
                whereOp = new Ge(DbStr.Time, criteria.Ticks);
                asc     = true;
                break;

            default:
                throw new NotSupportedException("CriteriaType " + criteriaType);
            }
            var columns = includeBytes ? _columns : _columnsWithoutBytes;
            var query   = _npgQueryHelper.Select(
                _tableName, columns, whereOp, new[] { DbStr.Time }, asc, Math.Min(maxCount, MaxItemsToRetrieve));
            var alarms = _npgHelper.ExecuteReader(connection, query, reader =>
            {
                var i = new LogItem
                {
                    Time = reader.GetDateTimeFormTicks(0),
                    Text = reader.GetNullableString(1)
                };
                if (includeBytes)
                {
                    i.Bytes = reader.GetByteArray(2);
                }
                return(i);
            });

            return(asc ? alarms.Reverse().ToArray() : alarms);
        }
        /// <summary>
        /// Add a &lt;Gt>-Tag
        /// </summary>
        /// <returns><see cref="BaseCoreComparingGroupElement{T}"/></returns>
        public static T Gt <T>(this T parent, Action <Gt> action)
            where T : BaseCoreComparingGroupElement <T>
        {
            var gt = new Gt();

            action(gt);
            parent.Childs.Add(gt);
            return(parent);
        }
示例#3
0
        public void learn(ISpiderElement element)
        {
            spiderLink link = element as spiderLink;

            if (link != null)
            {
                Gt.Add(link.url, link);
            }
        }
示例#4
0
        static IValidator Gt(object pValue, object pMin, string pFieldName, string pErrorMsg)
        {
            IValidator validator = new Gt()
            {
                Value     = pValue,
                Min       = pMin,
                ErrorMsg  = pErrorMsg,
                FieldName = pFieldName
            };

            return(validator);
        }
示例#5
0
        // Operator Comp
        public string Visit(Gt node)
        {
            var st       = "";
            var labelOne = GenerateLabel();
            var labelTwo = GenerateLabel();

            st += VisitChildren(node);
            st += tab(2) + "ble.un " + labelOne + "\n";
            st += tab(2) + "ldc.i4.0\n";
            st += tab(2) + "br " + labelTwo + "\n";
            st += tab(1) + labelOne + ":\n";
            st += tab(2) + "ldc.i4 42\n";
            st += tab(1) + labelTwo + ":\n";
            return(st);
        }
示例#6
0
        public User[] Get(NpgsqlConnection connection, CriteriaType criteriaType, string name, int count)
        {
            IWhereOp whereOp;
            bool     asc;

            switch (criteriaType)
            {
            case CriteriaType.DownFromInfinity:
                whereOp = null;
                asc     = true;
                break;

            case CriteriaType.DownFrom:
                whereOp = new Gt(DbStr.Name, name);
                asc     = true;
                break;

            case CriteriaType.DownFromOrEqual:
                whereOp = new Ge(DbStr.Name, name);
                asc     = true;
                break;

            case CriteriaType.UpFromInfinity:
                whereOp = null;
                asc     = false;
                break;

            case CriteriaType.UpFrom:
                whereOp = new Lt(DbStr.Name, name);
                asc     = false;
                break;

            case CriteriaType.UpFromOrEqual:
                whereOp = new Le(DbStr.Name, name);
                asc     = false;
                break;

            default:
                throw new NotSupportedException("CriteriaType " + criteriaType);
            }

            int      limit = Math.Min(count, MaxUsersToRetrieve);
            NpgQuery query = _npgQueryHelper.Select(
                DbStr.Users, _userColumns, whereOp, new[] { DbStr.Name }, asc, limit);
            var users = _npgHelper.ExecuteReader(connection, query, GetUser);

            return(asc ? users : users.Reverse().ToArray());
        }
示例#7
0
        public void Test_b_gt_5()
        {
            var fsa = new FieldSpec <int>("a");
            var fsb = new FieldSpec <int>("b");

            var store1 = TableStore.Create(fsa, fsb);

            var fa = store1.GetField(fsa);
            var fb = store1.GetField(fsb);

            var expr = new Gt <int>(fsb, 5);

            var(_, snapshot, test) = Table.Filter(Table.Create(store1), expr);

            var r1 = store1.Insert();

            r1.SetValue(fa, 0);
            r1.SetValue(fb, 5);

            var r2 = store1.Insert();

            r2.SetValue(fa, 1);
            r2.SetValue(fb, 6);

            var r3 = store1.Insert();

            r3.SetValue(fa, 2);
            r3.SetValue(fb, 7);

            Assert.Equal(new Array8[] { new Array8(1)
                                        {
                                            [0] = 1
                                        }, new Array8(1)
                                        {
                                            [0] = 2
                                        } }, snapshot());
            Assert.Empty(test(store1[0]));
            Assert.Equal(new Array8[] { new Array8(1)
                                        {
                                            [0] = 1
                                        } }, test(store1[1]));
            Assert.Equal(new Array8[] { new Array8(1)
                                        {
                                            [0] = 2
                                        } }, test(store1[2]));
        }
示例#8
0
        protected override bool ExecuteParent(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            EventHandlers.LogCommandUsed((CommandSender)sender, EventHandlers.FormatArguments(arguments, 0));
            StringBuilder ListBuilder = new StringBuilder();

            ListBuilder.Append("Here are the following enums you can use in commands:\n\nBreakType: ");
            foreach (BreakType Bt in Enum.GetValues(typeof(BreakType)))
            {
                ListBuilder.Append(Bt.ToString());
                ListBuilder.Append(" ");
            }
            ListBuilder.AppendLine();
            ListBuilder.Append("MoveType: ");
            foreach (MoveType Mt in Enum.GetValues(typeof(MoveType)))
            {
                ListBuilder.Append(Mt.ToString());
                ListBuilder.Append(" ");
            }
            ListBuilder.AppendLine();
            ListBuilder.Append("GrenadeType: ");
            foreach (GrenadeType Gt in Enum.GetValues(typeof(GrenadeType)))
            {
                ListBuilder.Append(Gt.ToString());
                ListBuilder.Append(" ");
            }
            ListBuilder.AppendLine();
            ListBuilder.Append("VectorAxis: ");
            foreach (VectorAxis Va in Enum.GetValues(typeof(VectorAxis)))
            {
                ListBuilder.Append(Va.ToString());
                ListBuilder.Append(" ");
            }
            ListBuilder.AppendLine();
            ListBuilder.Append("PositionModifier: ");
            foreach (PositionModifier Pm in Enum.GetValues(typeof(PositionModifier)))
            {
                ListBuilder.Append(Pm.ToString());
                ListBuilder.Append(" ");
            }
            string message = ListBuilder.ToString();

            ListBuilder.Clear();
            response = message;
            return(true);
        }
示例#9
0
        public bool checkData()
        {
            if (!checkNull(mnv.Text, " MaNV"))
            {
                mnv.Focus(); return(false);
            }
            if (!checkNull(tnv.Text, " TenNV"))
            {
                tnv.Focus(); return(false);
            }
            if (!checkNull(ns.Text, " Ngày Sinh"))
            {
                ns.Focus(); return(false);
            }
            if (!checkNull(noisinh.Text, " Nơi Sinh"))
            {
                noisinh.Focus(); return(false);
            }
            if (!checkNull(tamt.Text, " Tạm trú"))
            {
                tamt.Focus(); return(false);
            }
            if (!checkNull(qq.Text, " Quê Quán"))
            {
                qq.Focus(); return(false);
            }
            if (!checkNull(qt.Text, " Quốc Tịch"))
            {
                qt.Focus(); return(false);
            }
            if (!checkNull(dto.Text, " Dân tộc"))
            {
                dto.Focus(); return(false);
            }
            if (!checkNull(cmnd.Text, " CMND"))
            {
                cmnd.Focus(); return(false);
            }
            if (!checkNull(ngc.Text, " Ngày Cấp Cmnd"))
            {
                ngc.Focus(); return(false);
            }
            if (!checkNull(noic.Text, " Nơi cấp"))
            {
                noic.Focus(); return(false);
            }
            if (!checkNull(email.Text, " Email"))
            {
                email.Focus(); return(false);
            }
            if (!checkNull(sdt.Text, " SDT"))
            {
                sdt.Focus(); return(false);
            }
            if (!checkNull(phg.Text, " Phòng"))
            {
                phg.Focus(); return(false);
            }
            if (!checkNull(cv.Text, " Chúc vụ"))
            {
                cv.Focus(); return(false);
            }
            if (!checkNull(Gt.Text, " Giới Tính"))
            {
                Gt.Focus(); return(false);
            }


            DataConnection dc = new DataConnection();

            SqlConnection connect = dc.getConnect();

            connect.Open();
            string         sql  = "select MaNV from NhanVien Where MaNV='" + mnv.Text + "'";
            string         sql1 = "select MaPhong from PhongBan Where MaPhong='" + phg.Text + "'";
            string         sql2 = "select MaChucVu from ChucVu Where MaChucVu='" + cv.Text + "'";
            SqlDataAdapter da   = new SqlDataAdapter(sql, connect);
            DataTable      dt   = new DataTable();

            da.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                MessageBox.Show("MaNV đã tồn tại ", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            SqlDataAdapter da1 = new SqlDataAdapter(sql1, connect);
            DataTable      dt1 = new DataTable();

            da1.Fill(dt1);
            if (dt1.Rows.Count == 0)
            {
                MessageBox.Show("MaPhong chưa tồn tại ", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            SqlDataAdapter da2 = new SqlDataAdapter(sql2, connect);
            DataTable      dt2 = new DataTable();

            da2.Fill(dt2);
            if (dt2.Rows.Count == 0)
            {
                MessageBox.Show("MaChucVu chưa tồn tại ", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }
            if (Regex.IsMatch(tnv.Text, "[0-9]"))
            {
                MessageBox.Show(" Tên Nhân viên không hợp lệ", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tnv.Focus();
                return(false);
            }


            if (Regex.IsMatch(cmnd.Text, "[A-Za-z]") || cmnd.Text.Length != 9)
            {
                MessageBox.Show("CMND không hợp lệ", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cmnd.Focus();
                return(false);
            }


            if (Regex.IsMatch(sdt.Text, "[A-Za-z]") || sdt.Text.Length != 10)
            {
                MessageBox.Show("SDT không hợp lệ", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                sdt.Focus();
                return(false);
            }
            if (Gt.Text.ToUpper() == "NAM" || Gt.Text.ToUpper() == "NU")
            {
                return(true);
            }
            else
            {
                MessageBox.Show("Gioi tinh phải là Nam / nu", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            return(true);
        }
示例#10
0
        public Tuple <DateTime, double?[]>[] GetPage(int[] trendTagIds, CriteriaType criteriaType,
                                                     DateTime criteria, int maxCount)
        {
            IWhereOp whereOp;
            bool     asc;

            switch (criteriaType)
            {
            case CriteriaType.DownFromInfinity:
                whereOp = null;
                asc     = false;
                break;

            case CriteriaType.DownFrom:
                whereOp = new Lt(DbStr.Time, criteria.Ticks);
                asc     = false;
                break;

            case CriteriaType.DownFromOrEqual:
                whereOp = new Le(DbStr.Time, criteria.Ticks);
                asc     = false;
                break;

            case CriteriaType.UpFromInfinity:
                whereOp = null;
                asc     = true;
                break;

            case CriteriaType.UpFrom:
                whereOp = new Gt(DbStr.Time, criteria.Ticks);
                asc     = true;
                break;

            case CriteriaType.UpFromOrEqual:
                whereOp = new Ge(DbStr.Time, criteria.Ticks);
                asc     = true;
                break;

            default:
                throw new NotSupportedException("CriteriaType " + criteriaType);
            }

            var columns = new List <string>(trendTagIds.Length + 1)
            {
                DbStr.Time
            };

            columns.AddRange(trendTagIds.Select(GetColumnName));
            var columnsArr = columns.ToArray();
            int limit      = Math.Min(maxCount, MaxSamplesToRetrieve);
            var parameters = new List <NpgsqlParameter>();
            var queryTexts = new List <string>();

            for (var i = 0; i < TrendTableSelector.TablesCount; i++)
            {
                string queryText = _npgQueryHelper.Select(
                    parameters,
                    _tableName + "_" + i,
                    columnsArr,
                    whereOp,
                    ColumnsOfTime,
                    asc,
                    limit);
                queryTexts.Add(queryText);
            }

            NpgQuery query  = _npgQueryHelper.Union(parameters, queryTexts, ColumnsOfTime, asc, limit);
            var      result = _npgHelper.ExecuteReader(_connection, query, reader => {
                DateTime time = reader.GetDateTimeFormTicks(0);
                var values    = new double?[columns.Count - 1];
                for (var j = 1; j < columns.Count; j++)
                {
                    values[j - 1] = reader.GetNullableDouble(j);
                }
                return(new Tuple <DateTime, double?[]>(time, values));
            });

            return(asc ? result.Reverse().ToArray() : result);
        }
示例#11
0
 public void Visit(Gt node)
 {
     VisitChildren(node);
 }