public IMeasuringElementEditorViewModel CreateAnalogMeasuringElementEditorViewModel(
            IAnalogMeasuringElement analogMeasuringElement = null)
        {
            if (analogMeasuringElement == null)
            {
                analogMeasuringElement = _measuringElementFactory.CreateAnalogMeasuringElement();
            }

            IAnalogMeasuringElementEditorViewModel analogMeasuringElementEditorViewModel =
                _container.Resolve <IMeasuringElementEditorViewModel>(MeasuringKeys.ANALOG_MEASURING_ELEMENT +
                                                                      ApplicationGlobalNames.CommonInjectionStrings
                                                                      .EDITOR_VIEWMODEL) as
                IAnalogMeasuringElementEditorViewModel;


            analogMeasuringElementEditorViewModel.Address              = analogMeasuringElement.Address;
            analogMeasuringElementEditorViewModel.NumberOfPoints       = analogMeasuringElement.NumberOfPoints;
            analogMeasuringElementEditorViewModel.MeasureUnit          = analogMeasuringElement.MeasureUnit;
            analogMeasuringElementEditorViewModel.IsMeasureUnitEnabled = analogMeasuringElement.IsMeasureUnitEnabled;
            InitDefaults(analogMeasuringElementEditorViewModel, analogMeasuringElement);
            var formatterParametersViewModel = StaticContainer.Container.Resolve <IFormatterViewModelFactory>()
                                               .CreateFormatterViewModel(analogMeasuringElement.UshortsFormatter);

            analogMeasuringElementEditorViewModel.FormatterParametersViewModel = formatterParametersViewModel;
            return(analogMeasuringElementEditorViewModel);
        }
Exemple #2
0
        private async void OnExecuteExportJournal()
        {
            var nameForUiLocalized = NameForUiKey;

            _localizerService.TryGetLocalizedString(NameForUiKey, out nameForUiLocalized);
            var sfd = new SaveFileDialog
            {
                Filter     = " HTML файл (*html)|*html" + "|Все файлы (*.*)|*.* ",
                DefaultExt = ".html",
                FileName   = $"{nameForUiLocalized} {DeviceContext.DeviceName}"
            };

            if (sfd.ShowDialog() == true)
            {
                try
                {
                    File.WriteAllText(sfd.FileName,
                                      await _typesContainer
                                      .Resolve <IHtmlRenderer <IUniconJournalViewModel, JournalExportSelector> >()
                                      .RenderHtmlString(this, new JournalExportSelector()));
                    _logService.LogMessage(ApplicationGlobalNames.StatusMessages.FILE_EXPORT_SUCCESSFUL);
                }
                catch (Exception e)
                {
                    _logService.LogMessage(e.Message + Environment.NewLine + e.StackTrace, LogMessageTypeEnum.Error);
                }
            }
        }
Exemple #3
0
        public void UpdateBitOptions(IMatrixTemplate matrixTemplate)
        {
            List <IBitOption> resultBitOptions = new List <IBitOption>();

            foreach (IVariableColumnSignature variableOptionSignature in matrixTemplate.VariableColumnSignatures)
            {
                if (matrixTemplate.MatrixVariableOptionTemplate is ListMatrixVariableOptionTemplate)
                {
                    foreach (IOptionPossibleValue optionPossibleValue in
                             (matrixTemplate.MatrixVariableOptionTemplate as ListMatrixVariableOptionTemplate)
                             .OptionPossibleValues)
                    {
                        IBitOption bitOption = _container.Resolve <IBitOption>(MatrixKeys.LIST_MATRIX_BIT_OPTION);
                        ((ListMatrixBitOption)bitOption).OptionPossibleValue = optionPossibleValue;
                        bitOption.VariableColumnSignature = variableOptionSignature;

                        IBitOption existing =
                            matrixTemplate.ResultBitOptions.FirstOrDefault((option => option.IsBitOptionEqual(bitOption)));
                        resultBitOptions.Add(existing ?? bitOption);
                    }
                }
                else if (matrixTemplate.MatrixVariableOptionTemplate is BoolMatrixVariableOptionTemplate)
                {
                    IBitOption bitOption = _container.Resolve <IBitOption>(MatrixKeys.BOOL_MATRIX_BIT_OPTION);
                    bitOption.VariableColumnSignature = variableOptionSignature;

                    IBitOption existing =
                        matrixTemplate.ResultBitOptions.FirstOrDefault((option => option.IsBitOptionEqual(bitOption)));
                    resultBitOptions.Add(existing ?? bitOption);
                }
            }


            matrixTemplate.ResultBitOptions = resultBitOptions;
        }
