private bool SaveEntity(DBTIdxGeneralEntity entity) { if (entity == null) { return(false); } if (entity.IsDataValid && CheckTable <DBTIdxGeneralEntity>()) { var idx_general = new DBTIdxGeneralEntity(entity.Code, accessor); if (idx_general.Fresh() > 0 && entity.Equals(idx_general)) { return(false); } idx_general.Copy(entity); if (idx_general.Save() > 0) { //logger.Write(TYPE.INFO, string.Format("import data([CD:{0}][NAME:{1}]) in (IDX_GENERAL_TD)", idx_general.Code, idx_general.Name)); return(true); } } return(false); }
private T ExportEntity <T>(string line, Template <TemplateUnit> template) where T : TableEntity { if (string.IsNullOrWhiteSpace(line) || template == null) { return(default(T)); } var separator = Convert.ToChar(9); var values = line.Trim().Split(new char[] { separator }); if (values == null || values.Length <= 0) { return(default(T)); } object data = null; TableEntity entity = null; if (typeof(T) == typeof(DBTStkGeneralEntity)) { entity = new DBTStkGeneralEntity(); } if (typeof(T) == typeof(DBTStkDailyEntity)) { entity = new DBTStkDailyEntity(); } if (typeof(T) == typeof(DBTStkMinuteEntity)) { entity = new DBTStkMinuteEntity(); } if (typeof(T) == typeof(DBTIdxGeneralEntity)) { entity = new DBTIdxGeneralEntity(); } if (typeof(T) == typeof(DBTStkFavoriteEntity)) { entity = new DBTStkFavoriteEntity(); } if (entity != null) { try { var temp = new Dictionary <string, string>(); template.FindAll(t => t.ColumnIndex >= 0).ForEach(itm => { var value = (itm.ColumnIndex < values.Length) ? values[itm.ColumnIndex] : string.Empty; if (temp.ContainsKey(itm.DBColumn)) { temp[itm.DBColumn] = (string.IsNullOrEmpty(temp[itm.DBColumn])) ? value : temp[itm.DBColumn] + value; } else { temp.Add(itm.DBColumn, value); } }); foreach (string col in temp.Keys) { var column = entity.GetColumn(col); if (column == null) { continue; } column.Value = TemplateUnit.ConvertVal(column.DataType, temp[col]); entity.SetColumn(column); } } catch (Exception err) { logger.Write(TYPE.ERROR, string.Format("Template:{0} Line:{1}", template.Table.ToString(), line)); logger.Write(err); } data = entity; } return((data == null) ? default(T) : (T)data); }