public async Task Initial(string connectionString) { try { DbContextOptionsBuilder <StickyDbContext> optionsBuilder = new DbContextOptionsBuilder <StickyDbContext>(); optionsBuilder.UseSqlServer(connectionString); using (StickyDbContext _db = new StickyDbContext(optionsBuilder.Options)) { var newdatabase = _redisCache.GetDatabase(RedisDatabases.TextTemplateV2); var list = await _db.ProductTextTemplates.GroupBy(c => c.SegmentId).ToListAsync(); foreach (var item in list) { await newdatabase.KeyDeleteAsync(item.Key.ToString()); foreach (var zitem in item.ToList()) { await newdatabase.HashSetAsync(item.Key.ToString(), zitem.Template + "%%%" + (zitem.MinPrice ?? 0) + "%%%" + (zitem.MaxPrice ?? 0), zitem.Template + "%%%" + (zitem.MinPrice ?? 0) + "%%%" + (zitem.MaxPrice ?? 0)); } } } } catch { } }
public async Task Initial(string connectionString) { DbContextOptionsBuilder <StickyDbContext> optionsBuilder = new DbContextOptionsBuilder <StickyDbContext>(); optionsBuilder.UseSqlServer(connectionString); using (StickyDbContext _db = new StickyDbContext(optionsBuilder.Options)) { var hosts = await _db.Hosts.Where(c => c.HostValidated == true).ToListAsync(); IDatabase redisdb = new RedisCache().GetDatabase(RedisDatabases.ResponseTiming); foreach (var item in hosts) { var keyExists = await redisdb.KeyExistsAsync(item.Id.ToString()); if (!keyExists) { continue; } item.PageValidated = (await _redisCache.GetDatabase(RedisDatabases.ResponseTiming).HashGetAsync(item.Id.ToString(), "Page")) == "1"; item.CategoryValidated = (await _redisCache.GetDatabase(RedisDatabases.ResponseTiming).HashGetAsync(item.Id.ToString(), "Product")) == "1"; item.AddToCardValidated = (await _redisCache.GetDatabase(RedisDatabases.ResponseTiming).HashGetAsync(item.Id.ToString(), "Cart")) == "1"; item.FinalizeValidated = (await _redisCache.GetDatabase(RedisDatabases.ResponseTiming).HashGetAsync(item.Id.ToString(), "Buy")) == "1"; item.FavValidated = (await _redisCache.GetDatabase(RedisDatabases.ResponseTiming).HashGetAsync(item.Id.ToString(), "Fav")) == "1"; } await _db.SaveChangesAsync(); } }
public async Task Initial(string connectionString) { DbContextOptionsBuilder <StickyDbContext> optionsBuilder = new DbContextOptionsBuilder <StickyDbContext>(); optionsBuilder.UseSqlServer(connectionString); using (StickyDbContext _db = new StickyDbContext(optionsBuilder.Options)) { var segmentDatabase = _redisCache.GetDatabase(RedisDatabases.CacheData); await segmentDatabase.KeyDeleteAsync("Segments"); var SegmentList = await _db.Segments.Where(c => !c.Paused).ToListAsync(); foreach (var item in SegmentList) { await segmentDatabase.HashSetAsync("Segments", item.Id.ToString(), Newtonsoft.Json.JsonConvert.SerializeObject(new RedisSegment() { ActionExtra = item.ActionExtra, ActionId = item.ActionId, AudienceId = item.AudienceId, HostId = item.HostId, AudienceExtra = item.AudienceExtra, Id = item.Id, })); } await _db.SaveChangesAsync(); } }
public async Task FlushToSql(string connectionString) { DbContextOptionsBuilder <StickyDbContext> optionsBuilder = new DbContextOptionsBuilder <StickyDbContext>(); optionsBuilder.UseSqlServer(connectionString); var hosts = new List <int>(); using (var _db = new StickyDbContext(optionsBuilder.Options)) { hosts = await _db.Hosts.Where(x => x.HostValidated).Select(c => c.Id).ToListAsync(); } var database = _redisCache.GetDatabase(RedisDatabases.Categories); foreach (var hostId in hosts) { var allkeys = await database.HashGetAllAsync(hostId.ToString()); if (allkeys.Count() != 0) { DataTable table = new DataTable(); table.Columns.Add(new DataColumn("HostId", typeof(int))); table.Columns.Add(new DataColumn("Category", typeof(string))); table.Columns.Add(new DataColumn("Counter", typeof(long))); foreach (var price in allkeys) { DataRow row = table.NewRow(); row["HostId"] = hostId; row["Category"] = price.Name; row["Counter"] = long.Parse(price.Value); table.Rows.Add(row); } try { using (SqlConnection sqlConnection = new SqlConnection(connectionString)) { using (SqlCommand sqlCommand = new SqlCommand("UpdateCategories", sqlConnection)) { sqlCommand.CommandType = CommandType.StoredProcedure; sqlCommand.Parameters.AddWithValue("@Categories", table); await sqlConnection.OpenAsync(); sqlCommand.CommandTimeout = 60000; await sqlCommand.ExecuteNonQueryAsync(); sqlConnection.Close(); } } await database.KeyDeleteAsync(hostId.ToString()); } catch { } } } }
public async Task Initial(string connectionString) { try { DbContextOptionsBuilder <StickyDbContext> optionsBuilder = new DbContextOptionsBuilder <StickyDbContext>(); optionsBuilder.UseSqlServer(connectionString); using (StickyDbContext _db = new StickyDbContext(optionsBuilder.Options)) { var hosts = await _db.Hosts.Where(c => c.HostValidated == true).Select(c => new HostWithoutRelation() { Id = c.Id, AddToCardId = c.AddToCardId, LogoAddress = c.LogoAddress, AddToCardValidated = c.AddToCardValidated, CategoryValidated = c.CategoryValidated, FinalizePage = c.FinalizePage, FinalizeValidated = c.FinalizeValidated, HashCode = c.HashCode, Host = c.HostAddress, ProductImageHeight = c.ProductImageHeight, ProductImageWidth = c.ProductImageWidth, HostPriority = c.HostPriority, HostValidated = c.HostValidated, LogoOtherData = c.LogoOtherData, PageValidated = c.PageValidated, ProductValidated = c.ProductValidated, ProductValidityId = c.ProductValidityId, UserId = c.UserId, UserValidityId = c.UserValidityId, ValidatingHtmlAddress = c.ValidatingHtmlAddress }).ToListAsync(); var db = _redisCache.GetDatabase(RedisDatabases.CacheData); await db.KeyDeleteAsync("HostId"); await db.KeyDeleteAsync("Address"); foreach (var item in hosts) { await db.HashSetAsync("HostId", item.Id.ToString(), Newtonsoft.Json.JsonConvert.SerializeObject(item)); } foreach (var item in hosts) { await db.HashSetAsync("Address", item.Host.ToLower(), Newtonsoft.Json.JsonConvert.SerializeObject(item)); } } } catch { } }
#pragma warning disable CA1822 // Mark members as static public async Task Initial(string connectionString) #pragma warning restore CA1822 // Mark members as static { DbContextOptionsBuilder <StickyDbContext> optionsBuilder = new DbContextOptionsBuilder <StickyDbContext>(); optionsBuilder.UseSqlServer(connectionString); using (StickyDbContext _db = new StickyDbContext(optionsBuilder.Options)) { var partners = await _db.Partners.Where(c => c.Verified == true).ToListAsync(); IDatabase db = new RedisCache().GetDatabase(RedisDatabases.CacheData); foreach (var item in partners) { await db.HashSetAsync("Partners", item.ParnerHash, Newtonsoft.Json.JsonConvert.SerializeObject(item)); } } }
public TextTemplateManager(StickyDbContext db) { _db = db; }
public SegmentManager(StickyDbContext db) { _db = db; }
public ActionTypeManager(StickyDbContext db) { _db = db; }
public HostManager(StickyDbContext db, IOptions <DashboardAPISetting> options, IErrorLogger errorLogger) { _errorLogger = errorLogger; _db = db; _setting = options.Value; }
public HostDataExtractor(StickyDbContext db, IOptions <DashboardAPISetting> options, ICategoryFinder categoryFinder) { _categoryFinder = categoryFinder; _setting = options.Value; _db = db; }
public AudienceTypeManager(StickyDbContext db) { _db = db; }