public void Save(IWorkspace Workspace, IRow Row, BaseModel BaseModel, ModelProperty Property) { EntityKeyFieldAttribute _keyField = (EntityKeyFieldAttribute)Property.Attribute; if (String.IsNullOrEmpty(_keyField.Sequence)) { Row.set_Value(Row.Fields.FindField(Property.Attribute.FieldName), Convert.ChangeType(Property.Property.GetValue(BaseModel, null), Property.Attribute.FieldType)); } else { ICursor cursor = Helper.GDBCursor.obterCursor((IFeatureWorkspace)Workspace, "SYS.DUAL", _keyField.Sequence + ".NEXTVAL", ""); IRow row = cursor.NextRow(); Row.set_Value(Row.Fields.FindField(Property.Attribute.FieldName), Convert.ChangeType(row.get_Value(0).ToString(), Property.Attribute.FieldType)); } }
public string Save(IWorkspace Workspace, BaseModel BaseModel, ModelProperty Property) { EntityKeyFieldAttribute _keyField = (EntityKeyFieldAttribute)Property.Attribute; if (String.IsNullOrEmpty(_keyField.Sequence)) { return(FieldFormatHelper.FormatField(Property.Property.GetValue(BaseModel, null), Property.Attribute.FieldType)); } else { ICursor cursor = Helper.GDBCursor.obterCursor((IFeatureWorkspace)Workspace, "SYS.DUAL", _keyField.Sequence + ".NEXTVAL", ""); IRow row = cursor.NextRow(); Property.Property.SetValue(BaseModel, Convert.ChangeType(row.get_Value(0).ToString(), Property.Attribute.FieldType), null); return(row.get_Value(0).ToString()); } }