コード例 #1
0
        public void SetUp()
        {
            mainPanel = MockRepository.GenerateStub <IMainPanel>();
            form      = MockRepository.GenerateMock <IEntityForm>();
            ms        = MockRepository.GenerateStub <MappingSet>();

            Property  property = new PropertyImpl("Prop1");
            EntityKey key      = new EntityKeyImpl();

            entity = new EntityImpl("Entity1")
            {
                Key = key
            };
            entity.AddProperty(property);
            key.AddProperty(property);

            mapping = new MappingImpl();
            form.Stub(f => f.Mappings).Return(new List <Mapping> {
                mapping
            });

            EntitySet es = new EntitySetImpl();

            es.AddEntity(entity);
            ms.EntitySet  = es;
            es.MappingSet = ms;
            ms.Stub(m => m.GetMappingsContaining(entity)).Return(new List <Mapping>());

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);
        }
コード例 #2
0
ファイル: MyEntityForm.cs プロジェクト: windygu/asxinyunet
 protected override void OnPreInit(EventArgs e)
 {
     // 让页面管理器先注册,因为页面管理器要控制权限
     Manager = ManageProvider.Provider.GetService<IManagePage>().Init(this, EntityType);
     EntityForm = ManageProvider.Provider.GetService<IEntityForm>().Init(this, EntityType);
     base.OnPreInit(e);
 }
コード例 #3
0
        public void Triggering_The_AddProperty_Event_Adds_A_New_Property_To_The_Entity()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();

            Entity entity = new EntityImpl("Entity1")
            {
                Key = new EntityKeyImpl()
            };

            entity.AddProperty(new PropertyImpl("Prop1"));

            form.Expect(f => f.SetProperties(Arg <IEnumerable <Property> > .List.ContainsAll(entity.ConcreteProperties)));

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.AddNewProperty += null, form, new EventArgs());

            Assert.That(entity.Properties.Count(), Is.EqualTo(2));

            form.AssertWasCalled(f => f.Mappings = entity.Mappings(), c => c.Repeat.Twice());
            form.AssertWasCalled(f => f.SetSelectedPropertyName(entity.Properties.ElementAt(1)));
            form.VerifyAllExpectations();
        }
コード例 #4
0
        public EntityPresenter(IMainPanel mainPanel, IEntityForm form)
            : base(mainPanel)
        {
            this.form = form;

            form.NameChanged += (sender, e) => { if (!Detached)
                                                 {
                                                     entity.Name = form.EntityName;
                                                 }
            };
            form.AddNewProperty           += form_AddNewProperty;
            form.PropertyNameChanged      += form_PropertyNameChanged;
            form.CreateNewTableFromEntity += form_CreateNewTableFromEntity;
            form.RemoveEntity             += form_RemoveEntity;
            form.RemoveProperty           += form_RemoveProperty;
            form.EditProperty             += form_EditProperty;
            form.MappingsChanged          += form_MappingsChanged;
            form.NewMappingAdded          += form_NewMappingAdded;
            form.CopyProperty             += form_CopyProperty;
            form.MappingRemoved           += form_MappingRemoved;
            form.SingleMappingChanged     += form_SingleMappingChanged;
            form.DiscriminatorChanged     += form_DiscriminatorChanged;
            form.ParentEntityChanged      += form_ParentEntityChanged;
            form.ChildEntityAdded         += form_ChildEntityAdded;
            form.ChildEntityRemoved       += form_ChildEntityRemoved;

            SetupForm();
        }
コード例 #5
0
        public void Triggering_The_CreateTable_Event_Creates_A_Table_With_One_To_One_Mapping_To_The_Entity()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();

            Entity entity = new EntityImpl("Entity1");

            entity.AddProperty(new PropertyImpl("Property1")
            {
                Type = "System.Int32"
            });
            EntitySet entitySet = new EntitySetImpl();

            entitySet.AddEntity(entity);

            IDatabase database = new Database("DB1");

            new MappingSetImpl(database, entitySet);

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.CreateNewTableFromEntity += null, form, new EventArgs());

            Assert.That(database.Tables.Count, Is.EqualTo(1));
            ITable table = database.Tables[0];

            Assert.That(table.Name, Is.EqualTo("Entity1s"));
            Assert.That(table.Columns.Count, Is.EqualTo(1));
            Assert.That(table.Columns[0].Name, Is.EqualTo("Property1"));
        }
コード例 #6
0
    protected override void OnPreInit(EventArgs e)
    {
        // 让页面管理器先注册,因为页面管理器要控制权限
        //  Manager = ManageProvider.Provider.GetService<IManagePage>().Init(this, EntityType);
        EntityForm = ManageProvider.Provider.GetService <IEntityForm>().Init(this, EntityType);

        base.OnPreInit(e);
    }
