private void UpdateState(ComObjectFullEditable source, ComObjectConfigure target)
 {
     // target.Id = source.; // musi byt lockle pro edit - musí se vytvářet samo
     target.AreaOfMemory  = source.AreaOfMemory;
     target.DbNumber      = source.DbNumber;
     target.PeriodOfCheck = source.PeriodOfCheck;
     target.StartOffset   = source.StartOffset;
     target.WorldLen      = source.WorldLen;
 }
Пример #2
0
        private void NavToAddEditComObjectModule(ComObjectConfigure p_obj)
        {
            // jeste zjistit jestli na to ma uzivatel prava
            AddEditComObjectViewModel Temp = new AddEditComObjectViewModel(p_obj);

            Temp.Done               += NavToComObjectModule;
            CurrentPage              = Temp;
            CurrentPageName          = "Add/Edit ComObject Module";
            CurrentPage.IsRightsMode = true; //volani permission modulu
        }
 private void CopyState(ComObjectConfigure source, ComObjectFullEditable target)
 {
     if (isEditMode)
     {
         target.AreaOfMemory  = source.AreaOfMemory;
         target.DbNumber      = source.DbNumber;
         target.PeriodOfCheck = source.PeriodOfCheck;
         target.StartOffset   = source.StartOffset;
         target.WorldLen      = source.WorldLen;
     }
 }
        public AddEditComObjectViewModel(ComObjectConfigure p_comObject)
        {
            CancelCommand = new RelayCommand(OnCancel);
            SaveCommand   = new RelayCommand(OnSave, CanSave);

            if (p_comObject != null)
            {
                SetComObject(p_comObject);
            }
            else
            {
                SetComObject(null);
            }
        }
Пример #5
0
        // bude použito ve vyšší třídě
        public int AddComobject(int p_area, int p_wordLen, int p_start, int p_iPeriod, int p_iDbNumber = 1,
                                int p_rw = 0)
        {
            var tempConfiguration = new ComObjectConfigure()
            {
                AreaOfMemory  = p_area,
                WorldLen      = p_wordLen,
                StartOffset   = p_start,
                PeriodOfCheck = p_iPeriod,
                DbNumber      = p_iDbNumber,
                ERW           = p_rw
            };
            var instance = ComObjectRepository.Instance.Add(tempConfiguration);

            CommunicationObjects.Add(instance);
            instance.StateChanged += OnChangeState;



            //tohle musí být mimo v tom prostředí
            using (var db = new MES_DATABASE())
            {
                db.ComObjecTable.Add(new COM_ComObject()
                {
                    ID_COM       = instance.Id,
                    Status       = (int)instance.EModuleState,
                    AreaMemory   = instance.ObjectConfigure.AreaOfMemory,
                    StartOffSet  = instance.ObjectConfigure.StartOffset,
                    Period       = instance.ObjectConfigure.PeriodOfCheck,
                    ReadWrite    = instance.ObjectConfigure.ERW,
                    DBnumber     = instance.ObjectConfigure.DbNumber,
                    WorldLen     = instance.ObjectConfigure.WorldLen,
                    ID_PLC       = Id,
                    P_Created    = "Honza",
                    P_Modified   = "Honza",
                    TimeCreated  = DateTime.Now,
                    TimeModified = DateTime.Now,
                });
                db.SaveChanges();
            }
            GetMinPeriod();
            return(0);
        }
        public void SetComObject(ComObjectConfigure p_ComObject)
        {
            if (p_ComObject == null)
            {
                isEditMode  = false;
                p_ComObject = new ComObjectConfigure();
                PLCAll      =
                    new ObservableCollection <PLCConnectorModuleConfigure>(
                        PlcConnectorModuleRepository.Instance.PlcConnectorModulesList.Select(x => x.PlcModuleConfigure)
                        .ToList());
            }

            EdditingComObjectConfigure = p_ComObject;
            if (ComObject != null)
            {
                ComObject.ErrorsChanged -= RaiseCanExecuteChanged;
            }
            ComObject = new ComObjectFullEditable();
            ComObject.ErrorsChanged += RaiseCanExecuteChanged;
            CopyState(EdditingComObjectConfigure, ComObject);
        }
Пример #7
0
 private void OnEditComObject(ComObjectConfigure p_state)
 {
     AddEditComObjectRequested(p_state);
 }