protected override bool AcceptPlaceTagElement(PlaceObject3Tag tag, XElement element) { switch (element.Name.LocalName) { case "filters": foreach (var xFilter in element.Elements()) { tag.Filters.Add(XFilter.FromXml(xFilter)); } break; case "events": tag.HasClipActions = true; XClipActionsList.FromXml(element, tag.ClipActions); break; case "colorTransform": tag.ColorTransform = XColorTransformRGBA.FromXml(element.Element("ColorTransform2")); break; default: return(false); } return(true); }
//[Rework(Complete = false, Tested = false, Coverage = "0")] //private bool RolePermission_Save(RolePermission permission, Guid roleAssetTypeId) //{ // List<SqlParameter> paramList = new List<SqlParameter> // { // new SqlParameter("@Id", permission.Id), // new SqlParameter("@RoleAssetTypesId", roleAssetTypeId), // new SqlParameter("@PermissionId", permission.PermissionId), // new SqlParameter("@IsIncludesFilter", permission.IsIncludesPermission), // new SqlParameter() { ParameterName = "@FilterLogic", Value = string.IsNullOrEmpty(permission.FilterExpression) ? null : permission.FilterExpression }, // new SqlParameter("@Created", permission.Created), // new SqlParameter("@CreatedBy", permission.CreatedBy), // new SqlParameter("@Deleted", permission.Deleted), // new SqlParameter("@DeletedBy", permission.DeletedBy) // }; // if (!base.ExecuteSql(StoredProcs.RolePermission_Save, paramList)) { return false; } // foreach (Filter f in permission.Filters) // { // if (!this.RoleFilter_Save(f, permission.Id)) { return false; } // } // return true; //} public bool RoleFilter_Save(XFilter filter, Guid rolePermissionId) { List <SqlParameter> paramList = new List <SqlParameter> { new SqlParameter("@Id", filter.Id), new SqlParameter("@RRolePermissionsId", rolePermissionId), new SqlParameter("@Order", filter.Order), new SqlParameter("@PropertyId", filter.PropertyId), new SqlParameter("@OperatorId", filter.OperatorId), new SqlParameter() { ParameterName = "@Value", Value = string.IsNullOrEmpty(filter.Value) ? null : filter.Value } }; return(base.ExecuteSql(StoredProcs.RoleFilter_Save, paramList)); }
protected override void FormatPlaceElement(PlaceObject3Tag tag, XElement elem) { if (tag.Name != null) { elem.Add(new XAttribute("name", tag.Name)); } if (tag.ClassName != null) { elem.Add(new XAttribute("className", tag.ClassName)); } if (tag.HasClipActions) { var flags1 = XClipEventFlags.GetFlags1(tag.ClipActions.Flags); var flags2 = XClipEventFlags.GetFlags2(tag.ClipActions.Flags); elem.Add(new XAttribute("allflags1", flags1)); elem.Add(new XAttribute("allflags2", flags2)); } if (tag.Ratio.HasValue) { elem.Add(new XAttribute("morph", tag.Ratio.Value)); } elem.Add(new XAttribute("replace", CommonFormatter.Format(tag.Move))); elem.Add(new XAttribute("hasImage", CommonFormatter.Format(tag.HasImage))); if (tag.BitmapCache.HasValue) { elem.Add(new XAttribute(BITMAP_CACHING_ATTRIB, tag.BitmapCache.Value)); } if (tag.ColorTransform.HasValue) { elem.Add(new XElement("colorTransform", XColorTransformRGBA.ToXml(tag.ColorTransform.Value))); } if (tag.Filters.Count > 0) { var xFilters = new XElement("filters"); foreach (var filter in tag.Filters) { xFilters.Add(XFilter.ToXml(filter)); } elem.Add(xFilters); } if (tag.HasClipActions) { elem.Add(XClipActionsList.ToXml(tag.ClipActions)); } }
public static ButtonRecordEx FromXml(XElement xRecord) { var res = new ButtonRecordEx(); var xReserved = xRecord.Attribute("reserved"); var xBlendMode = xRecord.Attribute("blendMode"); res.StateHitTest = xRecord.RequiredBoolAttribute("hitTest"); res.StateDown = xRecord.RequiredBoolAttribute("down"); res.StateOver = xRecord.RequiredBoolAttribute("over"); res.StateUp = xRecord.RequiredBoolAttribute("up"); if (xReserved != null) { res.Reserved = byte.Parse(xReserved.Value); } if (xBlendMode != null) { res.BlendMode = (BlendMode)byte.Parse(xBlendMode.Value); } if (!res.IsEndButton) { res.CharacterID = xRecord.RequiredUShortAttribute("objectID"); res.PlaceDepth = xRecord.RequiredUShortAttribute("depth"); var xMatrix = xRecord.RequiredElement("transform").Element(XMatrix.TAG_NAME); res.PlaceMatrix = XMatrix.FromXml(xMatrix); var xColorTransform = xRecord.RequiredElement("colorTransform").Element("ColorTransform2"); res.ColorTransform = XColorTransformRGBA.FromXml(xColorTransform); var xFilters = xRecord.Element("filters"); if (xFilters != null) { foreach (var xFilter in xFilters.Elements()) { res.Filters.Add(XFilter.FromXml(xFilter)); } } } return(res); }
private List <XFilter> ViewFilters_Get(Guid viewId) { List <XFilter> values = new List <XFilter>(); StringBuilder sql = new StringBuilder(); sql.AppendLine("SELECT VF.[Id], VF.[PropertyId], IsNull(P.[DisplayValue], P.[Name]) AS [Property],"); sql.AppendLine("VF.[OperatorId], O.[Operator], VF.[Value], VF.[Order]"); sql.AppendLine("FROM [ViewFilters] VF WITH (NoLock)"); sql.AppendLine("INNER JOIN [Properties] P WITH (NoLock) ON P.[Id] = VF.[PropertyId]"); sql.AppendLine("INNER JOIN [Operators] O WITH (NoLock) ON O.[Id] = VF.[OperatorId]"); sql.AppendLine("WHERE VF.[ViewId] = @ViewId"); sql.AppendLine("ORDER BY VF.[Order]"); List <SqlParameter> paramList = new List <SqlParameter> { new SqlParameter("@ViewId", viewId) }; using (SqlDataReader rdr = base.OpenDataReaderInLine(sql.ToString(), paramList)) { if ((rdr != null) && (rdr.HasRows)) { while (rdr.Read()) { Guid id = rdr.GetGuid(0); Guid propertyId = rdr.GetGuid(1); string property = rdr.GetString(2); int operatorId = rdr.GetInt32(3); string op = rdr.GetString(4); string value = rdr.GetString(5); int order = rdr.GetInt32(6); XFilter filter = new XFilter(id, propertyId, property, EnumerationOps.EFilterOperatorFromValue(operatorId), op, value, order); values.Add(filter); } } } return(values); }
public static XElement ToXml(ButtonRecordEx record) { var res = new XElement("Button", new XAttribute("hitTest", CommonFormatter.Format(record.StateHitTest)), new XAttribute("down", CommonFormatter.Format(record.StateDown)), new XAttribute("over", CommonFormatter.Format(record.StateOver)), new XAttribute("up", CommonFormatter.Format(record.StateUp)) ); if (record.Reserved != 0) { res.Add(new XAttribute("reserved", record.Reserved)); } if (record.BlendMode.HasValue) { res.Add(new XAttribute("blendMode", (byte)record.BlendMode)); } if (!record.IsEndButton) { res.Add(new XAttribute("objectID", record.CharacterID)); res.Add(new XAttribute("depth", record.PlaceDepth)); res.Add(new XElement("transform", XMatrix.ToXml(record.PlaceMatrix))); res.Add(new XElement("colorTransform", XColorTransformRGBA.ToXml(record.ColorTransform))); if (record.Filters.Count > 0) { var xFilters = new XElement("filters"); foreach (var filter in record.Filters) { xFilters.Add(XFilter.ToXml(filter)); } res.Add(xFilters); } } return(res); }
/// <summary> /// 是否存在记录 /// </summary> /// <param name="where"></param> /// <param name="zGeo"></param> /// <param name="rel"></param> /// <returns></returns> public static bool HasRecord(this IFeatureClass featureClass, string where = "1=1", IGeometry geo = null, esriSpatialRelEnum rel = esriSpatialRelEnum.esriSpatialRelIntersects) { IQueryFilter filter = XFilter.CreateFilter(where, geo, featureClass.ShapeFieldName, rel); return(featureClass.HasRecord(filter)); }
/// <summary> /// Returns a cursor that can be used to update features selected by the specified /// </summary> /// <param name="filter"></param> /// <param name="useBuffering"></param> /// <returns></returns> public static IFeatureCursor Update(this IFeatureClass featureClass, string where = "1=1", IGeometry geo = null, esriSpatialRelEnum rel = esriSpatialRelEnum.esriSpatialRelIntersects, bool useBuffering = true) { IQueryFilter filter = XFilter.CreateFilter(where, geo, featureClass.ShapeFieldName, rel); return(featureClass.Update(filter, useBuffering)); }
/// <summary> /// 空间属性查询 /// </summary> /// <param name="where"></param> /// <param name="geometry"></param> /// <returns></returns> public static IFeatureCursor Search(this IFeatureClass featureClass, string where = "1=1", IGeometry geo = null, esriSpatialRelEnum rel = esriSpatialRelEnum.esriSpatialRelIntersects, bool Recycling = false) { IQueryFilter filter = XFilter.CreateFilter(where, geo, featureClass.ShapeFieldName, rel); return(featureClass.Search(filter, Recycling)); }