/// <summary> /// 查看给定元素的本体元素数据模式 /// </summary> /// <param name="element"></param> /// <returns></returns> public ElementDataSchema GetElementDataSchema(ElementDescriptor element) { if (element == null) { throw new ArgumentNullException("element"); } ElementDataSchema dataSchema; if (ElementDataSchemaDic.TryGetValue(element, out dataSchema)) { return(dataSchema); } else { var db = this.GetEntityDb(element.Ontology); DbTableColumn column; string columnId = string.Format("[{0}][{1}][{2}]", element.Ontology.Ontology.EntitySchemaName, element.Ontology.Ontology.EntityTableName, element.Element.FieldCode); if (!element.Host.Rdbs.DbTableColumns.TryGetDbTableColumn(db, columnId, out column)) { var msg = "实体库中不存在" + columnId + "列"; element.Host.LoggingService.Error(msg); return(null); } dataSchema = new ElementDataSchema(column); ElementDataSchemaDic.Add(element, dataSchema); return(dataSchema); } }
public void ValidateRequestData(Dictionary <string, string[]> elementDatas) { foreach (string key in elementDatas.Keys) { string[] value = elementDatas[key]; ElementDataSchema eds = this.pageSchema.ElementDatas.FindItem(key); if (eds == null) { continue; } if (eds.Validation == null) { continue; } if (eds.Validation.Validators.Count > 0) { string errHint = ""; if (value == null || value.Length < 1) { if (!Validation.ValidatorFactory.InvokeValid(eds.Validation, null, checkRequestValueVar, out errHint)) { throw new Validation.EValidateException(errHint); } } for (int i = 0; i < value.Length; i++) { if (!Validation.ValidatorFactory.InvokeValid(eds.Validation, value[i], checkRequestValueVar, out errHint)) { throw new Validation.EValidateException(errHint); } } } } }
private void ValidateElement(ElementDataSchema eds, string[] value) { if (eds.Validation.Validators.Count > 0) { string errHint = ""; if (value == null || value.Length < 1) { if (!Validation.ValidatorFactory.InvokeValid(eds.Validation, null, CheckValueVar, out errHint)) { throw new Validation.EValidateException(errHint); } } for (int i = 0; i < value.Length; i++) { if (!Validation.ValidatorFactory.InvokeValid(eds.Validation, value[i], CheckValueVar, out errHint)) { throw new Validation.EValidateException(errHint); } } } }
/// <summary> /// 查看给定元素的本体元素数据模式 /// </summary> /// <param name="element"></param> /// <returns></returns> public ElementDataSchema GetElementDataSchema(ElementDescriptor element) { if (element == null) { throw new ArgumentNullException("element"); } ElementDataSchema dataSchema; if (ElementDataSchemaDic.TryGetValue(element, out dataSchema)) { return dataSchema; } else { var db = this.GetEntityDb(element.Ontology); DbTableColumn column; string columnId = string.Format("[{0}][{1}][{2}]", element.Ontology.Ontology.EntitySchemaName, element.Ontology.Ontology.EntityTableName, element.Element.FieldCode); if (!element.Host.Rdbs.DbTableColumns.TryGetDbTableColumn(db, columnId, out column)) { var msg = "实体库中不存在" + columnId + "列"; element.Host.LoggingService.Error(msg); return null; } dataSchema = new ElementDataSchema(column); ElementDataSchemaDic.Add(element, dataSchema); return dataSchema; } }