private static void PackReshapeResponseFeatures(
            AdvancedReshapeResponse result,
            [NotNull] IEnumerable <IFeature> storedFeatures,
            [NotNull] IDictionary <IGeometry, NotificationCollection> reshapedGeometries,
            bool openJawReshapeOccurred,
            bool notificationIsWarning)
        {
            foreach (IFeature storedFeature in storedFeatures)
            {
                IFeature  feature     = storedFeature;
                IGeometry newGeometry = storedFeature.Shape;

                var resultFeature = new ResultFeatureMsg();

                GdbObjectMsg resultFeatureMsg =
                    ProtobufGdbUtils.ToGdbObjectMsg(feature, newGeometry,
                                                    storedFeature.Class.ObjectClassID);

                resultFeature.UpdatedFeature = resultFeatureMsg;

                if (reshapedGeometries.ContainsKey(newGeometry) &&
                    (reshapedGeometries[newGeometry] != null))
                {
                    foreach (INotification notification in reshapedGeometries[newGeometry])
                    {
                        resultFeature.Notifications.Add(notification.Message);
                        resultFeature.HasWarning = notificationIsWarning;
                    }
                }

                result.ResultFeatures.Add(resultFeature);
            }
        }
Пример #2
0
 public ReshapeResultFeature(Feature feature,
                             ResultFeatureMsg resultFeatureMsg)
 {
     _resultFeatureMsg = resultFeatureMsg;
     Feature           = feature;
 }