Esempio n. 1
0
        public static int Find(EnumSaveType SaveT, string AppID, string Name)
        {
            int nT = (int)SaveT;

            using (DBIDBuilderContext db = new DBIDBuilderContext()) {
                return(db.IDSeedName.Where(T => T.AppID == AppID).Where(T => T.Name == Name).Where(T => T.DurableTye == nT)
                       .Select(T => T.ID).FirstOrDefault());
            }
        }
Esempio n. 2
0
        public static void UseIDServiceLocal(this IServiceCollection services, IConfiguration Configuration)
        {
            string dbString       = Configuration.GetConnectionString("DBIDService");
            var    optionsBuilder = new DbContextOptionsBuilder <DBIDBuilderContext>();

            optionsBuilder.UseSqlServer(dbString);
            DBIDBuilderContext.InitDefaultOp(optionsBuilder.Options);
            services.AddSingleton <IDCreaterPool>();
            services.TryAddSingleton <IIDCreaterPool>(serviceProvider => serviceProvider.GetRequiredService <IDCreaterPool>());
        }
Esempio n. 3
0
 void initseed()
 {
     using (DBIDBuilderContext context = new DBIDBuilderContext()) {
         IDSeed idS = context.IDSeed.Find(this.ID);
         Seed            = new IDSeed();
         Seed.DayCount   = idS.DayCount;
         Seed.ID         = this.ID;
         Seed.TotalCount = idS.TotalCount;
         Seed.SeedDay    = idS.SeedDay;
     }
     ///初始化增量
 }
 public void Save()
 {
     using (DBIDBuilderContext db = new DBIDBuilderContext())
     {
         IDSeed seedDB = db.IDSeed.Find(this.Seed.ID);
         seedDB.DayCount    = this.Seed.DayCount;
         seedDB.RefreshTime = DateTime.Now;
         seedDB.SeedDay     = this.Seed.SeedDay;
         seedDB.TotalCount  = this.Seed.TotalCount;
         db.Entry <IDSeed>(seedDB).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
         db.SaveChanges();
     }
 }
Esempio n. 5
0
        protected override int NextTotal()
        {
            int nid = 0;

            using (DBIDBuilderContext context = new DBIDBuilderContext()) {
                IDSeed idS = context.IDSeed.Find(this.ID);

                idS.TotalCount += 1;
                nid             = idS.TotalCount;
                context.Entry <IDSeed>(idS).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                context.SaveChanges();
            }
            return(nid);
        }
Esempio n. 6
0
        public void Save()
        {
            if (nQueueCount == 0)
            {
                return;//
            }
            int nAdd = nQueueCount;

            using (DBIDBuilderContext db = new DBIDBuilderContext()) {
                IDSeed seedDB = db.IDSeed.Find(this.Seed.ID);
                seedDB.DayCount += nAdd;
                db.Entry <IDSeed>(seedDB).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                db.SaveChanges();
            }
            nQueueCount -= nAdd;
        }
Esempio n. 7
0
        protected void SettingYesDay(DBIDBuilderContext context, int ID, int Count)
        {
            IDCounter ic = context.IDCounter.Find(ID);

            if (ic == null)
            {
                return;
            }
            ic.Count7 = ic.Count6;
            ic.Count6 = ic.Count5;
            ic.Count5 = ic.Count4;
            ic.Count4 = ic.Count3;
            ic.Count3 = ic.Count2;
            ic.Count2 = ic.Count1;
            ic.Count1 = Count;
            context.Entry <IDCounter>(ic).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
        }
Esempio n. 8
0
        static int AddCore(int SaveT, string AppID, string Name)
        {
            int id = 0;

            using (DBIDBuilderContext db = new DBIDBuilderContext()) {
                id = db.IDSeedName.Where(T => T.AppID == AppID).Where(T => T.Name == Name)
                     .Where(T => T.DurableTye == SaveT).Select(T => T.ID).FirstOrDefault();
                if (id == 0)
                {
                    IDSeed masterSeed = db.IDSeed.Find(MasterID);
                    if (masterSeed == null)
                    {
                        throw new KeyNotFoundException("系统数据丢失或异常,无master key");
                    }
                    masterSeed.TotalCount += 1;
                    id = masterSeed.TotalCount;

                    db.Entry <IDSeed>(masterSeed).State = Microsoft.EntityFrameworkCore.EntityState.Modified;

                    IDSeedName seedName = new IDSeedName();
                    seedName.AppID      = AppID;
                    seedName.DurableTye = SaveT;
                    seedName.Name       = Name;
                    seedName.ID         = id;
                    db.IDSeedName.Add(seedName);

                    IDSeed seed = new IDSeed();
                    seed.DayCount    = 0;
                    seed.ID          = id;
                    seed.RefreshTime = DateTime.Now;
                    seed.SeedDay     = DateTime.Now.Date;
                    seed.TotalCount  = 0;
                    db.IDSeed.Add(seed);


                    IDCounter seedCount = new IDCounter();
                    seedCount.ID = id;
                    db.IDCounter.Add(seedCount);

                    db.SaveChanges();
                }
            }
            return(id);
        }
Esempio n. 9
0
        protected override int Next()
        {
            int nid = 0;

            using (DBIDBuilderContext context = new DBIDBuilderContext()) {
                IDSeed idS = context.IDSeed.Find(this.ID);
                if (idS.SeedDay.ToString("yyMMdd") != DateTime.Now.ToString("yyMMdd"))
                {
                    idS.SeedDay     = DateTime.Now.Date;
                    idS.RefreshTime = DateTime.Now;
                    base.SettingYesDay(context, this.ID, idS.DayCount);
                    idS.DayCount = 0;
                }
                idS.DayCount   += 1;
                idS.TotalCount += 1;
                nid             = idS.DayCount;
                context.Entry <IDSeed>(idS).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                context.SaveChanges();
            }
            return(nid);
        }
Esempio n. 10
0
 protected override int Next()
 {
     if (Seed.SeedDay.ToString("yyMMdd") != DateTime.Now.ToString("yyMMdd"))
     {
         Save();
         using (DBIDBuilderContext db = new DBIDBuilderContext()) {
             IDSeed seedDB = db.IDSeed.Find(this.Seed.ID);
             Seed.RefreshTime = seedDB.RefreshTime = DateTime.Now;
             Seed.SeedDay     = seedDB.SeedDay = DateTime.Now.Date;
             base.SettingYesDay(db, this.ID, seedDB.DayCount);
             Seed.DayCount = seedDB.DayCount = 0;
             db.Entry <IDSeed>(seedDB).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
             db.SaveChanges();
         }
         nQueueCount = 0;
     }
     Seed.DayCount   += 1;
     Seed.TotalCount += 1;
     nQueueCount     += 1;
     return(Seed.DayCount);
 }