private async void SalvarDatabase_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (Ip.Text != "" && Porta.Text != "" && Database.Text != "" && User.Text != "" && Senha.Password != "") { DBConfig dBConfig = new DBConfig { IP = Ip.Text, Database = Database.Text, User = User.Text, Senha = Senha.Password }; if (uint.TryParse(Porta.Text, out uint porta)) { dBConfig.Porta = porta; await new DBConfigDAO().Adicionar(dBConfig); await DbConfigLer(); } else { MessageBox.Show("Esse é mesmo um numero ?", "Kurosawa Dia - Alerta", MessageBoxButton.OK); } } else { MessageBox.Show("Acho que esqueceu de me dizer alguma coisa.", "Kurosawa Dia - Alerta", MessageBoxButton.OK); } }
public override List <DBHouse> ParseHouses(DBConfig config, string data) { var houses = new List <DBHouse>(); var resultJObject = JObject.Parse(data); if (resultJObject["content"] == null || resultJObject["content"]["roomInfos"] == null) { return(houses); } foreach (var room in resultJObject["content"]["roomInfos"]) { try { var housePrice = room["maxShowPrice"].ToObject <int>(); var lastPublishTime = GetPublishTime(room); string location = room["address"] != null ? room["address"].ToString() : room["title"].ToString(); var house = GetHouse(config.City, room, housePrice, lastPublishTime, location); houses.Add(house); } catch (Exception ex) { LogHelper.Error("Convert to House error", ex, room); } } return(houses); }
public bool TryLoad(string path, out DBConfig dBConfig, out string error) { error = null; dBConfig = null; try { if (!File.Exists(path)) { throw new Exception($"file not found : {path}"); } // Read File JsonTextReader reader = new JsonTextReader(new StringReader(File.ReadAllText(path))); // JSON Schema JSchemaValidatingReader validatingReader = new JSchemaValidatingReader(reader); JSchemaGenerator generator = new JSchemaGenerator(); validatingReader.Schema = generator.Generate(typeof(DBConfig)); // Deserialize JsonSerializer serializer = new JsonSerializer(); dBConfig = serializer.Deserialize <DBConfig>(validatingReader); return(dBConfig != null); } catch (Exception ex) { error = $"error occured when load the configuration of the database with the reason {ex.Message}"; return(false); } }
public IActionResult InitBaixingConfig() { var configDapper = _serviceProvider.GetServices <ConfigDapper>().FirstOrDefault(); var result = LoadJson("Resources/Baixing.json"); var configs = new List <DBConfig>(); foreach (var item in result["info"]["area"]["getAllCities"]) { if (item["cities"] != null) { foreach (var city in item["cities"]) { var config = new DBConfig(); config.City = city["name"].ToString(); config.Id = Tools.GetUUId(); config.Json = "{'areaId':'" + city["id"].ToString() + "','session':'$2y$10$Cz9H5ib/ZKh0UOZxVp2rCOeiBjK7Y7/ZmOuUipdZ65QPhms7DpGD2'}"; config.PageCount = 30; config.Source = SourceEnum.BaixingWechat.GetSourceName(); configs.Add(config); } } else { var config = new DBConfig(); config.City = item["name"].ToString(); config.Id = Tools.GetUUId(); config.Json = "{'areaId':'" + item["id"].ToString() + "','session':'$2y$10$Cz9H5ib/ZKh0UOZxVp2rCOeiBjK7Y7/ZmOuUipdZ65QPhms7DpGD2'}"; config.PageCount = 30; config.Source = SourceEnum.BaixingWechat.GetSourceName(); configs.Add(config); } } configDapper.BulkInsert(configs); return(Json(new { success = true, data = configs })); }
public override string GetJsonOrHTML(DBConfig config, int page) { var jsonData = JToken.Parse(config.Json); var targetDestinationId = jsonData["targetDestinationId"].ToString(); var pageIndex = page + 1; var request = new RestRequest(Method.POST); request.AddHeader("referer", "https://m.cjia.com/longMixedUnitList/104/93?"); request.AddHeader("authority", "m.cjia.com"); request.AddHeader("cache-control", "no-cache"); request.AddHeader("header", "{\"applicationCode\":\"PORTAL-H5\",\"clientId\":\"\",\"sourceId\":\"M0000009\",\"exSourceId\":\"CJIA\",\"channel\":\"CJIA\",\"subChannel\":\"H5\",\"version\":\"2.0.0\",\"userToken\":\"\"}"); request.AddHeader("accept", "*/*"); request.AddHeader("content-type", "application/json;charset=UTF-8"); request.AddHeader("user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"); request.AddHeader("pragma", "no-cache"); request.AddHeader("accept-language", "zh-CN,zh;q=0.9,en;q=0.8,da;q=0.7,zh-TW;q=0.6"); request.AddHeader("accept-encoding", "gzip, deflate, br"); request.AddHeader("origin", "https://m.cjia.com"); request.AddParameter("application/json;charset=UTF-8", "{\"productChannel\":2,\"querys\":[],\"filters\":{},\"page\":{\"pageIndex\":" + pageIndex + ",\"pageSize\":10,\"sortBy\":0},\"targetDestinationId\":" + targetDestinationId + ",\"targetPoint\":{},\"queryStrategy\":2}", ParameterType.RequestBody); IRestResponse response = _restClient.Execute(request); return(response.IsSuccessful ? response.Content : ""); }
public override List <DBHouse> ParseHouses(DBConfig config, string data) { var xDoc = XDocument.Parse(data); var houses = new List <DBHouse>(); var domain = JToken.Parse(config.Json)["domain"]?.ToString(); foreach (var element in xDoc.Element("houses").Elements().Where(e => e.Name == "houseinfo")) { var house = new DBHouse(); house.Id = Tools.GetGuid(); var houseFields = element.Elements(); var houseId = GetFieldValue(houseFields, "houseid"); house.OnlineURL = $"http://{domain}/chuzu/1_{houseId}_-1.htm"; house.City = GetFieldValue(houseFields, "city"); house.Location = GetFieldValue(houseFields, "address"); house.Longitude = GetFieldValue(houseFields, "coord_x"); house.Latitude = GetFieldValue(houseFields, "coord_y"); house.Price = int.Parse(GetFieldValue(houseFields, "price")); house.Title = GetFieldValue(houseFields, "title"); house.PicURLs = JsonConvert.SerializeObject(new List <string>() { GetFieldValue(houseFields, "titleimage") }); house.PubTime = DateTime.Parse(GetFieldValue(houseFields, "addtime")); house.JsonData = element.ToString(); house.Title = GetTitle(houseFields);; house.Tags = GetFieldValue(houseFields, "tags"); house.RentType = GetRentType(houseFields); house.Source = SourceEnum.Fangtianxia.GetSourceName(); Console.WriteLine(house.Title); houses.Add(house); } return(houses); }
/// <summary> /// 按数据库名称并根据传入的参数进行查询 /// </summary> /// <param name="columns">查询的列名</param> /// <param name="tableSql">查询的表体</param> /// <param name="cond">条件,以and|or连接字开始</param> /// <param name="sort">排序字段</param> /// <param name="DBName">数据库名称</param> /// <param name="rowCount">查询结果的行数</param> /// <returns>返回一个DataSet并带出查询的行数</returns> public static DataSet GetTable(string columns, string tableSql, string cond, string sort, DBConfigEnum DBName, out int rowCount) { if (string.IsNullOrWhiteSpace(sort)) { sort = DefaultSortStr; } if (string.IsNullOrWhiteSpace(columns) || string.IsNullOrWhiteSpace(tableSql) || string.IsNullOrWhiteSpace(sort)) { throw new Exception("空值的参数设定"); } string sql = $@"select * from ( select ROW_NUMBER() over( order by {sort}) rowid, {columns} from {tableSql} where 1=1 {cond} ) t "; string countSql = $@"select Count(1) from ( select ROW_NUMBER() over( order by {sort}) rowid, {columns} from {tableSql} where 1=1 {cond} ) t "; DataSet ds = new DataSet(); ds = ExecuteSql(sql, DBName); using (var conn = new DBConfig().InitConn(DBName.ToString())) { rowCount = conn.ExecuteScalar <int>(countSql); } return(ds); }
public IHttpActionResult GetPortalBooks() { var odataCon = DBConfig.ODataObj(); var items = odataCon.AllBooks.ToList(); return(Json(items)); }
public IHttpActionResult GetPortalBookDetails(string bookId) { var odataCon = DBConfig.ODataObj(); var items = odataCon.AllBooks.Where(n => n.No == bookId).ToList(); return(Json(items)); }
public IHttpActionResult GetPortalCustomers(string customerNo) { var odataCon = DBConfig.ODataObj(); var users = odataCon.Customers.Where(c => c.No == customerNo).ToList(); return(Json(users)); }
public IHttpActionResult PortalUsersbyId(string custNo) { var odataCon = DBConfig.ODataObj(); var users = odataCon.ECommerceUsers.ToList().Where(p => p.customerNo == custNo); return(Json(users)); }
public IHttpActionResult GetCart() { var odataCon = DBConfig.ODataObj(); var items = odataCon.Cart.ToList(); return(Json(items)); }
public IHttpActionResult GetPostedReceipt(string custNo) { var odataCon = DBConfig.ODataObj(); var items = odataCon.Posted_Receipts.Where(c => c.Payee_Account_No == custNo).ToList(); return(Json(items)); }
public IHttpActionResult GetPortalUsers() { var odataCon = DBConfig.ODataObj(); var users = odataCon.ECommerceUsers.ToList(); return(Json(users)); }
public override List <DBHouse> ParseHouses(DBConfig config, string data) { var houses = new List <DBHouse>(); var topics = JToken.Parse(data)?["topics"]; foreach (var topic in topics) { DBHouse house = new DBHouse(); var onlineURL = $"https://fang.douban.com/topics/{topic["id"].ToString()}/"; house.Id = Tools.GetUUId(); house.OnlineURL = onlineURL; var topicDetailJson = GetTopicDetail(topic["id"].ToString()); if (!string.IsNullOrEmpty(topicDetailJson)) { var topicDetail = JToken.Parse(topicDetailJson)?["data"]; house.Title = topicDetail["title"].ToString(); house.Price = topicDetail["rent_fee"].ToObject <int>(); house.Location = topicDetail["district_tag"]["name"].ToString(); house.Latitude = topicDetail["district_tag"]["latitude"].ToString(); house.Longitude = topicDetail["district_tag"]["longitude"].ToString(); house.PubTime = topicDetail["create_time"].ToObject <DateTime>(); house.RentType = ConvertRentType(topicDetail["rent_type"].ToObject <int>(), topicDetail["house_type_display"].ToString()); house.Text = topicDetail["description"].ToString(); house.Labels = string.Join("|", topicDetail["labels"].ToObject <List <string> >()); house.Source = SourceEnum.DoubanWechat.GetSourceName(); house.JsonData = topicDetailJson; house.City = config.City; house.CreateTime = DateTime.Now; house.Tags = $"{topicDetail["house_type_display"]?.ToString()}|{topicDetail["direction_display"]?.ToString()}|{topicDetail["topic_kind_display"]?.ToString()}"; house.PicURLs = JsonConvert.SerializeObject(topicDetail["photos"].Select(item => item["large_picture_url"].ToString())); houses.Add(house); } } return(houses); }
public IHttpActionResult GetPortalBookByCategory(string invePostingId) { var odataCon = DBConfig.ODataObj(); var items = odataCon.AllBooks.Where(n => n.Inventory_Posting_Group == invePostingId).ToList(); return(Json(items)); }
public IHttpActionResult GetCreditMemoDetails(string documentNo) { var odataCon = DBConfig.ODataObj(); var items = odataCon.CreditMemoLines.Where(c => c.Document_No == documentNo).ToList(); return(Json(items)); }
public IHttpActionResult GetInventoryPostGroup() { var odataCon = DBConfig.ODataObj(); var items = odataCon.Inventory_Posting_Groups.ToList(); return(Json(items)); }
/// <summary> /// 将实体插入到指定的数据库中 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="model">实体对象</param> /// <param name="DBName">数据库名称</param> /// <param name="tableName">表名,可空,空时为类型名</param> /// <param name="isSkip">是否跳过指定列,默认跳过</param> /// <param name="skipColumns">跳过的列名,默认为配置的列</param> /// <returns></returns> public static int InsertSql <T>(T model, DBConfigEnum DBName, string tableName = "", bool?isSkip = null, string[] skipColumns = null) { StringBuilder sql = new StringBuilder(); string columns = ""; string values = ""; DynamicParameters param = new DynamicParameters(); if (isSkip == null) { isSkip = _isSkip; } if (skipColumns == null) { skipColumns = _InsertSkipColumns; } if (string.IsNullOrWhiteSpace(tableName)) { tableName = typeof(T).Name;//model.GetType().Name; } foreach (var a in model.GetType().GetProperties()) { if (isSkip == true) { bool isContinue = false; foreach (var c in skipColumns) { if (a.Name.ToLower() == c.ToLower()) { isContinue = true; break; } } if (isContinue) { continue; } } columns += a.Name + ","; values += "@" + a.Name + ","; if (string.IsNullOrWhiteSpace(Convert.ToString(a.GetValue(model)))) { param.Add("@" + a.Name, null); } else { param.Add(a.Name, a.GetValue(model).ToString()); } } if (!string.IsNullOrWhiteSpace(columns)) { columns = columns.Substring(0, columns.Length - 1); values = values.Substring(0, values.Length - 1); } sql.Append($" insert into {tableName}({columns}) values({values}) "); using (var conn = new DBConfig().InitConn(DBName.ToString())) { return(conn.Execute(sql.ToString(), param)); } }
public IHttpActionResult GetCart(string custNo) { var odataCon = DBConfig.ODataObj(); var items = odataCon.Cart.Where(c => c.CustomerNo == custNo).ToList(); return(Json(items)); }
/// <summary> /// 按数据库取得分页取得数据 /// </summary> /// <param name="page">分页实体</param> /// <param name="columns">查询的列</param> /// <param name="tableSql">查询的表体</param> /// <param name="cond">查询的条件</param> /// <param name="DBName">数据库名称</param> /// <param name="totalRows">OUT->总数据行数</param> /// <returns>返回查询出来的数据以及输入总数据行数</returns> public static DataSet GetTableForPagination(Pagination page, string columns, string tableSql, string cond, DBConfigEnum DBName, out int totalRows) { int pageIndex = page.NowPage; int pageSize = page.PageSize; totalRows = 0; if (string.IsNullOrWhiteSpace(page.Sort)) { page.Sort = DefaultSortStr; page.SortType = ""; } else if (string.IsNullOrWhiteSpace(page.SortType)) { page.SortType = " asc "; } if (string.IsNullOrWhiteSpace(columns) || string.IsNullOrWhiteSpace(tableSql)) { throw new Exception("传入的列名与表名均不能为空"); } string sql = $@"select * from ( select ROW_NUMBER() OVER(order by {page.Sort} {page.SortType} ) rowid,{columns} from {tableSql} where 1=1 {cond} ) t where 1=1 and rowid between {((pageIndex - 1) * pageSize) + 1} and {pageIndex * pageSize}"; string countSql = $@"select Count(1) counts from ( select {columns} from {tableSql} where 1=1 {cond} ) t "; DataSet ds = ExecuteSql(sql, DBName); using (var conn = new DBConfig().InitConn(DBName.ToString())) { totalRows = conn.ExecuteScalar <int>(countSql); } return(ds); }
public IHttpActionResult GetOrders(string custNo) { var odataCon = DBConfig.ODataObj(); var items = odataCon.Sales_Header.Where(c => c.Sell_to_Customer_No == custNo).ToList(); return(Json(items)); }
public override string GetJsonOrHTML(DBConfig config, int page) { var cityName = JToken.Parse(config.Json)["cityname"].ToString(); var sequence = JToken.Parse(config.Json)["sequence"]?.ToString(); return(GetAPIResult(cityName, sequence));; }
public override List <DBHouse> ParseHouses(DBConfig config, string data) { var houses = new List <DBHouse>(); var jsonData = JToken.Parse(data); if (jsonData?["content"] == null) { return(houses); } foreach (var houseItem in jsonData?["content"]) { var house = new DBHouse(); house.JsonData = houseItem.ToString(); house.City = config.City; house.Title = houseItem["title"]?.ToString() + " " + houseItem["stressName"].ToString(); house.Location = houseItem["address"]?.ToString(); house.Text = houseItem["description"]?.ToString(); if (!string.IsNullOrEmpty(houseItem["location"]?.ToString())) { var dstPos = houseItem["location"].ToObject <List <double> >(); house.Longitude = dstPos[0].ToString(); house.Latitude = dstPos[1].ToString(); } house.Id = Tools.GetGuid(); house.Price = houseItem["price"].ToObject <int>(); house.OnlineURL = $"http://m.xhj.com/zufangdetails/{houseItem["hsmid"]}/000.html"; house.PubTime = UnixTimeStampToDateTime(houseItem["refreshTime"].ToObject <long>()); house.PicURLs = JsonConvert.SerializeObject(houseItem["imgs"].ToList().Select(j => j["imgPath"]?.ToString()).ToList()); house.Labels = string.Join("|", houseItem["features"].ToObject <List <string> >()); house.RentType = GetRentType(houseItem["rentType"].ToString()); house.Source = SourceEnum.Xhj.GetSourceName(); houses.Add(house); } return(houses); }
public static long GetAllCount(SqlBaseItemXml basemodel, ref long sqlnum) { sqlnum = 0; long rownum = 0; List <TaskDataParam> taskdataparam = new List <TaskDataParam>(); var databaselist = DBConfig.GetDatabaseXmlConfig(basemodel).SqlDatabaseList.Where(m => m.IsUse == true).ToList(); foreach (var item in databaselist) { var servermodel = DBConfig.GetServerItemXmlConfig(basemodel, item.ServerNumber); if (servermodel != null) { TaskDataParam tempparam = new TaskDataParam(); tempparam.servername = servermodel.ServerName; tempparam.dbtype = servermodel.DBType; tempparam.connstr = GetConnStr(basemodel, servermodel, item); tempparam.sqlstr = "select sum(b.rows) as 记录条数 from sysobjects a,sysindexes b where a.id=b.id and a.xtype='u' and b.indid=1 "; taskdataparam.Add(tempparam); } } DBTask servicetask = new DBTask(); rownum = servicetask.SyncThreadPoolManagerSum(taskdataparam, 100, false); sqlnum = servicetask.runnumcurrent; return(rownum); }
public static void init() { string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); try { Console.WriteLine("\nBegin config initialization..."); // Open the text file using a stream reader. using (StreamReader sr = new StreamReader(path + Path.DirectorySeparatorChar + "config.json")) { // Read the stream to a string, and write the string to the console. String line = sr.ReadToEnd(); CommonConfig commonConfig = JsonConvert.DeserializeObject <CommonConfig>(line); db = commonConfig.dbConfig; logs = commonConfig.logsConfig; webServer = commonConfig.webServer; Console.WriteLine("Config initialized successfully."); } } catch (Exception e) { Console.WriteLine("\nError on read \"config.json\", program can not by start:"); Console.WriteLine(e.Message); LoggerService.writeError(e.Message, e.StackTrace); // Console app System.Environment.Exit(1); } }
public override List <DBHouse> ParseHouses(DBConfig config, string data) { var houses = new List <DBHouse>(); var result = JToken.Parse(data); if (result == null || result.Count() == 0 || result[0]["data"]?["requests"] == null) { return(houses); } foreach (var room in result[0]["data"]?["requests"]) { var house = new DBHouse(); house.Text = room["description"]?.ToString(); house.Title = room["title"]?.ToString(); house.City = room["city"]?.ToString(); house.Location = room["locationName"]?.ToString(); if (room["location"] != null) { house.Longitude = room["location"]?["longitude"]?.ToString(); house.Latitude = room["location"]?["latitude"]?.ToString(); } house.PubTime = room["createTime"].ToObject <DateTime>(); house.Price = !string.IsNullOrEmpty(room["cost"]?.ToString()) ? room["cost"].ToObject <int>() : 0; house.PicURLs = room["images"].ToString(); house.Tags = string.Join("|", room["tags"].Select(t => t.ToString())); house.OnlineURL = $"https://api.xiaozhuankeji.com/qrcode?product=roommate&page=RoommateRequest&id={room["id"].ToString()}"; house.Id = Tools.GetGuid(); house.Source = SourceEnum.Pinshiyou.GetSourceName(); house.JsonData = room.ToString(); house.RentType = GetRentType(room); houses.Add(house); } return(houses); }
public override List <DBHouse> ParseHouses(DBConfig config, string data) { var houseList = new List <DBHouse>(); var resultJObject = JObject.Parse(data); if (resultJObject == null || resultJObject["head"] == null || !resultJObject["head"]["success"].ToObject <Boolean>()) { return(houseList); } foreach (var item in resultJObject["houseList"]) { DBHouse house = new DBHouse(); house.Id = Tools.GetGuid(); var houseDesc = item["houseDescript"].ToObject <string>().Replace("ЁЯШД", ""); var houseURL = $"http://www.huzhumaifang.com/Renting/house_detail/id/{item["houseId"]}.html"; house.OnlineURL = houseURL; house.Title = houseDesc; house.Location = houseDesc; house.Text = houseDesc; house.JsonData = item.ToString(); house.Price = item["houseRentPrice"].ToObject <Int32>(); house.City = config.City; house.RentType = GetRentType(houseDesc); house.PubTime = item["houseCreateTime"].ToObject <DateTime>(); house.PicURLs = item["bigPicUrls"].ToString(); house.Source = SourceEnum.HuZhuZuFang.GetSourceName(); houseList.Add(house); } return(houseList); }
public override string GetJsonOrHTML(DBConfig config, int page) { var cityId = JToken.Parse(config.Json)["cityID"].ToString(); var resource = $"/house/list?city_id={cityId}&offset={page * 30}&limit=30"; return(GetHouseResult(resource, cityId)); }
public override string GetJsonOrHTML(DBConfig config, int page) { var configJson = JToken.Parse(config.Json); var city = WebUtility.UrlEncode(config.City); var fangPage = page + 1; var client = new RestClient("https://soufunappesf.3g.fang.com/http/sfservice.jsp?city=%E4%B8%8A%E6%B5%B7&gettype=android&housetype=jx&jkVersion=2&maptype=baidu&messagename=zflist&page=3&pagesize=20&purpose=%E4%BD%8F%E5%AE%85&subwayinfo=1&wirelesscode=AA4D0DFE6583C215AD7DBBC2BFAAD387"); var request = new RestRequest(Method.GET); request.AddHeader("host", "soufunappesf.3g.fang.com"); request.AddHeader("posmode", "gps%2Cwifi"); request.AddHeader("company", "31009"); request.AddHeader("model", "MIX"); request.AddHeader("x1", "121.466702"); request.AddHeader("imei", "861413030535382"); request.AddHeader("y1", "31.206607"); request.AddHeader("ispos", "1"); request.AddHeader("iscard", "1"); request.AddHeader("osversion", "8.0.0"); request.AddHeader("wirelesscheckcode", "af52bb5e052444b975d871d6c87512f6f8c9772b4754c6ba"); request.AddHeader("connmode", "Wifi"); request.AddHeader("app-name", "Android_UnMap"); request.AddHeader("version", "8.7.0"); request.AddHeader("networktype", "wifi"); request.AddHeader("language", "zh_CN"); request.AddHeader("user-agent", "Android_UnMap%7EMIX%7E8.0.0"); request.AddHeader("city", "%E4%B8%8A%E6%B5%B7"); request.AddHeader("shop-project", "fang-app-android"); request.AddHeader("pagesc", "zflist"); request.AddHeader("connection", "keep-alive"); IRestResponse response = client.Execute(request); return(response.Content); }
public static DBHandler GetHandler(DBConfig.MySQL.DatabaseConfig DBconfig) { if (_self == null) { _self = new DBHandler(DBconfig); } return _self; }
public BotCredentials() { _log = LogManager.GetCurrentClassLogger(); try { File.WriteAllText("./credentials_example.json", JsonConvert.SerializeObject(new CredentialsModel(), Formatting.Indented)); } catch { } if(!File.Exists(credsFileName)) _log.Warn($"credentials.json is missing. Attempting to load creds from environment variables prefixed with 'NadekoBot_'. Example is in {Path.GetFullPath("./credentials_example.json")}"); try { var configBuilder = new ConfigurationBuilder(); configBuilder.AddJsonFile(credsFileName, true) .AddEnvironmentVariables("NadekoBot_"); var data = configBuilder.Build(); Token = data[nameof(Token)]; if (string.IsNullOrWhiteSpace(Token)) throw new ArgumentNullException(nameof(Token), "Token is missing from credentials.json or Environment varibles."); OwnerIds = data.GetSection("OwnerIds").GetChildren().Select(c => ulong.Parse(c.Value)).ToArray(); LoLApiKey = data[nameof(LoLApiKey)]; GoogleApiKey = data[nameof(GoogleApiKey)]; MashapeKey = data[nameof(MashapeKey)]; OsuApiKey = data[nameof(OsuApiKey)]; int ts = 1; int.TryParse(data[nameof(TotalShards)], out ts); TotalShards = ts < 1 ? 1 : ts; ulong clId = 0; ulong.TryParse(data[nameof(ClientId)], out clId); ClientId = clId; SoundCloudClientId = data[nameof(SoundCloudClientId)]; CarbonKey = data[nameof(CarbonKey)]; var dbSection = data.GetSection("db"); Db = new DBConfig(string.IsNullOrWhiteSpace(dbSection["Type"]) ? "sqlite" : dbSection["Type"], string.IsNullOrWhiteSpace(dbSection["ConnectionString"]) ? "Filename=./data/NadekoBot.db" : dbSection["ConnectionString"]); } catch (Exception ex) { _log.Fatal(ex.Message); _log.Fatal(ex); throw; } }
private DBHandler(DBConfig.OLEDB.DatabaseConfig DBconfig) { DatabaseConfig = DBconfig; }
private DBHandler(DBConfig.MySQL.DatabaseConfig DBconfig) { DatabaseConfig = DBconfig; }
// Services requests for both setConfigString and setConfigInt. void setConfigInner( DBConfig config ) { using( var token = _db.token() ) using( var trans = _db.transaction( token ) ) { config.checkpoint = getLatestCheckpoint( token ); // Delete any existing one, and then insert the new value. _db.delete( token, config, new string[] { "name", "checkpoint" } ); _db.insert( token, config ); trans.commit(); } }