Exemple #4
0
        public T CreateEditorViewModelByStrongName(IStronglyNamed modelStronglyNamed)
        {
            T viewModel = _container.Resolve <T>(modelStronglyNamed.StrongName + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);

            viewModel.Model = modelStronglyNamed;
            return(viewModel);
        }
Exemple #5
0
        public ConnectionTests()
        {
            _typesContainer =
                new TypesContainer(Program.GetApp().Container.Resolve(typeof(IUnityContainer)) as IUnityContainer);
            _device        = Program.GetDevice();
            _configuration = _device.DeviceFragments.First(fragment => fragment.StrongName == "Configuration") as
                             IDeviceConfiguration;

            _shell = _typesContainer.Resolve <ShellViewModel>();
            _deviceViewModelFactory = _typesContainer.Resolve <IDeviceViewModelFactory>();
            var deviceMemory = new DeviceMemory();

            _typesContainer.Resolve <IDevicesContainerService>()
            .AddConnectableItem(_device);
            _device.DeviceMemory            = deviceMemory;
            _deviceViewModel                = _shell.ProjectBrowserViewModel.DeviceViewModels[0];
            _configurationFragmentViewModel = null;
            _configurationFragmentViewModel = _shell.ProjectBrowserViewModel.DeviceViewModels[0].FragmentViewModels
                                              .First(model => model.NameForUiKey == "Configuration") as
                                              RuntimeConfigurationViewModel;
            _measuringMonitorViewModel = _shell.ProjectBrowserViewModel.DeviceViewModels[0].FragmentViewModels
                                         .First(model => model.NameForUiKey == "MeasuringMonitor") as
                                         MeasuringMonitorViewModel;

            _readCommand = _configurationFragmentViewModel.FragmentOptionsViewModel.FragmentOptionGroupViewModels
                           .First(model => model.NameKey == "Device").FragmentOptionCommandViewModels
                           .First(model => model.TitleKey == ApplicationGlobalNames.UiCommandStrings.READ_STRING_KEY)
                           .OptionCommand as RelayCommand;
        }
        private void InitializeProperty(IRuntimePropertyViewModel runtimePropertyViewModel, IProperty property)
        {
            runtimePropertyViewModel.IsMeasureUnitEnabled = property.IsMeasureUnitEnabled;
            runtimePropertyViewModel.MeasureUnit          = property.MeasureUnit;
            runtimePropertyViewModel.RangeViewModel       = _container.Resolve <IRangeViewModel>();
            runtimePropertyViewModel.IsRangeEnabled       = property.IsRangeEnabled;
            if (property.IsRangeEnabled)
            {
                runtimePropertyViewModel.RangeViewModel.RangeFrom = property.Range.RangeFrom.ToString();
                runtimePropertyViewModel.RangeViewModel.RangeTo   = property.Range.RangeTo.ToString();
            }

            runtimePropertyViewModel.Address = property.Address;
            if (runtimePropertyViewModel is IDeviceContextConsumer deviceContextConsumer)
            {
                deviceContextConsumer.DeviceContext = _deviceContext;
            }

            if (runtimePropertyViewModel is ICanBeHidden canBeHidden)
            {
                canBeHidden.IsHidden = property.IsHidden;
            }

            runtimePropertyViewModel.IsFromBits     = property.IsFromBits;
            runtimePropertyViewModel.NumberOfPoints = property.NumberOfPoints;
            property.BitNumbers.ForEach(obj =>
                                        runtimePropertyViewModel.BitNumbersInWord.First(model => model.BitNumber == obj).IsChecked = true);

            InitializeBaseProperties(runtimePropertyViewModel, property);
        }
