Example #1
0
        private void handle_bindingSource_CurrentObjectChanged(object sender, CurrentObjectChangedEventArgs e)
        {
#if DEBUG_TRACE_LOG_ON
            _logger.Debug(string.Format("Form support fire triggers at start"));
#endif

            IModelEntity me = e.Current as IModelEntity;

            if (ReferenceEquals(null, me))
            {
                return; // not correct object for execution
            }
            // check if there is trigger
            _triggers.AllTriggerLists().ForEach(
                l => l.ForEach(
                    o =>
            {
                //tt(o, me, e)
                object v = me.GetModelPropertyValueByName(o.FieldName);
                if (!ReferenceEquals(null, v))
                {
                    _actions[o.ActionType].ForEach(a => FireAction(
                                                       o,
                                                       a,
                                                       e.Current,
                                                       new ModelPropertyChangedEventArgs(
                                                           o.FieldName,
                                                           new ModelPropertyChangedEventArgs.PropertyChangedChainEntry()
                    {
                        Container    = e.Current,
                        PropertyName = o.FieldName,
                        Value        = v
                    }
                                                           )
                                                       ));
                }
            }
                    ));
        }