示例#1
0
        private void CheckSeeContainment(ref ISet primaryParcels, ISDUTLib.tm.Transaction tx)
        {
            IPolygon theSee = tx.get_SEE();
            IRelationalOperator theRelOp = (IRelationalOperator)theSee;

            primaryParcels.Reset();
            int remCount = 0;

            IFeature thePP = (IFeature)primaryParcels.Next();
            while (thePP != null)
            {
                if (thePP.Shape == null || thePP.Shape.IsEmpty)
                {
                    primaryParcels.Remove(thePP);
                    remCount++;
                }
                else
                {
                    theSee.Project(thePP.Shape.SpatialReference);
                    if (theRelOp.Contains(thePP.Shape) == false)
                    {
                        primaryParcels.Remove(thePP);
                        remCount++;
                    }
                }
                thePP = (IFeature)primaryParcels.Next();
            }

            if (remCount == 1)
            {
                MessageBox.Show(remCount + " primary parcel was removed for reporting because it was not entirely within the SEE.");
            }
            else if (remCount > 1)
            {
                MessageBox.Show(remCount + " primary parcels were removed for reporting because they were not entirely within the SEE.");
            }
        }
示例#2
0
        private bool EvaluateFilter(string filter, ISDUTLib.qa.dao.QAError error)
        {
            if (filter == null || error == null || error.Error == null)
                return false;

            if (error.Error.ErrorType.ToUpper().IndexOf(filter) >= 0)
                return true;

            if (error.Error.Status.ToUpper().IndexOf(filter) >= 0)
                return true;

            if (error.Error.Description.ToUpper().IndexOf(filter) >= 0)
                return true;

            if (error.ObjectID.ToString().IndexOf(filter) >= 0)
                return true;

            switch (error.Error.Severity)
            {
                case 1:
                    if ("HIGH".IndexOf(filter) >= 0)
                        return true;
                    break;
                case 2:
                    if ("MEDIUM".IndexOf(filter) >= 0)
                        return true;
                    break;
                case 3:
                    if ("LOW".IndexOf(filter) >= 0)
                        return true;
                    break;
            }

            return false;
        }