Exemple #7
0
        public void EditFormatterByUser(List <IUshortFormattableEditorViewModel> ushortFormattableViewModel, List <IConfigurationItemViewModel> rootConfigurationItemViewModels)
        {
            IApplicationGlobalCommands applicationGlobalCommands =
                _container.Resolve <IApplicationGlobalCommands>();

            applicationGlobalCommands?.ShowWindowModal(() => new FormatterView(),
                                                       new FormatterSelectionViewModel(_container, ushortFormattableViewModel, rootConfigurationItemViewModels));
        }
        public IMatrixMemoryVariableEditorViewModel CreateMatrixMemoryVariableEditorViewModel(IMatrixMemoryVariable model)
        {
            IMatrixMemoryVariableEditorViewModel matrixMemoryVariableEditorViewModel =
                _container.Resolve <IMatrixMemoryVariableEditorViewModel>();

            matrixMemoryVariableEditorViewModel.Model = model;
            return(matrixMemoryVariableEditorViewModel);
        }
        public IVariableSignatureEditorViewModel CreateVariableSignatureEditorViewModel(IVariableColumnSignature variableColumnSignature)
        {
            IVariableSignatureEditorViewModel variableSignatureEditorViewModel =
                _container.Resolve <IVariableSignatureEditorViewModel>();

            variableSignatureEditorViewModel.Model = variableColumnSignature;
            return(variableSignatureEditorViewModel);
        }
        public void Initialize(ITypesContainer container)
        {
            container.Register <IUniconJournal, UniconJournal>();
            container.Register <IJournalRecord, JournalRecord>();
            container.Register <IJournalParameter, JournalParameter>();
            container.Register <IComplexJournalParameter, ComplexJournalParameter>();
            container.Register <ISubJournalParameter, SubJournalParameter>();
            container.Register <IDependentJournalParameter, DependentJournalParameter>();
            container.Register <IJournalCondition, JournalParameterDependancyCondition>();
            container.Register <IJournalLoaderProvider, JournalLoaderProvider>();

            container.Register <IRecordTemplate, RecordTemplate>();
            container.Register <ILoadingSequenceLoaderRegistry, LoadingSequenceLoaderRegistry>(true);

            container.Register <IFragmentViewModel, UniconJournalViewModel>(
                JournalKeys.UNICON_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <IJournalRecordViewModel, JournalRecordViewModel>();
            container.Register <IJournalRecordFactory, JournalRecordFactory>();
            container.Register <IJournalRecordViewModelFactory, JournalRecordViewModelFactory>();

            container.Register <IJournalLoadingSequence, OffsetLoadingSequence>(JournalKeys
                                                                                .OFFSET_LOADING_SEQUENCE);
            container.Register <IJournalLoadingSequence, IndexLoadingSequence>(JournalKeys
                                                                               .INDEX_LOADING_SEQUENCE);

            //ISerializerService serializerService = container.Resolve<ISerializerService>();
            //serializerService.AddKnownTypeForSerializationRange(new[]
            //{
            //    typeof(DependentJournalParameter), typeof(JournalParameterDependancyCondition),
            //    typeof(UniconJournal), typeof(JournalRecord), typeof(JournalParameter), typeof(RecordTemplate),
            //    typeof(SubJournalParameter), typeof(ComplexJournalParameter), typeof(OffsetLoadingSequence), typeof(IndexLoadingSequence)
            //});
            //serializerService.AddNamespaceAttribute("journal", "UniconJournalNS");
            //serializerService.AddNamespaceAttribute("journalRecord", "JournalRecordNS");
            //serializerService.AddNamespaceAttribute("journalParameter", "JournalParameterNS");
            //serializerService.AddNamespaceAttribute("subJournalParameter", "SubJournalParameterNS");
            //serializerService.AddNamespaceAttribute("complexJournalParameter", "ComplexJournalParameterNS");
            //serializerService.AddNamespaceAttribute("offsetLoadingSequence", "OffsetLoadingSequenceNS");
            //serializerService.AddNamespaceAttribute("indexLoadingSequence", "IndexLoadingSequenceNS");
            //serializerService.AddNamespaceAttribute("recordTemplate", "RecordTemplateNS");
            //serializerService.AddNamespaceAttribute("journalParameterDependancyCondition",
            //    "JournalParameterDependancyConditionNS");
            //serializerService.AddNamespaceAttribute("dependentJournalParameter", "DependentJournalParameterNS");


            container.Resolve <IXamlResourcesService>().AddResourceAsGlobal("Resources/JournalDataTemplates.xaml",
                                                                            GetType().Assembly);

            container.Resolve <ILoadAllService>().RegisterFragmentLoadHandler(
                JournalKeys.UNICON_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL,
                JournalLoadHelper.GetJournalLoadingHelper());

            container.Resolve <ILoadingSequenceLoaderRegistry>().AddLoader <OffsetLoadingSequence>((context, sequence) =>
                                                                                                   new OffsetLoadingSequenceLoader(sequence as OffsetLoadingSequence, context.DataProviderContainer));

            container.Resolve <ILoadingSequenceLoaderRegistry>().AddLoader <IndexLoadingSequence>((context, sequence) =>
                                                                                                  new IndexLoadingSequenceLoader(sequence as IndexLoadingSequence, context.DataProviderContainer));
        }
Exemple #11
0
 public async Task <IFormattedValue> FormatValueAsync(IUshortsFormatter ushortsFormatter, ushort[] ushorts, FormattingContext formattingContext)
 {
     try
     {
         return(await TryFormatAsync(ushortsFormatter, ushorts, formattingContext));
     }
     catch (Exception e)
     {
         var error = _typesContainer.Resolve <IErrorValue>();
         error.ErrorMessage = e.Message;
         return(error);
     }
 }
        private void OnOpenConfigurationSettingsExecute()
        {
            IFragmentSettingsViewModel configurationSettingsViewModel =
                _container.Resolve <IFragmentSettingsViewModel>();

            if (_measuringMonitor.FragmentSettings == null)
            {
                _measuringMonitor.FragmentSettings = _container.Resolve <IFragmentSettings>();
            }
            configurationSettingsViewModel.Model = _measuringMonitor.FragmentSettings;
            _applicationGlobalCommands.ShowWindowModal(() => new MeasuringSettingsView(),
                                                       configurationSettingsViewModel);
        }
        private void OnSelectFromResourcesExecute()
        {
            var selectedFormatter =
                _sharedResourcesGlobalViewModel.OpenSharedResourcesForSelecting <IUshortsFormatter>();

            if (selectedFormatter == null)
            {
                return;
            }
            CurrentResourceString             = selectedFormatter.Name;
            IsFormatterFromResource           = true;
            SelectedUshortsFormatterViewModel = _container.Resolve <IFormatterViewModelFactory>()
                                                .CreateFormatterViewModel(selectedFormatter).RelatedUshortsFormatterViewModel;
        }
        private async void OnExecuteEditEntity(IModbusMemoryEntityViewModel modbusMemoryEntityViewModel)
        {
            IModbusEntityEditingViewModel modbusEntityEditingViewModel =
                _container.Resolve <IModbusEntityEditingViewModel>();

            modbusEntityEditingViewModel.DataProviderContainer = DeviceContext.DataProviderContainer;
            modbusEntityEditingViewModel.SetEntity(modbusMemoryEntityViewModel.Clone() as IModbusMemoryEntityViewModel);
            _applicationGlobalCommands.ShowWindowModal(() => new ModbusEntityEditingView(),
                                                       modbusEntityEditingViewModel);
            if (!IsQueriesStarted)
            {
                await OnExecuteOneQuery();
            }
        }
Exemple #15
0
        private IConfigurationItem InitializeProperty(IPropertyEditorViewModel editorViewModel, IProperty property)
        {
            property.IsMeasureUnitEnabled = editorViewModel.IsMeasureUnitEnabled;
            property.MeasureUnit          = editorViewModel.MeasureUnit;
            if (editorViewModel.IsRangeEnabled)
            {
                IRange range = _container.Resolve <IRange>();
                if (editorViewModel.RangeViewModel.RangeTo != null)
                {
                    range.RangeTo = double.Parse(editorViewModel.RangeViewModel.RangeTo);
                }
                if (editorViewModel.RangeViewModel.RangeFrom != null)
                {
                    range.RangeFrom = double.Parse(editorViewModel.RangeViewModel.RangeFrom);
                }
                property.Range          = range;
                property.IsRangeEnabled = editorViewModel.IsRangeEnabled;
            }

            if (editorViewModel.FormatterParametersViewModel != null)
            {
                property.UshortsFormatter = StaticContainer.Container.Resolve <ISaveFormatterService>()
                                            .CreateUshortsParametersFormatter(editorViewModel.FormatterParametersViewModel);
            }

            var sharedResourcesGlobalViewModel = _container.Resolve <ISharedResourcesGlobalViewModel>();

            if (sharedResourcesGlobalViewModel.CheckDeviceSharedResourcesContainsViewModel(editorViewModel))
            {
                sharedResourcesGlobalViewModel.AddResourceFromViewModel(editorViewModel, property);
            }

            property.NumberOfWriteFunction = editorViewModel.NumberOfWriteFunction;

            if (editorViewModel.DependencyViewModels != null)
            {
                List <IDependency> dependencies = new List <IDependency>();
                dependencies = editorViewModel.DependencyViewModels
                               .Select(_container.Resolve <DependencyFillHelper>().CreateDependencyModel).ToList();
                property.Dependencies = dependencies;
            }


            property.IsFromBits = editorViewModel.IsFromBits;
            property.BitNumbers = editorViewModel.BitNumbersInWord.Where(model => model.IsChecked)
                                  .Select(model => (ushort)model.BitNumber).ToList();

            if (editorViewModel is ICanBeHidden canBeHidden)
            {
                property.IsHidden = canBeHidden.IsHidden;
            }

            return(InitDefaults(property, editorViewModel));
        }
        public void OpenResourceForEdit(IResourceViewModel resource, object _owner)
        {
            IApplicationGlobalCommands applicationGlobalCommands = _container.Resolve <IApplicationGlobalCommands>();

            if (applicationGlobalCommands != null)
            {
                IResourceEditingViewModel resourceEditingViewModel = _container.Resolve <IResourceEditingViewModel>();

                if (resource.RelatedEditorItemViewModel is IUshortsFormatter
                    formatter)
                {
                    //todo
                }
            }
        }
        public async Task <IFormattedValue> VisitBoolFormatter(IUshortsFormatter boolFormatter)
        {
            IBoolValue boolValue = _typesContainer.Resolve <IBoolValue>();

            if (_ushortsPayload[0] == 0)
            {
                boolValue.BoolValueProperty = false;
            }
            else
            {
                boolValue.BoolValueProperty = true;
            }

            return(boolValue);
        }
        public IComPortConfigurationViewModel CreateComPortConfigurationViewModel(IComPortConfiguration comPortConfiguration)
        {
            IComPortConfigurationViewModel comPortConfigurationViewModel = _container.Resolve <IComPortConfigurationViewModel>();

            comPortConfigurationViewModel.ComPortConfiguration = comPortConfiguration;
            return(comPortConfigurationViewModel);
        }
Exemple #19
0
        public void Initialize(ITypesContainer container)
        {
            container.Register <IDeviceConnection, Model.ModBusRtuConnection>(StringKeys.MODBUS_RTU_CONNECTION);
            container.Register <IModbusRtuConnection, Model.ModBusRtuConnection>();
            container.Register <IDeviceConnectionViewModel, ModBusConnectionViewModel>(StringKeys.MODBUS_RTU_CONNECTION + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);

            //регистрация фабрики
            container.Register <IDeviceConnectionFactory, ModBusRtuConnectionFactory>(StringKeys.MODBUSRTU_CONNECTION_FACTORY_NAME);

            container.Register <IComPortConfigurationFactory, ComPortConfigurationFactory>();
            container.Register <IComPortConfigurationViewModelFactory, ComPortConfigurationViewModelFactory>();
            container.Register <IComPortConfiguration, ComPortConfiguration>();
            container.Register <IComPortConfigurationViewModel, ComPortConfigurationViewModel>();
            container.Register <IComPortInterrogationViewModel, ComPortInterrogationViewModel>();
            container.Register <IModBusConnectionViewModel, ModBusConnectionViewModel>();

            //регистрация менеджера подключений
            container.Register <IComConnectionManager, ComConnectionManager>(true);

            //регистрация известных для сериализации типов
            //ISerializerService serializerService = container.Resolve<ISerializerService>();
            //serializerService.AddKnownTypeForSerialization(typeof(Model.ModBusRtuConnection));
            //serializerService.AddKnownTypeForSerialization(typeof(ComPortConfiguration));
            //serializerService.AddNamespaceAttribute("modBusRtuConnection", "ModBusRtuConnectionNS");
            //serializerService.AddNamespaceAttribute("comPortConfiguration", "ComPortConfigurationNS");

            //регистрация ресурсов
            IXamlResourcesService xamlResourcesService = container.Resolve <IXamlResourcesService>();

            xamlResourcesService.AddResourceAsGlobal("Resources/ModBusRtuConnectionResources.xaml", GetType().Assembly);
            xamlResourcesService.AddResourceAsGlobal("Resources/ComPortConfigurationResources.xaml", GetType().Assembly);
        }
Exemple #20
0
        public IMeasuringElementViewModel CreateMeasuringElementViewModel(IMeasuringElement measuringElement, string groupName)
        {
            IMeasuringElementViewModel measuringElementViewModel =
                _container.Resolve <IMeasuringElementViewModel>(measuringElement.StrongName +
                                                                ApplicationGlobalNames.CommonInjectionStrings
                                                                .VIEW_MODEL);

            switch (measuringElement)
            {
            case AnalogMeasuringElement analogMeasuringElement:
                return(CreateAnalogMeasuringElementViewModel(analogMeasuringElement, groupName));

            case ControlSignal controlSignal:
                return(CreateControlSignalViewModelViewModel(controlSignal, groupName));

            case DescretMeasuringElement descretMeasuringElement:
                return(CreateDiscretMeasuringElementViewModel(descretMeasuringElement, groupName));

            case DateTimeMeasuringElement dateTimeMeasuringElement:
                return(this.CreateDateTimeMeasuringElementViewModel(dateTimeMeasuringElement, groupName));
            }

            measuringElementViewModel.GroupName = groupName;
            return(measuringElementViewModel);
        }
Exemple #21
0
        public FormulaFormatterViewModel(ILocalizerService localizerService, ITypesContainer container,
                                         Func <IArgumentViewModel> argumentViewModelGettingFunc,
                                         ISharedResourcesGlobalViewModel sharedResourcesGlobalViewModel, IFormattingService formattingService)
        {
            _localizerService               = localizerService;
            _container                      = container;
            _argumentViewModelGettingFunc   = argumentViewModelGettingFunc;
            _sharedResourcesGlobalViewModel = sharedResourcesGlobalViewModel;
            _formattingService              = formattingService;
            ArgumentViewModels              = new ObservableCollection <IArgumentViewModel>();
            _formulaFormatter               =
                _container.Resolve <IUshortsFormatter>(StringKeys.FORMULA_FORMATTER) as IFormulaFormatter;

            if (_formulaFormatter == null)
            {
                throw new ArgumentException();
            }

            CheckCommand          = new RelayCommand(OnCheckCommandExecute);
            DeleteArgumentCommand = new RelayCommand <IArgumentViewModel>(OnDeleteArgumentExecute);
            AddArgumentCommand    = new RelayCommand(OnAddArgumentExecute);
            _formulaFormatter.NumberOfSimbolsAfterComma = 3;

            InitializeFormulaTooltip();
        }
        public IUshortsFormatter CreateUshortsParametersFormatter(IFormatterParametersViewModel formatterParametersViewModel)
        {
            if (formatterParametersViewModel == null)
            {
                return(null);
            }
            if (_container.Resolve <ISharedResourcesGlobalViewModel>()
                .GetResourceViewModelByName(formatterParametersViewModel.Name).IsSuccess)
            {
                return(_container.Resolve <ISharedResourcesGlobalViewModel>()
                       .GetResourceByName(formatterParametersViewModel.Name) as IUshortsFormatter);
            }

            return(CreateUshortsParametersFormatter(formatterParametersViewModel
                                                    .RelatedUshortsFormatterViewModel));
        }
Exemple #23
0
        public void Initialize(ITypesContainer container)
        {
            container.Register(typeof(IModbusMemory), typeof(Model.ModbusMemory));
            container.Register(typeof(IMemoryConversionParameters), typeof(MemoryConversionParameters));
            container.Register(typeof(IModbusMemoryEntity), typeof(ModbusMemoryEntity));
            container.Register(typeof(IModbusMemorySettings), typeof(ModbusMemorySettings));
            container.Register(typeof(IMemoryBitViewModel), typeof(MemoryBitViewModel));
            container.Register(typeof(IModbusEntityEditingViewModel), typeof(ModbusEntityEditingViewModel));
            container.Register(typeof(IFragmentEditorViewModel), typeof(ModbusMemoryEditorViewModel),
                               ApplicationGlobalNames.FragmentInjectcionStrings.MODBUSMEMORY + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);

            container.Register(typeof(IFragmentViewModel), typeof(ModbusMemoryViewModel),
                               ApplicationGlobalNames.FragmentInjectcionStrings.MODBUSMEMORY + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register(typeof(IModbusMemorySettingsViewModel), typeof(ModbusMemorySettingsViewModel));
            container.Register(typeof(IModbusMemoryViewModel), typeof(ModbusMemoryViewModel));
            container.Register(typeof(IModbusConversionParametersViewModel),
                               typeof(ModbusConversionParametersViewModel));
            container.Register(typeof(IModbusMemoryEntityViewModel), typeof(ModbusMemoryEntityViewModel));

            //регистрация ресурсов
            container.Resolve <IXamlResourcesService>().AddResourceAsGlobal("Resources/ModbusMemoryTemplates.xaml", GetType().Assembly);

            //ISerializerService serializerService = container.Resolve<ISerializerService>();
            //serializerService.AddKnownTypeForSerialization(typeof(Model.ModbusMemory));
            //serializerService.AddNamespaceAttribute("modbusMemory", "ModbusMemoryNS");
        }
Exemple #24
0
        public void Initialize(ITypesContainer container)
        {
            container.Register <IProgrammModelEditor, ProgrammModelEditor>();

            container.Register <IFragmentEditorViewModel, ProgrammingEditorViewModel>(ProgrammingKeys.PROGRAMMING + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            //All models
            container.Register <ILibraryElement, InputEditor>(ProgrammingKeys.INPUT + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, OutputEditor>(ProgrammingKeys.OUTPUT + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, InversionEditor>(ProgrammingKeys.INVERSION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, AndEditor>(ProgrammingKeys.AND + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, OrEditor>(ProgrammingKeys.OR + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, XorEditor>(ProgrammingKeys.XOR + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, AlarmJournalEditor>(ProgrammingKeys.ALARM_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, SystemJournalEditor>(ProgrammingKeys.SYSTEM_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, TimerEditor>(ProgrammingKeys.TIMER + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, RsTrigger>(ProgrammingKeys.RS_TRIGGER + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            container.Register <ILibraryElement, SrTrigger>(ProgrammingKeys.SR_TRIGGER + ApplicationGlobalNames.CommonInjectionStrings.EDITOR);
            //All view models
            container.Register <ILogicElementEditorViewModel, InputEditorViewModel>(ProgrammingKeys.INPUT + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, OutputEditorViewModel>(ProgrammingKeys.OUTPUT + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, InversionEditorViewModel>(ProgrammingKeys.INVERSION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, AndEditorViewModel>(ProgrammingKeys.AND + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, OrEditorViewModel>(ProgrammingKeys.OR + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, XorEditorViewModel>(ProgrammingKeys.XOR + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, AlarmJournalEditorViewModel>(ProgrammingKeys.ALARM_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, SystemJournalViewModel>(ProgrammingKeys.SYSTEM_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, TimerEditorViewModel>(ProgrammingKeys.TIMER + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, RsTriggerEditorViewModel>(ProgrammingKeys.RS_TRIGGER + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);
            container.Register <ILogicElementEditorViewModel, SrTriggerEditorViewModel>(ProgrammingKeys.SR_TRIGGER + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);

            container.Resolve <IXamlResourcesService>().AddResourceAsGlobal("Resources/ProgrammingEditorTemplate.xaml", GetType().Assembly);
        }
Exemple #25
0
        public void Initialize(ITypesContainer container)
        {
            container.Register <ProgramModel>();
            container.Register <IFragmentViewModel, ProgrammingViewModel>(ProgrammingKeys.PROGRAMMING + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicDeviceProvider>();
            container.Register <SchemeTabViewModel>();
            container.Register <LogicElementsFactory>();

            container.Register <LogicElement, Input>(ProgrammingKeys.INPUT);
            container.Register <LogicElementViewModel, InputViewModel>(ProgrammingKeys.INPUT + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Output>(ProgrammingKeys.OUTPUT);
            container.Register <LogicElementViewModel, OutputViewModel>(ProgrammingKeys.OUTPUT + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Inversion>(ProgrammingKeys.INVERSION);
            container.Register <LogicElementViewModel, InversionViewModel>(ProgrammingKeys.INVERSION + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, And>(ProgrammingKeys.AND);
            container.Register <LogicElementViewModel, AndViewModel>(ProgrammingKeys.AND + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Or>(ProgrammingKeys.OR);
            container.Register <LogicElementViewModel, OrViewModel>(ProgrammingKeys.OR + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Xor>(ProgrammingKeys.XOR);
            container.Register <LogicElementViewModel, XorViewModel>(ProgrammingKeys.XOR + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, AlarmJournal>(ProgrammingKeys.ALARM_JOURNAL);
            container.Register <LogicElementViewModel, AlarmJournalViewModel>(ProgrammingKeys.ALARM_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, SystemJournal>(ProgrammingKeys.SYSTEM_JOURNAL);
            container.Register <LogicElementViewModel, SystemJournalViewModel>(ProgrammingKeys.SYSTEM_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Timer>(ProgrammingKeys.TIMER);
            container.Register <LogicElementViewModel, TimerViewModel>(ProgrammingKeys.TIMER + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, RsTrigger>(ProgrammingKeys.RS_TRIGGER);
            container.Register <LogicElementViewModel, RsTriggerViewModel>(ProgrammingKeys.RS_TRIGGER + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, SrTrigger>(ProgrammingKeys.SR_TRIGGER);
            container.Register <LogicElementViewModel, SrTriggerViewModel>(ProgrammingKeys.SR_TRIGGER + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);

            container.Resolve <IXamlResourcesService>().AddResourceAsGlobal("UI/ProgrammingViewTemplate.xaml", GetType().Assembly);
        }
Exemple #26
0
        public static IUshortsFormatterViewModel CreateFormatterViewModel(int identity, ITypesContainer typesContainer)
        {
            switch (identity)
            {
            case 1:
                return(new BoolFormatterViewModel());

            case 2:
                return(new AsciiStringFormatterViewModel());

            case 3:
                return(new DictionaryMatchingFormatterViewModel()
                {
                    DefaultMessage = "jopa",
                    UseDefaultMessage = true,
                    IsKeysAreNumbersOfBits = true,
                    KeyValuesDictionary = new ObservableCollection <BindableKeyValuePair <ushort, string> >()
                    {
                        new BindableKeyValuePair <ushort, string>()
                        {
                            Key = 0, Value = "jopa0"
                        },
                        new BindableKeyValuePair <ushort, string>()
                        {
                            Key = 1, Value = "jopa1"
                        },
                        new BindableKeyValuePair <ushort, string>()
                        {
                            Key = 2, Value = "jopa2"
                        },
                    }
                });

            case 4:
                return(new DirectFormatterViewModel());

            case 5:
                return(new StringFormatter1251ViewModel());

            case 6:
                var formuleFormatter =
                    typesContainer.Resolve <IUshortsFormatterViewModel>(StringKeys.FORMULA_FORMATTER +
                                                                        ApplicationGlobalNames
                                                                        .CommonInjectionStrings
                                                                        .VIEW_MODEL) as
                    IFormulaFormatterViewModel;
                formuleFormatter.FormulaString = "x*2+" + identity;
                formuleFormatter.ArgumentViewModels.Add(
                    new ArgumentViewModel()
                {
                    ArgumentName       = "1",
                    ResourceNameString = "testRes" + identity
                });

                return(formuleFormatter);
            }

            return(null);
        }
        public IFragmentEditorViewModel CreateFragmentEditorViewModel(IDeviceFragment deviceFragment)
        {
            IFragmentEditorViewModel fragmentEditorViewModel = _container.Resolve <IFragmentEditorViewModel>(deviceFragment.StrongName +
                                                                                                             ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);

            fragmentEditorViewModel.Initialize(deviceFragment);
            return(fragmentEditorViewModel);
        }
        public IConfigurationItem ResolveConfigurationItem()
        {
            IProperty prop = _container.Resolve(typeof(IProperty)) as IProperty;

            prop.NumberOfPoints = 1;
            return(prop);
        }
        public void Initialize(ITypesContainer container)
        {
            container.Register(typeof(IFragmentEditorViewModel), typeof(GraphicalMenuFragmentEditorViewModel),
                               GraphicalMenuKeys.GRAPHICAL_MENU +
                               ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);

            container.Resolve <IXamlResourcesService>().AddResourceAsGlobal("Resources/GraphicalMenuDataTemplates.xaml",
                                                                            GetType().Assembly);
        }
 public QuickAccessMemorySettingViewModel(Func <IRangeViewModel> rangeViewModelGettingFunc, ITypesContainer container)
 {
     _rangeViewModelGettingFunc = rangeViewModelGettingFunc;
     _container                = container;
     AddRangeCommand           = new RelayCommand(OnAddRangeExecute);
     DeleteRangeCommand        = new RelayCommand(OnDeleteRangeExecute, CanExecuteDeleteRange);
     RangeViewModels           = new ObservableCollection <IRangeViewModel>();
     _quickMemoryAccessSetting = container.Resolve <IFragmentSetting>(ApplicationGlobalNames.QUICK_ACCESS_MEMORY_CONFIGURATION_SETTING) as IQuickMemoryAccessSetting;
 }