コード例 #7
0
    protected override void OnPreInit(EventArgs e)
    {
        // 让页面管理器先注册,因为页面管理器要控制权限
        Manager    = CommonService.Get <IManagePage>().Init(this, EntityType);
        EntityForm = CommonService.Get <IEntityForm>().Init(this, EntityType);

        base.OnPreInit(e);
    }
コード例 #8
0
ファイル: BaseActionView.cs プロジェクト: svlcode/HomeManager
 protected void OpenEntityFormRecord(IEntityForm form)
 {
     bool refreshView = CarRefreshAfterFormHasClosed(form);
     if (refreshView)
     {
         OnRecordSaved();
     }
 }
コード例 #9
0
ファイル: MyEntityForm.cs プロジェクト: windygu/asxinyunet
    protected override void OnPreInit(EventArgs e)
    {
        // 让页面管理器先注册,因为页面管理器要控制权限
        Manager = CommonManageProvider.Provider.CreatePage(this, EntityType);
        EntityForm = CommonManageProvider.Provider.CreateForm(this, EntityType);

        base.OnPreInit(e);
    }
コード例 #10
0
        public void ImplementMember(Type type)
        {
            IEntityForm form = GetParentForm(this) as IEntityForm;

            if (form != null)
            {
                DataBindings.Add(new Binding("Text", form.EntitySource, MemberName, true, DataSourceUpdateMode.OnPropertyChanged));
            }
        }
コード例 #11
0
        public void The_Presenter_Fills_In_The_Form()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();

            form.Expect(f => f.Mappings = null)
            .IgnoreArguments()
            .WhenCalled(action => Assert.That(((IEnumerable <Mapping>)action.Arguments[0]).Count(), Is.EqualTo(0)));
            form.Expect(f => f.SetAvailableTables(null))
            .IgnoreArguments()
            .WhenCalled(action => Assert.That(((IEnumerable <ITable>)action.Arguments[0]).Count(), Is.EqualTo(0)));

            form.Expect(f => f.SetProperties(null))
            .IgnoreArguments()
            .WhenCalled(action => Assert.That(((IEnumerable <Property>)action.Arguments[0]).Count(), Is.EqualTo(1)));

            form.Expect(f => f.SetAvailableEntities(null))
            .IgnoreArguments()
            .WhenCalled(action => Assert.That(((IEnumerable <Entity>)action.Arguments[0]).Count(), Is.EqualTo(2)));

            form.Expect(f => f.SetChildEntities(null))
            .IgnoreArguments()
            .WhenCalled(action => Assert.That(((IEnumerable <Entity>)action.Arguments[0]).Count(), Is.EqualTo(1)));

            Entity    parentEntity = new EntityImpl("Parent");
            Entity    childEntity  = new EntityImpl("Child");
            Property  property     = new PropertyImpl("Prop1");
            EntityKey key          = new EntityKeyImpl();
            Entity    entity       = new EntityImpl("Entity1")
            {
                Key = key
            };

            entity.Parent = parentEntity;
            entity.AddChild(childEntity);
            entity.AddProperty(property);
            key.AddProperty(property);

            EntitySet es = new EntitySetImpl();

            es.AddEntity(parentEntity);
            es.AddEntity(entity);
            es.AddEntity(childEntity);
            MappingSet ms = new MappingSetImpl();

            ms.EntitySet = es;

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.AssertWasCalled(f => f.EntityName    = entity.Name);
            form.AssertWasCalled(f => f.Discriminator = entity.Discriminator);
            form.AssertWasCalled(f => f.ParentEntity  = entity.Parent);
            form.AssertWasCalled(f => f.SetVirtualProperties(entity.Ex));
            form.VerifyAllExpectations();
        }
コード例 #12
0
ファイル: BaseActionView.cs プロジェクト: svlcode/HomeManager
 private bool CarRefreshAfterFormHasClosed(IEntityForm form)
 {
     bool refreshView = false;
     using (form)
     {
         if (form.ShowDialog() == DialogResult.OK)
         {
             refreshView = true;
         }
     }
     return refreshView;
 }
コード例 #13
0
        public void Clear_Called()
        {
            IEntityForm form = MockRepository.GenerateMock <IEntityForm>();
            Entity      obj  = MockRepository.GenerateStub <Entity>();

            obj.Key = new EntityKeyImpl();
            IMainPanel panel = MockRepository.GenerateMock <IMainPanel>();

            var presenter = new EntityPresenter(panel, form);

            presenter.AttachToModel(obj);

            form.AssertWasCalled(f => f.Clear());
        }
