public List <T> ToList(int pageIndex, int pageSize) { Type type = typeof(T); string tableName = StoreBase.GetTableName(type); string columnJoinString = StoreBase.GetColumnJoinString(type); List <PropertyInfo> propertyInfoList = StoreBase.GetPropertyInfoList(type); int pageStart = (pageIndex - 1) * pageSize; Sql sql = ExpressionFactory.ToWhereSql(_predicate); StringBuilder sqlStringBuilder = new StringBuilder(); sqlStringBuilder.Append($"SELECT {columnJoinString} FROM {tableName}"); if (!string.IsNullOrWhiteSpace(sql.CommandText)) { sqlStringBuilder.Append($" WHERE {sql.CommandText}"); } if (!string.IsNullOrWhiteSpace(_orderField) && !string.IsNullOrWhiteSpace(_orderBy)) { sqlStringBuilder.Append($" ORDER BY {_orderField} {_orderBy}"); } sqlStringBuilder.Append($" LIMIT {pageStart},{pageSize};"); List <T> list = _dbSQLHelper.ExecuteList <T>(_consolePrintSql, propertyInfoList, sqlStringBuilder.ToString(), _dbSQLHelper.Convert(sql.Parameters)); return(list); }
private static Sql ResolveMethodCallIn(MethodCallExpression expression) { string left = StoreBase.GetColumnName((MemberExpression)expression.Arguments[0]); string right = ""; if (expression.Object.NodeType == ExpressionType.MemberAccess) { right = ResolveMemberValue((MemberExpression)expression.Object); } else if (expression.Object.NodeType == ExpressionType.Call) { right = ResolveMethodCall((MethodCallExpression)expression.Object).CommandText; } else { throw new ExpressionException(); } if (string.IsNullOrWhiteSpace(right)) { return(new Sql(Combining(left, KeywordConst.IN, "('')"))); } return(new Sql(Combining(left, KeywordConst.IN, $"({right})"))); }
public T SingleOrDefault() { Type type = typeof(T); List <PropertyInfo> propertyInfoList = StoreBase.GetPropertyInfoList(type); string tableName = StoreBase.GetTableName(type); string columnJoinString = StoreBase.GetColumnJoinString(type); Sql sql = ExpressionFactory.ToWhereSql(_predicate); StringBuilder sqlStringBuilder = new StringBuilder($"SELECT {columnJoinString} FROM {tableName}"); StringBuilder pageStringBuilder = new StringBuilder($"SELECT COUNT(*) FROM {tableName}"); if (!string.IsNullOrWhiteSpace(sql.CommandText)) { sqlStringBuilder.Append($" WHERE {sql.CommandText}"); pageStringBuilder.Append($" WHERE {sql.CommandText}"); } pageStringBuilder.Append(";"); var parameters = _dbSQLHelper.Convert(sql.Parameters); int total = Convert.ToInt32(_dbSQLHelper.ExecuteScalar(_consolePrintSql, pageStringBuilder.ToString(), parameters)); if (total > 1) { throw new SingleOrDefaultException(); } sqlStringBuilder.Append($" LIMIT 0,1;"); T instance = _dbSQLHelper.ExecuteList <T>(_consolePrintSql, propertyInfoList, sqlStringBuilder.ToString(), parameters).FirstOrDefault(); return(instance); }
public T FirstOrDefault() { Type type = typeof(T); List <PropertyInfo> propertyInfoList = StoreBase.GetPropertyInfoList(type); string tableName = StoreBase.GetTableName(type); string columnJoinString = StoreBase.GetColumnJoinString(type); Sql sql = ExpressionFactory.ToWhereSql(_predicate); StringBuilder sqlStringBuilder = new StringBuilder(); sqlStringBuilder.Append($"SELECT {columnJoinString} FROM {tableName}"); if (!string.IsNullOrWhiteSpace(sql.CommandText)) { sqlStringBuilder.Append($" WHERE {sql.CommandText}"); } if (!string.IsNullOrWhiteSpace(_orderField) && !string.IsNullOrWhiteSpace(_orderBy)) { sqlStringBuilder.Append($" ORDER BY {_orderField} {_orderBy}"); } sqlStringBuilder.Append($" LIMIT 0,1;"); T instance = _dbSQLHelper.ExecuteList <T>(_consolePrintSql, propertyInfoList, sqlStringBuilder.ToString(), _dbSQLHelper.Convert(sql.Parameters)).FirstOrDefault(); return(instance); }
public List <T> ToList() { Type type = typeof(T); List <PropertyInfo> propertyInfoList = StoreBase.GetPropertyInfoList(type); string tableName = StoreBase.GetTableName(type); string columnJoinString = StoreBase.GetColumnJoinString(type); Sql sql = ExpressionFactory.ToWhereSql(_predicate); StringBuilder sqlStringBuilder = new StringBuilder(); sqlStringBuilder.Append($"SELECT {columnJoinString} FROM {tableName} WITH(NOLOCK)"); if (!string.IsNullOrWhiteSpace(sql.CommandText)) { sqlStringBuilder.Append($" WHERE {sql.CommandText}"); } if (!string.IsNullOrWhiteSpace(_orderField) && !string.IsNullOrWhiteSpace(_orderBy)) { sqlStringBuilder.Append($" ORDER BY {_orderField} {_orderBy}"); } else { sqlStringBuilder.Append($" ORDER BY id"); } sqlStringBuilder.Append($" OFFSET 0 ROWS FETCH NEXT 9999999 ROWS ONLY;"); List <T> list = _dbSQLHelper.ExecuteList <T>(_consolePrintSql, propertyInfoList, sqlStringBuilder.ToString(), _dbSQLHelper.Convert(sql.Parameters)); return(list); }
private RefUpdateResult UpdateImpl(RevWalk.RevWalk walk, StoreBase store) { if (isNameConflicting()) { return(RefUpdateResult.LockFailure); } var @lock = new LockFile(_looseFile); if ([email protected]()) { return(RefUpdateResult.LockFailure); } try { OldObjectId = _db.IdOf(Name); if (_expValue != null) { ObjectId o = OldObjectId ?? ObjectId.ZeroId; if (!AnyObjectId.equals(_expValue, o)) { return(RefUpdateResult.LockFailure); } } if (OldObjectId == null) { return(store.Store(@lock, RefUpdateResult.New)); } RevObject newObj = SafeParse(walk, _newValue); RevObject oldObj = SafeParse(walk, OldObjectId); if (newObj == oldObj) { return(store.Store(@lock, RefUpdateResult.NoChange)); } RevCommit newCom = (newObj as RevCommit); RevCommit oldCom = (oldObj as RevCommit); if (newCom != null && oldCom != null) { if (walk.isMergedInto(oldCom, newCom)) { return(store.Store(@lock, RefUpdateResult.FastForward)); } } if (IsForceUpdate) { return(store.Store(@lock, RefUpdateResult.Forced)); } return(RefUpdateResult.Rejected); } finally { @lock.Unlock(); } }
public async Task <IEnumerable <ProductBase> > GetProducts(StoreBase store, List <Guid> guids) { var client = new RestClient(store.ApiUrl); var request = new RestRequest(_paths["products"]); request.AddJsonBody(guids); request.Method = Method.POST; var response = await client.ExecuteAsync <IEnumerable <ProductBase> >(request); if (response.StatusCode == System.Net.HttpStatusCode.OK) { return(response.Data); } else { if (response.ErrorException != null) { throw response.ErrorException; } else { throw new Exception(response.StatusDescription); } } }
/// <summary> /// 保存合并设置 /// </summary> /// <param name="busiNo">业务编号</param> /// <param name="si">Sys_Summary_Item对象</param> /// <returns>DataRowSaveResult</returns> public DataRowSaveResult SaveDB(string busiNo, Sys_Summary_Item si) { byte[] byt = StoreBase.GetBytes(si).Value; DataRow dr = this.FindRow("BusiNo", busiNo); if (dr == null) { dr = this.NewRow(); this.Rows.Add(dr); } dr["UserID"] = Sys_User.m_LoginUserID; dr["BusiNo"] = busiNo; dr["SummaryObject"] = byt; bf_Busi bb = bf_Busis.GetItem("Sys_Summary_Set"); DataRowSaveResult drsr = null; if (dr.RowState == DataRowState.Added) { drsr = bb.DataRowInsert(dr); } if (dr.RowState == DataRowState.Modified) { drsr = bb.DataRowUpdate(dr); } if (drsr.Success) { dr.AcceptChanges(); return(null); } dr.RejectChanges(); return(drsr); }
public virtual void Load(StringReaderEx str, object obj) { Type t = obj.GetType(); var fields = t.GetFields(getFieldFlags).Where(f => f.GetCustomAttributes(typeof(StoreThis), true).Length > 0).ToArray(); int len = str.ReadLineInt(); if (fields.Length != len) { throw new UnityException("Incorrect save file"); } for (int i = 0; i < len; i++) { string fieldName = str.ReadLine(); string fieldData = str.ReadLine(); //Debug.Log(" > Loading field "+fieldName); FieldInfo finfo = fields.Where(f => f.Name == fieldName).First(); if (finfo == null) { continue; } StoreBase.LoadField(finfo, obj, fieldData); } }
public Registrator(IConfiguration conf, StoreBase storeObj) { this.configuration = conf; var aggregatorUrl = conf.GetValue <string>("aggregatorUrl"); this.storeObj = storeObj; _client = new RestClient(aggregatorUrl); }
public DisplayStore(StoreBase storeBase, InventoryBase inventoryBase) { Manager = UIManager.instance; Store = storeBase; Inventory = inventoryBase; MenuPanelParent = CreateStoreUI(new Vector2(0, 0), new Vector2(0, 0)); }
/// <summary> /// Clone /// </summary> /// <returns></returns> public new SanPackMain Clone() { SanPackMain sanPackMain = base.Clone() as SanPackMain; sanPackMain.StoreBase = StoreBase.Clone(); sanPackMain.Oper = Oper.Clone(); return(sanPackMain); }
public void Init(StoreBase store) { var creators = this.GetType().GetFields() .Where(f => f.GetValue(this).GetType().IsSubclassOf(typeof(DispatcherBase))) .Select(f => f.GetValue(this) as DispatcherBase) .ToList(); creators.ForEach(c => c.Init(store)); }
/// <summary> /// Clone /// </summary> /// <returns></returns> public new SanPackList Clone() { SanPackList sanPackList = base.Clone() as SanPackList; sanPackList.SanPackMain = SanPackMain.Clone(); sanPackList.StoreBase = StoreBase.Clone(); return(sanPackList); }
public virtual Periods ToPeriods(byte[] bytes) { BooleanValue <Periods> bv = StoreBase.GetObjectBV <Periods>(bytes, true, ""); if (bv.Success) { return(bv.Value); } return(null); }
public virtual byte[] ToBytes() { BooleanValue <byte[]> bv = StoreBase.GetBytes(this, true, ""); if (bv.Success) { return(bv.Value); } return(null); }
/// <summary> /// 克隆函数实现 /// </summary> /// <returns></returns> public new SanDept Clone() { SanDept sanDept = base.Clone() as SanDept; sanDept.StoreBase = StoreBase.Clone(); sanDept.Oper = Oper.Clone(); return(sanDept); }
public List <dynamic> Query(string sql, dynamic parameter) { if (string.IsNullOrWhiteSpace(sql)) { throw new EmptySQLException(); } var parameters = StoreBase.DynamicToParameters(parameter); List <dynamic> list = _dbSQLHelper.ExecuteList(_consolePrintSql, sql, _dbSQLHelper.Convert(parameters)); return(list); }
public bool Delete <T>(Expression <Func <T, bool> > predicate) { if (predicate == null) { throw new ExpressionIsNullException(); } Sql sql = StoreBase.BuildDeleteSQL(predicate); bool isNewConnection = TransactionIsOpen.Value; return(_dbSQLHelper.ExecuteNonQuery(isNewConnection, _consolePrintSql, sql.CommandText, _dbSQLHelper.Convert(sql.Parameters)) > 0); }
public EntitySet( ChangeSet changeSet, StoreBase dataSource, bool validateEntity ) { _changeSet = changeSet; _dataSource = dataSource; _validateEntity = validateEntity; if (validateEntity) { _validator = MobileDB.Validator; } }
public bool Insert <T>(T instance) { if (instance == null) { throw new DataIsNullException(); } string sql = StoreBase.BuildInsertSQL(instance); var parameters = StoreBase.BuildParameters(ExpressionFactory.GetColumnList(instance)); bool isNewConnection = TransactionIsOpen.Value; return(_dbSQLHelper.ExecuteNonQuery(isNewConnection, _consolePrintSql, sql, _dbSQLHelper.Convert(parameters)) > 0); }
public int Count() { Sql sql = ExpressionFactory.ToWhereSql(_predicate); StringBuilder stringBuilder = new StringBuilder($"SELECT COUNT(*) FROM {StoreBase.GetTableName(typeof(T))} WITH(NOLOCK)"); if (!string.IsNullOrWhiteSpace(sql.CommandText)) { stringBuilder.Append($" WHERE {sql.CommandText}"); } int total = Convert.ToInt32(_dbSQLHelper.ExecuteScalar(_consolePrintSql, stringBuilder.ToString(), _dbSQLHelper.Convert(sql.Parameters))); return(total); }
public virtual void Save(StringWriterEx str, object obj) { Type t = obj.GetType(); var fields = t.GetFields(getFieldFlags).Where(f => f.GetCustomAttributes(typeof(StoreThis), true).Length > 0).ToArray(); str.WriteLine(fields.Length); //Debug.Log(" > Class has "+fields.Length+" fields"); foreach (FieldInfo f in fields) { str.WriteLine(f.Name); str.WriteLine(StoreBase.SaveField(f, obj)); } }
public bool Update <T>(Expression <Func <T, bool> > expression, T instance) { if (expression == null) { throw new ExpressionIsNullException(); } if (instance == null) { throw new DataIsNullException(); } var result = StoreBase.BuildUpdateSQLAndParameters(expression, instance); bool isNewConnection = TransactionIsOpen.Value; return(_dbSQLHelper.ExecuteNonQuery(isNewConnection, _consolePrintSql, result.Item1, _dbSQLHelper.Convert(result.Item2)) > 0); }
public static T Create <T>(IDataReader reader, List <PropertyInfo> propertyInfoList) { T instance = Activator.CreateInstance <T>(); foreach (PropertyInfo property in propertyInfoList) { string key = StoreBase.GetPropertyColumnAttributeName(property); object value = reader[key]; if (value is DBNull) { continue; } property.SetValue(instance, value); } return(instance); }
/// <summary> /// 克隆函数实现 /// </summary> /// <returns></returns> public new SanApplyMain Clone() { SanApplyMain sanApplyMain = base.Clone() as SanApplyMain; sanApplyMain.StoreBase = StoreBase.Clone(); sanApplyMain.ApplyOper = ApplyOper.Clone(); sanApplyMain.AppoveOper = AppoveOper.Clone(); sanApplyMain.ReturnOper = ReturnOper.Clone(); sanApplyMain.ReturnAPPOper = ReturnAPPOper.Clone(); sanApplyMain.StopOper = StopOper.Clone(); return(sanApplyMain); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <DBContext>(options => { options.UseMySql(Configuration.GetConnectionString("Db"), mySqlOptions => mySqlOptions .CharSet(CharSet.Utf8) .EnableRetryOnFailure(5) // replace with your Server Version and Type .ServerVersion(new Version(8, 0, 18), ServerType.MySql)); }); var storeObj = new StoreBase(); Configuration.GetSection("Store").Bind(storeObj); services.AddSingleton <StoreBase>(storeObj); services.AddHealthChecks(); services.Configure <KestrelServerOptions>( Configuration.GetSection("Kestrel")); services.AddControllers(); services.AddSwaggerGen(); }
private static Sql ResolveMethodCallEqualsOrLike(MethodCallExpression expression) { string left = StoreBase.GetColumnName((MemberExpression)expression.Object); string right = ""; if (expression.Arguments[0] is MemberExpression) { right = Eval((MemberExpression)expression.Arguments[0]); } else if (expression.Arguments[0] is ConstantExpression) { right = ResolveConstant((ConstantExpression)expression.Arguments[0]); } else if (expression.Arguments[0] is MethodCallExpression) { right = ResolveMethodCall((MethodCallExpression)expression.Arguments[0]).CommandText; } else { throw new ExpressionException(); } Sql sql = new Sql(); switch (expression.Method.Name) { case KeywordConst.Equals: sql.CommandText = Combining(left, "=", $"@{left}"); sql.Parameters.Add(new Parameter(left, right)); return(sql); case KeywordConst.Contains: sql.CommandText = Combining(left, KeywordConst.LIKE, $"@{left}"); sql.Parameters.Add(new Parameter(left, $"%{right}%")); return(sql); default: throw new ExpressionException(); } }
public List <T> ToList(int pageIndex, int pageSize, out int total, out int totalPage) { Type type = typeof(T); List <PropertyInfo> propertyInfoList = StoreBase.GetPropertyInfoList(type); string tableName = StoreBase.GetTableName(type); string columnJoinString = StoreBase.GetColumnJoinString(type); Sql sql = ExpressionFactory.ToWhereSql(_predicate); int pageStart = (pageIndex - 1) * pageSize; StringBuilder sqlStringBuilder = new StringBuilder($"SELECT {columnJoinString} FROM {tableName} WITH(NOLOCK)"); StringBuilder pageStringBuilder = new StringBuilder($"SELECT COUNT(*) FROM {tableName} WITH(NOLOCK)"); if (!string.IsNullOrWhiteSpace(sql.CommandText)) { sqlStringBuilder.Append($" WHERE {sql.CommandText}"); pageStringBuilder.Append($" WHERE {sql.CommandText}"); } pageStringBuilder.Append(";"); var parameters = _dbSQLHelper.Convert(sql.Parameters); total = Convert.ToInt32(_dbSQLHelper.ExecuteScalar(_consolePrintSql, pageStringBuilder.ToString(), parameters)); totalPage = (total % pageSize == 0) ? (total / pageSize) : (total / pageSize + 1); if (!string.IsNullOrWhiteSpace(_orderField) && !string.IsNullOrWhiteSpace(_orderBy)) { sqlStringBuilder.Append($" ORDER BY {_orderField} {_orderBy}"); } else { sqlStringBuilder.Append($" ORDER BY id"); } sqlStringBuilder.Append($" OFFSET {pageStart} ROWS FETCH NEXT {pageSize} ROWS ONLY;"); List <T> list = _dbSQLHelper.ExecuteList <T>(_consolePrintSql, propertyInfoList, sqlStringBuilder.ToString(), parameters); return(list); }
public void TruncateTable <T>() { string tableName = StoreBase.GetTableName(typeof(T)); _dbSQLHelper.ExecuteNonQuery(true, _consolePrintSql, $"TRUNCATE TABLE {tableName};"); }
private RefUpdateResult UpdateImpl(RevWalk.RevWalk walk, StoreBase store) { int lastSlash = Name.LastIndexOf('/'); if (lastSlash > 0) { if (Repository.getAllRefs().ContainsKey(Name.Slice(0, lastSlash))) { return RefUpdateResult.LockFailure; } } string rName = Name + "/"; foreach (Ref r in Repository.getAllRefs().Values) { if (r.Name.StartsWith(rName)) { return RefUpdateResult.LockFailure; } } var @lock = new LockFile(_looseFile); if ([email protected]()) { return RefUpdateResult.LockFailure; } try { OldObjectId = _db.IdOf(Name); if (_expValue != null) { ObjectId o = OldObjectId ?? ObjectId.ZeroId; if (!_expValue.Equals(o)) { return RefUpdateResult.LockFailure; } } if (OldObjectId == null) { return store.Store(@lock, RefUpdateResult.New); } RevObject newObj = SafeParse(walk, _newValue); RevObject oldObj = SafeParse(walk, OldObjectId); if (newObj == oldObj) { return store.Store(@lock, RefUpdateResult.NoChange); } if (newObj is RevCommit && oldObj is RevCommit) { if (walk.isMergedInto((RevCommit)oldObj, (RevCommit)newObj)) { return store.Store(@lock, RefUpdateResult.FastForward); } } if (IsForceUpdate) { return store.Store(@lock, RefUpdateResult.Forced); } return RefUpdateResult.Rejected; } finally { @lock.Unlock(); } }
private RefUpdateResult updateImpl(RevWalk.RevWalk walk, StoreBase store) { LockFile @lock; RevObject newObj; RevObject oldObj; @lock = new LockFile(looseFile); if ([email protected]()) return RefUpdateResult.LockFailure; try { OldObjectId = db.IdOf(Name); if (expValue != null) { ObjectId o; o = OldObjectId != null ? OldObjectId : ObjectId.ZeroId; if (!expValue.Equals(o)) return RefUpdateResult.LockFailure; } if (OldObjectId == null) return store.Store(@lock, RefUpdateResult.New); newObj = safeParse(walk, newValue); oldObj = safeParse(walk, OldObjectId); if (newObj == oldObj) return store.Store(@lock, RefUpdateResult.NoChange); if (newObj is RevCommit && oldObj is RevCommit) { if (walk.isMergedInto((RevCommit)oldObj, (RevCommit)newObj)) return store.Store(@lock, RefUpdateResult.FastForward); } if (IsForceUpdate) return store.Store(@lock, RefUpdateResult.Forced); return RefUpdateResult.Rejected; } finally { @lock.Unlock(); } }
private RefUpdateResult UpdateImpl(RevWalk.RevWalk walk, StoreBase store) { if (isNameConflicting()) { return RefUpdateResult.LockFailure; } using (LockFile @lock = new LockFile(_looseFile)) { if ([email protected]()) { return RefUpdateResult.LockFailure; } OldObjectId = _db.IdOf(Name); if (_expValue != null) { ObjectId o = OldObjectId ?? ObjectId.ZeroId; if (!AnyObjectId.equals(_expValue, o)) { return RefUpdateResult.LockFailure; } } if (OldObjectId == null) { return store.Store(@lock, RefUpdateResult.New); } RevObject newObj = SafeParse(walk, _newValue); RevObject oldObj = SafeParse(walk, OldObjectId); if (newObj == oldObj) { return store.Store(@lock, RefUpdateResult.NoChange); } RevCommit newCom = (newObj as RevCommit); RevCommit oldCom = (oldObj as RevCommit); if (newCom != null && oldCom != null) { if (walk.isMergedInto(oldCom, newCom)) { return store.Store(@lock, RefUpdateResult.FastForward); } } if (IsForceUpdate) { return store.Store(@lock, RefUpdateResult.Forced); } return RefUpdateResult.Rejected; } }