Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        //[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));
        }
Ejemplo n.º 3
0
 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));
     }
 }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        /// <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));
        }
Ejemplo n.º 8
0
        /// <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));
        }
Ejemplo n.º 9
0
        /// <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));
        }