コード例 #1
0
        private void _AddReference_Exec(object parameter)
        {
            var reference = new SubjectReferenceView()
            {
                Id = IdGenerator.GetId(IdTypes.Reference)
            };

            var emptyReference = new AdminFormElementView(this, reference)
            {
                CreatedElements = CreatedTypes,
                ReferenceTypes  = MainView.ReferenceTypes
            };

            ReferenceElements.Add(emptyReference);
        }
コード例 #2
0
        public void _AddParameter_Exec(object parameter)
        {
            var Parameter = new MethodParameterView()
            {
                Id        = IdGenerator.GetId(IdTypes.Parameter),
                Name      = "",
                method_id = (int)Context.GetId()
            };

            var emptyParameter = new AdminFormElementView(_View, Parameter)
            {
                AllElements = _View.AllTypes
            };

            HighSubElements.Add(emptyParameter);
        }
コード例 #3
0
        public void _AddProperty_Exec(object parameter)
        {
            var property = new SubjectPropertyView()
            {
                Id         = IdGenerator.GetId(IdTypes.Property),
                Name       = "",
                Subject_Id = (int)Context.GetId()
            };

            var emptyProperty = new AdminFormElementView(_View, property)
            {
                AllElements = _View.AllTypes
            };

            HighSubElements.Add(emptyProperty);
        }
コード例 #4
0
        public void _AddMethod_Exec(object parameter)
        {
            var method = new SubjectMethodView()
            {
                Id         = IdGenerator.GetId(IdTypes.Method),
                Name       = "",
                Subject_Id = (int)Context.GetId(),
                AccessType = AccessType.Public
            };

            var emptyMethod = new AdminFormElementView(_View, method)
            {
                AllElements = _View.AllTypes
            };

            LowSubElements.Add(emptyMethod);
        }
コード例 #5
0
        private void _AddAnswer_Exec(object parameter)
        {
            var answer = new AnswerView()
            {
                Id          = IdGenerator.GetId(IdTypes.Answer),
                answer      = "",
                IsTrue      = false,
                question_Id = (int)Context.GetId()
            };

            var emptyAnswer = new AdminFormElementView(_View, answer)
            {
                Name      = "",
                IsChecked = false
            };

            HighSubElements.Add(emptyAnswer);
        }
コード例 #6
0
        private void _AddSubject_Exec(object parameter)
        {
            var subject = new SubjectView()
            {
                Id         = IdGenerator.GetId(IdTypes.Subject),
                pattern_Id = NewPattern.Id,
                Name       = ""
            };

            CreatedTypes.Add(subject);

            AllTypes.Add(subject);

            var emptySubject = new AdminFormElementView(this, subject)
            {
                SubjectTypes = MainView.SubjectTypes
            };

            SubjectElements.Add(emptySubject);
        }
コード例 #7
0
        private void _AddQuestion_Exec(object parameter)
        {
            var question = new QuestionView()
            {
                Id         = IdGenerator.GetId(IdTypes.Question),
                Name       = "",
                Pattern_id = SelectedPattern.Id,
                question   = ""
            };

            var emptyQuestion = new AdminFormElementView(this, question)
            {
                Name         = "",
                QuestionText = ""
            };

            Questions.Add(emptyQuestion);

            SelectedQuestion = emptyQuestion;

            TestContentVisibility = Visibility.Visible;
        }
コード例 #8
0
        public async void _UpdatePattern_Exec(object parameter)
        {
            if (SelectedPattern == null)
            {
                return;
            }

            NewPattern = SelectedPattern;

            var crud = await MainView.Client.AdminManager.GetAsync(NewPattern.Id);

            var diagram = crud.Diagram;

            //set values to SubjectsElements, referenceElements, CreatedTypes, AllTypes, IdGenerator
            //Update name of pattern !!!!!!!-------------------------------

            SubjectElements = new ObservableCollection <AdminFormElementView>();

            ReferenceElements = new ObservableCollection <AdminFormElementView>();

            CreatedTypes = new ObservableCollection <SubjectView>();

            AllTypes = new ObservableCollection <SubjectView>(_BasicTypes);

            IdGenerator.SetDiagramIds(diagram);

            foreach (var item in diagram.Subjects.Where(x => x.Id > 10).ToList())
            {
                var subject = new AdminFormElementView(this, item)
                {
                    SubjectTypes = MainView.SubjectTypes,

                    SelectedSubjectType = MainView.SubjectTypes.Single(x => x.Type == item.type)
                };

                CreatedTypes.Add(item);

                AllTypes.Add(item);

                //-------------------Subjects
                foreach (var highSubItem in diagram.SubjectProperties.Where(x => x.Subject_Id == item.Id))
                {
                    subject.HighSubElements.Add(new AdminFormElementView(this, highSubItem)
                    {
                        AllElements = AllTypes,

                        SelectedElement = diagram.Subjects.Single(x => x.Id == highSubItem.Type_Id),

                        Name = highSubItem.Name
                    });
                }

                foreach (var lowSubItem in diagram.SubjectMethods.Where(x => x.Subject_Id == item.Id))
                {
                    //-----------------Methods
                    var method = new AdminFormElementView(this, lowSubItem)
                    {
                        AllElements = AllTypes,

                        Name = lowSubItem.Name,

                        SelectedElement = diagram.Subjects.Single(x => x.Id == lowSubItem.ReturnValue_Id),
                    };

                    //---------------------Parameters
                    foreach (var highSubItem in diagram.MethodParameters.Where(x => x.method_id == lowSubItem.Id))
                    {
                        method.HighSubElements.Add(new AdminFormElementView(this, highSubItem)
                        {
                            AllElements = AllTypes,

                            SelectedElement = diagram.Subjects.Single(x => x.Id == highSubItem.type_id),

                            Name = highSubItem.Name
                        });
                    }

                    subject.LowSubElements.Add(method);
                }

                SubjectElements.Add(subject);
            }

            //---------------------------References
            foreach (var item in diagram.SubjectReferences)
            {
                ReferenceElements.Add(new AdminFormElementView(this, item)
                {
                    CreatedElements = CreatedTypes,

                    ReferenceTypes = MainView.ReferenceTypes,

                    SelectedReferenceType = MainView.ReferenceTypes.Single(x => x.Type == item.type),

                    Start = diagram.Subjects.Single(x => x.Id == item.subject_Id),

                    End = diagram.Subjects.Single(x => x.Id == item.target_Id)
                });
            }

            PatternVisibility = Visibility.Collapsed;

            PanelVisibility = Visibility.Visible;

            OpenPanelVisibility = Visibility.Collapsed;

            TestVisibility = Visibility.Collapsed;
        }