コード例 #1
0
        /// <summary>
        /// Initializes the specified model.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="processEdit">The process edit.</param>
        /// <param name="fieldEdit">The field edit.</param>
        public void Init(ChecklistSettingsStepEdit model, ProcessEdit processEdit, FieldEdit fieldEdit)
        {
            StepModel = model;
            ProcessEdit = processEdit;
            FieldEdit = fieldEdit;

            FilterGuid = model.FilterGuid ?? Guid.Empty;
            FilterDefinition = model.FilterDefinition;

            var weakListener = new WeakEventListener<ChecklistFilterViewModel, ChecklistSettingsStepEdit, PropertyChangedEventArgs>(this, model);

            model.PropertyChanged += weakListener.OnEvent;
            weakListener.OnEventAction += OnReqStepPropertyChanged;
            weakListener.OnDetachAction += Static;

            LoadProcessInfo(model);
        }
        /// <summary>
        /// Loads the process information.
        /// </summary>
        /// <param name="step">The step.</param>
        private void LoadProcessInfo(ChecklistSettingsStepEdit step)
        {
            IsProcessSelected = false;

            if (step == null)
            {
                FilterDefinition = null;
                return;
            }

            if (string.IsNullOrWhiteSpace(step.AnswerProcessSystemName))
            {
                FilterDefinition = null;
                return;
            }
            IsProcessSelected = true;

            PublishedProcessWithFiltersInfo.BeginGetInfo(step.AnswerProcessSystemName, (s, e) =>
            {
                if (e.Error == null && !string.IsNullOrEmpty(e.Object.SystemName))
                {
                    SetupFilters(e.Object);
                }
            });
        }
コード例 #3
0
 private static void Static(WeakEventListener<ChecklistFilterViewModel, ChecklistSettingsStepEdit, PropertyChangedEventArgs> listener, ChecklistSettingsStepEdit source)
 {
     source.PropertyChanged -= listener.OnEvent;
 }