public static IEnumerable <T> GetUniqueColumnValues <T>(ICursor cursor, string columnName)
        {
            IDataStatistics dataStatistics = null;

            try
            {
                //获取null值
                T nullValue = default(T);
                dataStatistics        = new DataStatisticsClass();
                dataStatistics.Cursor = cursor;
                dataStatistics.Field  = columnName;
                IEnumerator enumerator = dataStatistics.UniqueValues;
                enumerator.Reset();
                while (enumerator.MoveNext())
                {
                    object currValue = enumerator.Current;
                    if (currValue == DBNull.Value || currValue == null)
                    {
                        yield return(nullValue);
                    }
                    else
                    {
                        yield return((T)Convert.ChangeType(currValue, typeof(T)));
                    }
                }
            }
            finally
            {
                AOUtil.ReleaseComObjectAllRefs(dataStatistics);
            }
        }
示例#2
0
        public override void OnClick()
        {
            ILayer pLayer = (ILayer)_mapControl.CustomProperty;

            if (pLayer is IGroupLayer)
            {
                //获取GroupLayer中的图层
                var subLayers = LayerUtil.GetFeatureLayersFromGroupLayer(pLayer as IGroupLayer);
                foreach (var subLayer in subLayers)
                {
                    _mapControl.Map.DeleteLayer(subLayer);
                    AOUtil.ReleaseComObjectAllRefs(subLayer);
                }
            }
            _mapControl.Map.DeleteLayer(pLayer);
            _mapControl.ActiveView.Refresh();
            AOUtil.ReleaseComObjectAllRefs(pLayer);
        }
示例#3
0
 public override void OnClick()
 {
     _mapControl.Map.ClearLayers();
     AOUtil.ReleaseComObjectAllRefs(_mapControl.Map.Layers);
     _mapControl.ActiveView.Refresh();
 }
示例#4
0
        private void SetValues(String identifier,
                               String identifierHash,
                               String identifierHashAlgorithm,
                               String qualifier)
        {
            if (identifier == null || "".Equals(identifier))
            {
                throw new ArgumentNullException("El identificador de politica no puede ser nulo ni vacio");
            }

            this.policyIdentifier = identifier;

            if (identifierHash != null && (!"0".Equals(identifierHash)) && (identifierHashAlgorithm == null || "".Equals(identifierHashAlgorithm)))
            {
                throw new ArgumentNullException("Si se indica la huella digital del identificador de politica es obligatorio indicar tambien el algoritmo");
            }

            if (identifierHash == null)
            {
                try
                {
                    //this.policyIdentifierHash = System.Convert.ToBase64String(Digester.Digest(UrlReader.ReadUri(new Uri(identifier)), "SHA-512"));
                    //MODIFICACION DAL -> NO DEBERÍA SER "new Uri(qualifier)" EN VEZ DE "new Uri(identifier)" ????
                    if (qualifier != null)
                    {
                        this.policyIdentifierHash          = System.Convert.ToBase64String(Digester.Digest(UrlReader.ReadUri(new Uri(qualifier)), "SHA-512"));
                        this.policyIdentifierHashAlgorithm = "SHA-512";
                    }
                }
                catch (Exception e)
                {
                    throw new ArgumentNullException("Si no se especifica la huella digital de la politica es necesario que el identificador sea una URL accesible universalmente: " + e, e);
                }
            }
            else
            {
                if ("0".Equals(identifierHash))
                {
                    this.policyIdentifierHash = null;
                }
                else
                {
                    if (!AOUtil.IsBase64(new System.Text.UTF8Encoding().GetBytes(identifierHash)))
                    {
                        throw new ArgumentNullException("La huella digital de la politica debe estar en formato Base64");
                    }
                    try
                    {
                        this.policyIdentifierHashAlgorithm = AOSignConstants.GetDigestAlgorithmName(identifierHashAlgorithm);
                    }
                    catch (Exception e)
                    {
                        throw new ArgumentNullException("El algoritmo de huella digital no esta soportado: " + identifierHashAlgorithm, e);
                    }
                    this.policyIdentifierHash = identifierHash;
                }
            }

            if (qualifier != null && (!"".Equals(qualifier)))
            {
                try
                {
                    this.policyQualifier = new Uri(qualifier);
                }
                catch (Exception e)
                {
                    throw new ArgumentNullException("El calificador de la politica debe ser una URL valida", e);
                }
            }
        }