Exemplo n.º 1
0
        private static void BuildPassthroughModel(ContainerBuilder containerBuilder, EventObjectModel e)
        {
            if (e is ForkedEventObjectModel f)
            {
                Logger.Info($"Building passthrough for {f.EventType.Name}");

                containerBuilder
                .RegisterType(typeof(PassthroughHandler <, , ,>).MakeGenericType(f.FromProducerType, f.SourceEvent.EventType, f.ToProducerType, f.EventType))
                .As(typeof(IForkHandler <>).MakeGenericType(f.EventType))
                .InstancePerLifetimeScope();
            }

            foreach (var fork in e.DirectForks)
            {
                BuildPassthroughModel(containerBuilder, fork);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="om"></param>
        public EventConfigurationDialogUnlockingEventViewModel(EventObjectModel om)
        {
            resLoader = new ResourceLoader();

            TransponderModel = new TransponderModel();
            LockModels       = new ObservableCollection <LockModel>();

            TransponderModel.SelectedTransponderTriggerType = Enum.GetName(typeof(AccessType), AccessType.AccessGranted);;

            useDummyLock = false;
            this.IsModal = true;

            if (om != null)
            {
                this.TransponderModel = om.TransponderModel;
                //LockModels = om.TransponderModel.LockModels;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        public EventConfigurationDialogInputEventViewModel(EventObjectModel om)
        {
            if (om != null)
            {
                InputModel = om.InputModel;

                SelectedInputName        = om.InputModel.InputName;
                SelectedInputTriggerType = om.InputModel.InputTriggerType;

                LockNodeAddress = om.InputModel.Address;
            }
            else
            {
                InputModel = new InputModel();

                SelectedInputName        = Enum.GetName(typeof(InputsByName), InputsByName.Input1);
                SelectedInputTriggerType = Enum.GetName(typeof(InputEdgeTriggerType), InputEdgeTriggerType.RisingEdge);

                LockNodeAddress = "0x0000";
            }
        }
Exemplo n.º 4
0
        public EventEditorDialogViewModel(ObservableCollection <EventObjectModel> _staticEvents, EventObjectModel _selectedItem)
        {
            resLoader = new ResourceLoader();

            ObjectModel  = new EventObjectModel();
            staticEvents = _staticEvents;

            EventTypeComboBoxIsEnabled = false;

            EventTypeList = new ObservableCollection <string>();

            dataGridSource = new ObservableCollection <EventObjectModel>();

            this.IsModal = true;

            if (_selectedItem != null)
            {
                SelectedDataGridItem = _selectedItem;
                EventName            = _selectedItem.EventName;
                EventDescription     = _selectedItem.EventDescription;
                HasConfiguration     = _selectedItem.HasConfiguration;

                using (var resMan = new ResourceLoader())
                {
                    SelectedGeneralEventType = Enum.GetName(typeof(GeneralEventTypes), Enum.Parse(typeof(GeneralEventTypes), _selectedItem.EventType));
                }
            }


            else
            {
                EventTypeComboBoxIsEnabled = true;

                selectedGeneralEventType = Enum.GetName(typeof(GeneralEventTypes), GeneralEventTypes.UnlockingEvent);


                EventName        = resLoader.getResource("textBoxEventEditorWindowEventName");
                EventDescription = resLoader.getResource("textBoxEventEditorWindowEventDescription");
            }
        }
Exemplo n.º 5
0
 private static void FindForksToModel(EventObjectModel eventObjectModel, IReadOnlyDictionary <Type, Type[]> forksBySorceType)
 {
     if (forksBySorceType.TryGetValue(eventObjectModel.EventType, out Type[] forks))
Exemplo n.º 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="_selectedEventObjectModel"></param>
        /// <param name="_staticEvents"></param>
        public ResponseEditorDialogViewModel(ObservableCollection <EventObjectModel> _staticEvents, EventObjectModel _selectedEventObjectModel)
        {
            //responseObjectModels = objModels;
            //ResponseTypeList  = new ObservableCollection<string>(Constants.responseTypeList);

            StaticEvents = _staticEvents;

            resLoader = new ResourceLoader();

            _cmdDeleteEntry     = new RelayCommand(OnNewDeleteSelectedItemCommand);
            _cmdAddEditResponse = new RelayCommand(OnNewAddOrEditBehaviorCommand);
            _cmdAddEditSchedule = new RelayCommand(OnNewAddOrEditScheduleCommand);

            rowContextMenuItems        = new ObservableCollection <MenuItem>();
            emptySpaceContextMenuItems = new ObservableCollection <MenuItem>();

            emptySpaceContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemAddNewResponse"),
                Command = _cmdAddEditResponse
            });


            rowContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemEditResponse"),
                Command = _cmdAddEditResponse
            });


            rowContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemAddEditSchedule"),
                Command = _cmdAddEditSchedule
            });

            rowContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemDeleteResponse"),
                Command = _cmdDeleteEntry
            });

            if (_selectedEventObjectModel.ResponseCollection != null && _selectedEventObjectModel.ResponseCollection.Count > 0)
            {
                ResponseCollection   = _selectedEventObjectModel.ResponseCollection;
                ResponseObjectModel  = _selectedEventObjectModel.ResponseCollection[0];
                SelectedDataGridItem = ResponseObjectModel;
            }
            else
            {
                ResponseCollection  = new ObservableCollection <ResponseObjectModel>();
                ResponseObjectModel = new ResponseObjectModel();

                ResponseName        = resLoader.getResource("textBoxResponseEditorWindowResponseName");;
                ResponseDescription = resLoader.getResource("textBoxResponseEditorWindowResponseDescription");

                SelectedResponseType = Enum.GetName(typeof(GeneralResponseTypes), GeneralResponseTypes.MessageTELEGRAM);
            }

            this.IsModal = true;
        }
