Пример #1
0
        public RFiDChipParentLayerViewModel(string _text)
        {
            ID = new Random().Next();

            mifareClassicUidModel    = new MifareClassicChipModel();
            mifareDesfireUidModel    = new MifareDesfireChipModel();
            mifareUltralightUidModel = new MifareUltralightChipModel();

            ParentNodeHeader = _text;
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        public MifareUltralightSetupViewModel()
        {
            MefHelper.Instance.Container.ComposeParts(this);             //Load Plugins

            chipModel = new MifareUltralightChipModel(string.Format("Task Description: {0}", SelectedTaskDescription), CARD_TYPE.MifareUltralight);

            childNodeViewModelFromChip = new RFiDChipChildLayerViewModel(pageModel, null, CARD_TYPE.MifareUltralight, null, true);
            childNodeViewModelTemp     = new RFiDChipChildLayerViewModel(pageModel, null, CARD_TYPE.MifareUltralight, null, true);

            MifareUltralightPages = CustomConverter.GenerateStringSequence(0, 15).ToArray();

            SelectedUltralightPageCurrent = "0";
        }
Пример #3
0
        public RFiDChipParentLayerViewModel(MifareUltralightChipModel _uidModel, ObservableCollection <IDialogViewModel> _dialogs, bool _isTask = false)
        {
            ID = new Random().Next();

            if (_dialogs != null)
            {
                dialogs = _dialogs;
            }

            isTask   = _isTask;
            settings = new SettingsReaderWriter();
            mifareUltralightUidModel = _uidModel;
            CardType = mifareUltralightUidModel.CardType;

            _cmdReadAllPages   = new RelayCommand(MifareUltralightQuickCheck);
            _cmdDeleteThisNode = new RelayCommand(DeleteMeCommand);

            ContextMenuItems = new List <MenuItem>();
            ContextMenuItems.Add(new MenuItem()
            {
                Header  = ResourceLoader.getResource("menuItemContextMenuParentNodeQuickCheck"),
                Command = _cmdReadAllPages,
                ToolTip = new ToolTip()
                {
                    Content = ResourceLoader.getResource("toolTipContextMenuParentNodeMifareClassicQuickCheck")
                }
            });

            ContextMenuItems.Add(new MenuItem()
            {
                Header  = "Delete Node",
                Command = _cmdDeleteThisNode
            });

            _children = new ObservableCollection <RFiDChipChildLayerViewModel>();

            if (!isTask)
            {
                LoadChildren();
            }

            IsSelected = true;

            if (mifareUltralightUidModel != null)
            {
                ParentNodeHeader = String.Format("ChipType: {1}\nUid: {0}", mifareUltralightUidModel.UidNumber, Enum.GetName(typeof(CARD_TYPE), CardType));
            }
        }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="_selectedSetupViewModel"></param>
        /// <param name="_dialogs"></param>
        public MifareUltralightSetupViewModel(object _selectedSetupViewModel, ObservableCollection <IDialogViewModel> _dialogs)
        {
            try
            {
                MefHelper.Instance.Container.ComposeParts(this);                 //Load Plugins

                databaseReaderWriter = new DatabaseReaderWriter();

                chipModel = new MifareUltralightChipModel(string.Format("Task Description: {0}", SelectedTaskDescription), CARD_TYPE.MifareUltralight);

                pageModel            = new MifareUltralightPageModel(new byte[4], 0);
                pageModel.PageNumber = selectedUltralightPageCurrentAsInt;

                childNodeViewModelFromChip = new RFiDChipChildLayerViewModel(pageModel, null, CARD_TYPE.MifareUltralight, null, true);
                childNodeViewModelTemp     = new RFiDChipChildLayerViewModel(pageModel, null, CARD_TYPE.MifareUltralight, null, true);

                if (_selectedSetupViewModel is MifareUltralightSetupViewModel)
                {
                    PropertyInfo[] properties = typeof(MifareUltralightSetupViewModel).GetProperties(BindingFlags.Public | BindingFlags.Instance);

                    foreach (PropertyInfo p in properties)
                    {
                        // If not writable then cannot null it; if not readable then cannot check it's value
                        if (!p.CanWrite || !p.CanRead)
                        {
                            continue;
                        }

                        MethodInfo mget = p.GetGetMethod(false);
                        MethodInfo mset = p.GetSetMethod(false);

                        // Get and set methods have to be public
                        if (mget == null)
                        {
                            continue;
                        }
                        if (mset == null)
                        {
                            continue;
                        }

                        p.SetValue(this, p.GetValue(_selectedSetupViewModel));
                    }
                }

                else
                {
                    SelectedTaskIndex       = "0";
                    SelectedTaskDescription = "Enter a Description";
                }

                MifareUltralightPages = CustomConverter.GenerateStringSequence(0, 15).ToArray();

                SelectedUltralightPageCurrent = "0";

                HasPlugins = items != null?items.Any() : false;

                if (HasPlugins)
                {
                    SelectedPlugin = Items.FirstOrDefault();
                }
            }
            catch (Exception e)
            {
                LogWriter.CreateLogEntry(string.Format("{0}: {1}; {2}", DateTime.Now, e.Message, e.InnerException != null ? e.InnerException.Message : ""));
            }
        }