Exemple #1
0
        /// <summary>
        /// 获取自动增加后的编号
        /// </summary>
        /// <param name="idTypes">自动增加编号类型</param>
        /// <returns>自动增加后的编号</returns>
        public static long GetIncrementedID(IdTypes idTypes)
        {
            long icmetId;
            try
            {
                MongoDatabase mgDb = MongoDBHelper.MongoDB;
                MongoCollection<IncrementIds> mgColt;
                MongoCursor<IncrementIds> mgCurs;
                List<IncrementIds> listIcmetID = new List<IncrementIds>();
                IncrementIds icmetIDs = new IncrementIds();

                mgColt = mgDb.GetCollection<IncrementIds>(IncrementIds.GetCollectionName());
                mgCurs = mgColt.FindAll().SetSortOrder(new SortByDocument("IcmetId", -1)).SetLimit(1); //按字段降序取一条记录
                listIcmetID.AddRange(mgCurs);
                if (listIcmetID.Count == 1)
                {
                    icmetIDs = listIcmetID[0];
                    icmetId = icmetIDs.IcmetId;
                }
                else icmetId = -1;

                return icmetId;
            }
            catch (System.Exception err)
            {
                throw new CBB.ExceptionHelper.OperationException(CBB.ExceptionHelper.ErrType.SystemErr,
                    CBB.ExceptionHelper.ErrNo.DBOperationError, err);
            }
        }
Exemple #2
0
        public static int GetId(IdTypes type)
        {
            switch (type)
            {
            case IdTypes.Answer:
                return(_answerId++);

            case IdTypes.Method:
                return(_methodId++);

            case IdTypes.Parameter:
                return(_parameterId++);

            case IdTypes.Property:
                return(_propertyId++);

            case IdTypes.Question:
                return(_questionId++);

            case IdTypes.Reference:
                return(_referenceId++);

            case IdTypes.Subject:
                return(_subjectId++);
            }

            throw new Exception("You have broke IdGenerator. I have no idea how");
        }
 public BanListViewModel(BanList banList, IdTypes idTypes, BanTypes banTypes, Action<Action> synchronousInvoker)
     : base(synchronousInvoker)
 {
     BanList = banList;
     IdTypes = idTypes;
     BanTypes = banTypes;
     this.BanListItems =
         new ObservableCollection<BanListItemViewModel>(
             BanList.Select(x => new BanListItemViewModel(x, synchronousInvoker)));
     this.BanListItems.CollectionChanged += BanListItemsOnCollectionChanged;
 }
Exemple #4
0
 public GenerateProperties(string lookupPrefix     = "", string tablePrefix = "", string schemaName = "dbo", string idName = "ID", string fkPrefix = "FK",
                           IdTypes idType          = IdTypes.Identity, InheritanceStrategy strategy = InheritanceStrategy.SplitClassHierarchies, bool serializeFields = false,
                           bool restrictToAssembly = true)
 {
     this.LookupPrefix       = lookupPrefix;
     this.TablePrefix        = tablePrefix;
     this.SchemaName         = schemaName;
     this.IdName             = idName;
     this.FkPrefix           = fkPrefix;
     this.IdType             = idType;
     this.Strategy           = strategy;
     this.IncludeFields      = serializeFields;
     this.RestrictToAssembly = restrictToAssembly;
 }
Exemple #5
0
        /// <summary>
        /// 自动递增编号并返回自动增加后的编号
        /// </summary>
        /// <param name="idTypes">自动增加编号类型</param>
        /// <returns>自动增加后的编号</returns>
        public static long IncrementingID(IdTypes idTypes)
        {
            long icmetId;
            try
            {
                //initialIncrementIdValue(idTypes, 9999); //初始化自动增加编号的种子初始值

                MongoDatabase mgDB = MongoDBHelper.MongoDB;
                MongoCollection<IncrementIds> mgClect = mgDB.GetCollection<IncrementIds>(IncrementIds.GetCollectionName());
                IMongoQuery iMgQury = Query.EQ("IdTypes", idTypes);
                IMongoSortBy iMgStBy = SortBy.Descending(new string[] { "IcmetId" }); //按字段降序
                IMongoUpdate iMgUpdt = Update.Inc("IcmetId", 1); //对指定字段增减数值操作
                //因为findAndModify是一个方法完成更新查找两个操作,所以具有原子性,多线程不会冲突。
                FindAndModifyResult result = mgClect.FindAndModify(iMgQury, iMgStBy, iMgUpdt);
                icmetId = GetIncrementedID(idTypes); //获取自动增加后的编号
                return icmetId;
            }
            catch (System.Exception err)
            {
                throw new CBB.ExceptionHelper.OperationException(CBB.ExceptionHelper.ErrType.SystemErr,
                    CBB.ExceptionHelper.ErrNo.DBOperationError, err);
            }
        }
Exemple #6
0
        /// <summary>
        /// 初始化自动增加编号的种子初始值
        /// </summary>
        /// <param name="idTypes">自动增加编号类型</param>
        /// <param name="incrementIdValue">递增种子值</param>
        /// <returns>操作状态</returns>
        public static CBB.ExceptionHelper.OperationResult initialIncrementIdValue(IdTypes idTypes, long incrementIdValue)
        {
            MongoDatabase mgDb = MongoDBHelper.MongoDB;
            MongoCollection<IncrementIds> mgColt = mgDb.GetCollection<IncrementIds>(IncrementIds.GetCollectionName());
            IncrementIds icmetIds = new IncrementIds();
            icmetIds.IdTypes = idTypes;
            icmetIds.IcmetId = incrementIdValue;
            mgColt.Insert(icmetIds);

            return new CBB.ExceptionHelper.OperationResult(true);
        }
        public UpdateItemUIIn(GameServerPacket packet)
        {
            BinaryReader br = new BinaryReader(new MemoryStream(packet.Data));

            Id = (IdTypes)br.ReadByte();
        }
 public UpdateItemUIIn(GameServerPacket packet)
 {
     BinaryReader br = new BinaryReader(new MemoryStream(packet.Data));
     Id = (IdTypes)br.ReadByte();
 }