Exemplo n.º 7
0
        private void RestoreFromDB()
        {
            EventObjectModel tempModel = new EventObjectModel();

            foreach (EventObjectModel eo in dbReaderWriter.eventObjects)
            {
                foreach (ResponseObjectModel rom in eo.ResponseCollection)
                {
                    if (rom.ResponseObject is TelegramMessageObjectModel)
                    {
                        var botListQuery = DataGridSource.SelectMany(
                            u => u.ResponseCollection.Where(
                                v => v.ResponseObject is TelegramMessageObjectModel).Select(
                                w => w.ResponseObject as TelegramMessageObjectModel).Select(x => x.Bot2Use).ToList()
                            ).ToList();

                        var selectedBotQuery = DataGridSource.SelectMany(
                            u => u.ResponseCollection.Where(
                                v => v.ResponseObject is TelegramMessageObjectModel).Select(
                                w => w.ResponseObject as TelegramMessageObjectModel).Select(
                                x => x.Bot2Use)
                            ).ToList();

                        if ((rom.ResponseObject is TelegramMessageObjectModel) &&
                            !(botListQuery.Select(y => y.Token).Contains((rom.ResponseObject as TelegramMessageObjectModel).Bot2Use.Token)))
                        {
                            try{
                                (rom.ResponseObject as TelegramMessageObjectModel).Bot2Use.CreateBot();
                            }
                            catch (Exception e)
                            {
                                if (e.InnerException.GetType().ToString() == "System.Net.Http.HttpRequestException")
                                {
                                    LogWriter.CreateLogEntry(string.Format("{0}\n{1}", e.Message, e.InnerException != null ? e.InnerException.Message : ""));

                                    this.Dialogs.Add(new CustomDialogViewModel {
                                        Message = e.InnerException.InnerException.Message,
                                        Caption = "Error",

                                        OnOk = (sender2) => {
                                            sender2.Close();
                                        },

                                        OnCancel = (sender2) => {
                                            sender2.Close();
                                        },

                                        OnCloseRequest = (sender2) => {
                                            sender2.Close();
                                        }
                                    });
                                }
                            }
                        }

                        else if (botListQuery.Select(y => y.Token).Contains((rom.ResponseObject as TelegramMessageObjectModel).Bot2Use.Token))
                        {
                            (rom.ResponseObject as TelegramMessageObjectModel).Bot2Use = selectedBotQuery.Where(z => z.Token == (rom.ResponseObject as TelegramMessageObjectModel).Bot2Use.Token).FirstOrDefault();
                        }
                    }

                    else if (rom.ResponseObject is EMailResponseObjectModel)
                    {
                    }
                }

                DataGridSource.Add(eo);
                SelectedDataGridItem = eo;
                SelectedResponse     = SelectedDataGridItem.ResponseCollection.FirstOrDefault();
            }
        }