Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        public RouteRegistry(List <Route> InRoutes = null, TagRegistry InTagRegistry = null)
        {
            TagRegistry             = InTagRegistry;
            TagRegistry.TagDeleted += (Guid Id) =>
            {
                bool TagsRemoved = false;

                for (int i = 0; i < Routes.Count; i++)
                {
                    Route route = Routes[i];
                    if (route.SourceTagId == Id || route.DestinationTagId == Id)
                    {
                        RouteDeleted?.Invoke(route.Id);

                        Routes.RemoveAt(i);
                        i--;

                        TagsRemoved = true;
                    }
                }

                if (TagsRemoved)
                {
                    RoutesUpdated?.Invoke();
                }
            };

            if (InRoutes != null)
            {
                Routes = InRoutes;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="TagId"></param>
        public void DeleteRoute(Guid TagId)
        {
            Route Tag = GetRouteById(TagId);

            if (Tag == null)
            {
                return;
            }

            Routes.Remove(Tag);

            RouteDeleted?.Invoke(TagId);

            RoutesUpdated?.Invoke();
        }