public OpcDaTagFilterEditingViewModel(OpcTagFilterViewModel filter) { Title = "Редактирование фильтра OPC DA тега"; SelectedOpcDaTagFilter = filter; _Filters = ClientManager.SystemConfiguration.AutomationConfiguration.OpcDaTagFilters .Where(f => f.UID != filter.OpcDaTagFilter.UID); if ((filter.OpcDaServer == null) || (filter.OpcDaTag == null)) { Name = SelectedOpcDaTagFilter.OpcDaTagFilter.Name; Description = SelectedOpcDaTagFilter.OpcDaTagFilter.Description; Hysteresis = SelectedOpcDaTagFilter.OpcDaTagFilter.Hysteresis.ToString(); } else { SelectedOpcDaServer = OpcDaServers .FirstOrDefault(srv => srv.Tags .Any(tag => tag.Uid == SelectedOpcDaTagFilter.OpcDaTagFilter.TagUID)); if (SelectedOpcDaServer != null) { SelectedOpcDaTag = OpcDaServers.SelectMany(srv => srv.Tags) .FirstOrDefault(tag => tag.Uid == SelectedOpcDaTagFilter.OpcDaTagFilter.TagUID); Name = SelectedOpcDaTagFilter.OpcDaTagFilter.Name; Description = SelectedOpcDaTagFilter.OpcDaTagFilter.Description; Hysteresis = SelectedOpcDaTagFilter.OpcDaTagFilter.Hysteresis.ToString(); } } }
void InitializeFilters() { if (Filters == null) Filters = new ObservableCollection<OpcTagFilterViewModel>(); else Filters.Clear(); foreach (var filter in ClientManager.SystemConfiguration.AutomationConfiguration.OpcDaTagFilters .FindAll(x => !Procedure.OpcDaTagFiltersUids.Contains(x.UID))) { var filterViewModel = new OpcTagFilterViewModel(filter); Filters.Add(filterViewModel); } OnPropertyChanged(() => Filters); SelectedFilter = Filters.FirstOrDefault(); }
void Initialize() { Filters = new ObservableCollection<FilterViewModel>(); foreach (var filter in ClientManager.SystemConfiguration.JournalFilters) { if (Procedure.FiltersUids.Contains(filter.UID)) { var filterViewModel = new FilterViewModel(filter); Filters.Add(filterViewModel); } } OpcTagFilters = new ObservableCollection<OpcTagFilterViewModel>(); foreach (var opcFilter in ClientManager.SystemConfiguration.AutomationConfiguration.OpcDaTagFilters) { if (Procedure.OpcDaTagFiltersUids.Contains(opcFilter.UID)) { var opcFilterViewModel = new OpcTagFilterViewModel(opcFilter); OpcTagFilters.Add(opcFilterViewModel); } } }
protected override bool Save() { double hysteresis; var type = OpcDaTagFilter.GetExplicitType(SelectedOpcDaTag.TypeNameOfValue); if (type != null) { switch (type.Value) { case ExplicitType.Integer: { hysteresis = Double.Parse(Hysteresis); break; } case ExplicitType.Float: { hysteresis = Double.Parse(Hysteresis); break; } case ExplicitType.Boolean: { hysteresis = 0; break; } default: { return false; } } OpcDaTagFilterResult = new OpcTagFilterViewModel(new OpcDaTagFilter(Guid.NewGuid(), Name, Description == null ? string.Empty : Description, SelectedOpcDaTag.Uid, hysteresis, type.Value)); return true; } else { return false; } //return base.Save(); }
public void ListWasChanged(Guid filterUID) { var newFilter = ClientManager.SystemConfiguration.AutomationConfiguration.OpcDaTagFilters .FirstOrDefault(filter => filter.UID == filterUID); if (newFilter != null) { if (!Filters.Any(vm => vm.OpcDaTagFilter.UID == newFilter.UID)) { var filter = new OpcTagFilterViewModel(newFilter); Filters.Add(filter); SelectedFilter = filter; } } }
public void UpdateContent() { foreach (var filter in Filters .Where(x => !ClientManager.SystemConfiguration.JournalFilters.Any(y => y.UID == x.Filter.UID)).ToList()) Filters.Remove(filter); OpcTagFilters.Clear(); foreach (var opcFilter in ClientManager.SystemConfiguration.AutomationConfiguration.OpcDaTagFilters) { if (Procedure.OpcDaTagFiltersUids.Contains(opcFilter.UID)) { var opcFilterViewModel = new OpcTagFilterViewModel(opcFilter); OpcTagFilters.Add(opcFilterViewModel); } } SelectedOpcDaTagFilter = OpcTagFilters.FirstOrDefault(); }
void OnCreateOpcTagFilter() { var opcDaTagFilterCreationViewModel = new OpcDaTagFilterCreationViewModel(); if (DialogService.ShowModalWindow(opcDaTagFilterCreationViewModel)) { var filterViewModel = opcDaTagFilterCreationViewModel.OpcDaTagFilterResult; ClientManager.SystemConfiguration.AutomationConfiguration.OpcDaTagFilters.Add(filterViewModel.OpcDaTagFilter); var newFilter = new OpcTagFilterViewModel(filterViewModel.OpcDaTagFilter); Filters.Add(newFilter); SelectedFilter = newFilter; ServiceFactory.SaveService.AutomationChanged = true; ServiceFactoryBase.Events.GetEvent<CreateOpcDaTagFilterEvent>().Publish(filterViewModel.OpcDaTagFilter.UID); } }