コード例 #14
0
        private void CheckEntityType()
        {
            if (FormType == null)
            {
                TypeChecked = true;
                return;
            }
            if (_Form == null || _Form.IsDisposed)
            {
                if (FormType.GetInterface("IEntityControl") != null)
                {
                    _Form = new frmDocument(FormType);
                }
                else if (FormType.IsSubclassOf(typeof(Form)))
                {
                    _Form = BaseFactory.CreateInstance(FormType) as Form;
                }
                else
                {
                    throw new ApplicationException("FormType harus Form, IEntityControl");
                }

                _Ief = _Form as IEntityForm;
                if (_Ief == null)
                {
                    foreach (Control Ctrl in _Form.Controls)
                    {
                        if (object.ReferenceEquals(Ctrl.GetType(), UINType))
                        {
                            _UIN            = (UINavigator)Ctrl;
                            _UIN.EntityForm = this;
                            break;
                        }
                    }
                }
                else
                {
                    _Ief.SetOwner(this);
                }

                _Form.MdiParent = BaseWinFramework._MdiParent;
            }
            if (!TypeChecked)
            {
                EntityType = _UIN != null?_UIN.GetEntity().GetType() :
                                 _Ief != null?_Ief.GetEntityType() : null;

                TypeChecked = true;
            }
        }
コード例 #15
0
        private void OpenFormInternal <T>(IEntityForm <T> form, ListViewKey key, T entity)
            where T : IIdEntity
        {
            form.LoadEntity(entity);
            form.EntitySave += new EntitySaveEventHandler(form_EntitySave);

            if (CurrentFormTab.Controls.Count == 0 || CurrentFormTab.Controls[0] != form)
            {
                form.Dock = DockStyle.Fill;
                form.Name = key.ToString() + "Form";

                CurrentFormTab.Controls.Clear();
                CurrentFormTab.Controls.Add(form.ToControl());
            }
        }
コード例 #16
0
        public void Triggering_The_PropertyNameChanged_Event_Changes_The_Property()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();
            Entity      entity    = MockRepository.GenerateMock <Entity>();
            Property    property  = MockRepository.GenerateMock <Property>();

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.PropertyNameChanged += null, form, new PropertyNameChangeEventArgs(property, "NewName"));

            property.AssertWasCalled(e => e.Name = "NewName");
        }
コード例 #17
0
        public void Show_Property_Grid_Called()
        {
            IEntityForm form = MockRepository.GenerateMock <IEntityForm>();
            Entity      obj  = MockRepository.GenerateStub <Entity>();

            obj.Key = new EntityKeyImpl();
            IMainPanel panel = MockRepository.GenerateMock <IMainPanel>();

            EntityPresenter presenter = new EntityPresenter(panel, form);

            presenter.AttachToModel(obj);
            presenter.Show();

            panel.AssertWasCalled(p => p.ShowPropertyGrid(form));
        }
コード例 #18
0
        public void Triggering_The_ChildEntityRemoved_Event_Adds_The_New_Child()
        {
            IMainPanel  mainPanel   = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form        = MockRepository.GenerateMock <IEntityForm>();
            Entity      entity      = MockRepository.GenerateMock <Entity>();
            Entity      childEntity = MockRepository.GenerateMock <Entity>();

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.ChildEntityRemoved += null, form, new GenericEventArgs <Entity>(childEntity));

            entity.AssertWasCalled(e => e.RemoveChild(childEntity));
        }
コード例 #19
0
        public void Triggering_The_ParentEntityChanged_Event_Changes_The_Parent()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();
            Entity      entity    = MockRepository.GenerateMock <Entity>();

            form.Stub(f => f.ParentEntity).Return(new EntityImpl("Parent2"));

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.ParentEntityChanged += null, form, new EventArgs());

            entity.AssertWasCalled(e => e.Parent = form.ParentEntity);
        }
コード例 #20
0
        public void Property_Changed_Registered()
        {
            IEntityForm form = MockRepository.GenerateMock <IEntityForm>();
            Entity      obj  = MockRepository.GenerateStub <Entity>();

            obj.Key                  = new EntityKeyImpl();
            obj.EntitySet            = new EntitySetImpl();
            obj.EntitySet.MappingSet = MockRepository.GenerateMock <MappingSet>();
            IMainPanel panel = MockRepository.GenerateMock <IMainPanel>();

            var presenter = new EntityPresenter(panel, form);

            presenter.AttachToModel(obj);

            obj.AssertWasCalled(o => o.PropertyChanged += null, c => c.IgnoreArguments());
            obj.EntitySet.MappingSet.AssertWasCalled(ms => ms.PropertyChanged += null, c => c.IgnoreArguments());
        }
