예제 #1
0
        public void OpenTask(int taskId)
        {
            TableViewModel table = LoadTask(taskId);

            if (table == null)
            {
                return;
            }

            this.Table = table;

            try
            {
                Network = new NetworkViewModel(table.TaskId, table.Type, table.StatesCount, table.InputsCount, table.OutputsCount);
                TableChanged?.Invoke(this, new TableChangedEventArgs(Table));
                UpdatePossibleListsValues();
            }
            catch
            {
                Network = null;
                TableChanged?.Invoke(this, new TableChangedEventArgs(null));
            }
            finally
            {
                _filePath = "";
            }
        }
예제 #2
0
        /// <summary>
        /// Populates the layer data from the given table
        /// </summary>
        /// <param name="tableAuthoring"></param>
        public void SetTable(TableAuthoring tableAuthoring)
        {
            var tableChanged = _tableAuthoring != tableAuthoring;

            _tableAuthoring = tableAuthoring;
            _layers.Clear();
            Rebuild();
            if (tableChanged)
            {
                TableChanged?.Invoke();
            }
        }
예제 #3
0
        /// <summary>
        /// Populates the layer data from the given table
        /// </summary>
        /// <param name="tableComponent"></param>
        public void SetTable(TableComponent tableComponent)
        {
            var tableChanged = _tableComponent != tableComponent;

            _tableComponent = tableComponent;
            _layers.Clear();
            Rebuild();
            if (tableChanged)
            {
                TableChanged?.Invoke();
            }
        }
        private void OnTableChanged(string message)
        {
            var root = XElement.Parse(message.Trim((char)65279));

            var deleted   = root.Descendants("deleted").FirstOrDefault();
            var inserted  = root.Descendants("inserted").FirstOrDefault();
            var eventArgs = CreateEventArgs(
                FromXElement(deleted, "deleted"),
                FromXElement(inserted, "inserted")
                );

            if (eventArgs != null)
            {
                TableChanged?.Invoke(this, eventArgs);
            }
        }
예제 #5
0
        private void OnDbEvent(object sender, FbRemoteEventCountsEventArgs eventArgs)
        {
            Logger.LogInformation($"New event: {eventArgs.Name}");

            var model = GetModelOrNull(eventArgs.Name);

            if (model == null)
            {
                Logger.LogWarning($"Can't find model for event: {eventArgs.Name}");
                return;
            }

            var models = _tempDbReader.ReadModels <TModel>();
            var args   = new TableChangedEventArgs <TModel>()
            {
                TotalChangedModels = models
            };

            TableChanged?.Invoke(this, args);
        }
예제 #6
0
 private void OnPropertyChanged()
 {
     TableChanged?.Invoke(this, new EventArgs());
 }
 protected void OnTableChanged()
 {
     TableChanged?.Invoke(this, EventArgs.Empty);
 }
예제 #8
0
 protected virtual void OnTableChanged(TableEventArgs e) => TableChanged?.Invoke(this, e);