private bool IsBodyInvalid(string[] tsvColumns, DBModelBase dBModelBase) { if (tsvColumns == null) { return(false); } if (tsvColumns.Length != dBModelBase.Columns.Count + dBModelBase.TsvStartCulmnIndex) { return(false); } if (this.IsRecortTypeInvarid(tsvColumns[0])) { return(false); } if (dBModelBase.Columns .Any( c => this.IsLengthInvalid(tsvColumns[c.TSVIndex], c.Length, c.IsLengthCheck) || this.IsTypeInvalid(tsvColumns[c.TSVIndex], c.ColumnType, c.IsTypeCheck) ) ) { return(false); } return(true); }
private bool TryGetDBModel(string fileName, out DBModelBase dbModelBase) { dbModelBase = null; if (fileName.Length < 7) { return(false); } var dbTsvId = fileName.Substring(0, 7); return(!_dbs.TryGetValue(dbTsvId, out dbModelBase)); }
private string BuildSelectSqlString(string[] tsvColumns, DBModelBase dBModelBase) { var result = new StringBuilder(); result.Append("SELECT "); result.AppendLine(string.Join(',', dBModelBase.Columns.Where(c => c.IsSelectColumn).Select(c => c.ColumnName))); result.Append(" FROM "); result.AppendLine(dBModelBase.TableName); result.Append(" WHERE "); result.Append(string.Join(" AND ", dBModelBase.Columns.Where(c => c.IsWhereColumn).Select(c => $"{c.ColumnName} = {tsvColumns[c.TSVIndex]}"))); return(result.ToString()); }
private static string BuildEntityTableQry(DBModelBase model, out int defaultItemType) { var itemId = model.ID; var tablename = "t_" + (string)model.GetValue("name"); var namefield = (string)model.GetValue("namefield"); var currDate = DateTime.Now.ToLongDateString(); var maxItemType = EntityDBService.GetNextEntityDBId(EntityCode.ItemType); var maxLayout = EntityDBService.GetNextEntityDBId(EntityCode.EntityLayout); var maxSchema = EntityDBService.GetNextEntityDBId(EntityCode.EntitySchema); defaultItemType = maxItemType; string qry = string.Format(@"CREATE TABLE {0} ( masterid integer NOT NULL, id integer, {1} character varying(100) NOT NULL, createdby integer NOT NULL, updatedby integer, createdon timestamp without time zone NOT NULL, updatedon timestamp without time zone, CONSTRAINT {0}_pkey PRIMARY KEY (id)); INSERT INTO autoid values({2}, 0); ", tablename, namefield, itemId); var qItemTyp = string.Format(@" insert into t_entity_itemtype(masterid,id,entityid,name,code) values({0},{2},{1},'Default','0'); insert into t_entity_viewlayout(masterid,id,entityid,itemtype,states,viewtype,layoutjson)values({0},{3},{1},{2},'','0', null);", model.MasterId, itemId, maxItemType, maxLayout); var defaultNameCol = $@"insert into t_entityschema(masterid,id, entityid,fieldname,label,fieldtype,length,isrequired ,dbname,tablename,viewtype,defaultvalue ,createdon,updatedon) values({model.MasterId},{maxSchema},{itemId},'{namefield}','{namefield}',1,100,true ,'{namefield.ToLower()}','{tablename}',0,null ,'{currDate}','{currDate}');"; return(qry + qItemTyp + defaultNameCol); }
public List <DBModelBase> ReadAll(StackAppContext appContext, List <string> fields, FilterExpression filter) { var q = new DbQuery(this); foreach (var f in fields) { q.AddField(f, true); } q.AddField(this.IDField, true); q.SetFixedFilter(filter); var data = QueryDbService.ExecuteEntityQuery(appContext, q); var models = new List <DBModelBase>(); foreach (var d in data) { var m = new DBModelBase(this); m.BuiltWithDB(d); models.Add(m); } return(models); }
internal static string BuildQuery(DBModelBase model, List <(string, DynamicDbParam)> fls, ref DynamicParameters parameters)
private string BuildSqlString(string[] tsvColumns, DBModelBase dBModelBase) { // とりあえずSelect のSQL例 return(this.BuildSelectSqlString(tsvColumns, dBModelBase)); }