コード例 #21
0
        public void Triggering_The_RemoveEntity_Event_Removes_It_From_The_Model_And_Clears_The_Screen()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();

            Entity    entity    = new EntityImpl("Entity1");
            EntitySet entitySet = new EntitySetImpl();

            entitySet.AddEntity(entity);

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.RemoveEntity += null, form, new EventArgs());

            Assert.That(entity.EntitySet, Is.Null);
            Assert.That(entitySet.Entities.Count(), Is.EqualTo(0));
            // Assert that the main panel was instructed to clear the property grid.
            mainPanel.AssertWasCalled(m => m.ShowPropertyGrid(null));
        }
コード例 #22
0
        public EntityPresenter(IMainPanel mainPanel, IEntityForm form)
            : base(mainPanel)
        {
            this.form = form;

            form.NameChanged += (sender, e) => { if (!Detached) entity.Name = form.EntityName; };
            form.AddNewProperty += form_AddNewProperty;
            form.PropertyNameChanged += form_PropertyNameChanged;
            form.CreateNewTableFromEntity += form_CreateNewTableFromEntity;
            form.RemoveEntity += form_RemoveEntity;
            form.RemoveProperty += form_RemoveProperty;
            form.EditProperty += form_EditProperty;
            form.MappingsChanged += form_MappingsChanged;
            form.NewMappingAdded += form_NewMappingAdded;
            form.CopyProperty += form_CopyProperty;
            form.MappingRemoved += form_MappingRemoved;
            form.SingleMappingChanged += form_SingleMappingChanged;
            form.DiscriminatorChanged += form_DiscriminatorChanged;
            form.ParentEntityChanged += form_ParentEntityChanged;
            form.ChildEntityAdded += form_ChildEntityAdded;
            form.ChildEntityRemoved += form_ChildEntityRemoved;

            SetupForm();
        }
コード例 #23
0
        public void SetUp()
        {
            mainPanel = MockRepository.GenerateStub<IMainPanel>();
            form = MockRepository.GenerateMock<IEntityForm>();
            ms = MockRepository.GenerateStub<MappingSet>();

            Property property = new PropertyImpl("Prop1");
            EntityKey key = new EntityKeyImpl();
            entity = new EntityImpl("Entity1") { Key = key };
            entity.AddProperty(property);
            key.AddProperty(property);

            mapping = new MappingImpl();
            form.Stub(f => f.Mappings).Return(new List<Mapping> { mapping });

            EntitySet es = new EntitySetImpl();
            es.AddEntity(entity);
            ms.EntitySet = es;
            es.MappingSet = ms;
            ms.Stub(m => m.GetMappingsContaining(entity)).Return(new List<Mapping>());

            var presenter = new EntityPresenter(mainPanel, form);
            presenter.AttachToModel(entity);
        }
コード例 #24
0
        public void The_Presenter_Hooks_Up_To_The_Right_Events_On_The_Form()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();

            new EntityPresenter(mainPanel, form);

            form.AssertWasCalled(f => f.NameChanged              += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.AddNewProperty           += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.PropertyNameChanged      += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.CreateNewTableFromEntity += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.RemoveEntity             += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.RemoveProperty           += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.EditProperty             += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.MappingsChanged          += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.NewMappingAdded          += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.CopyProperty             += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.MappingRemoved           += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.SingleMappingChanged     += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.DiscriminatorChanged     += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.ParentEntityChanged      += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.ChildEntityAdded         += null, c => c.IgnoreArguments());
            form.AssertWasCalled(f => f.ChildEntityRemoved       += null, c => c.IgnoreArguments());
        }
コード例 #25
0
ファイル: MyEntityUserControl.cs プロジェクト: xlfj5211/esb
    protected override void OnInit(EventArgs e)
    {
        EntityForm = ManageProvider.Provider.GetService <IEntityForm>().Init(this, EntityType);

        base.OnInit(e);
    }
コード例 #26
0
    protected override void OnInit(EventArgs e)
    {
        EntityForm = CommonService.Get <IEntityForm>().Init(this, EntityType);

        base.OnInit(e);
    }
コード例 #27
0
ファイル: BaseActionView.cs プロジェクト: svlcode/HomeManager
 protected void OpenEntityFormRecord(IEntityForm form, int entityId)
 {
     form.SetCurrentId(entityId);
     OpenEntityFormRecord(form);
 }
コード例 #28
0
    protected override void OnInit(EventArgs e)
    {
        EntityForm = ManageProvider.Provider.GetService<IEntityForm>().Init(this, EntityType);

        base.OnInit(e);
    }