Esempio n. 1
0
        public void AddTab <T>(PresenterBase <T> presenter)
        {
            TabItem newTab = null;

            for (int i = 0; i < tabs.Items.Count; i++)
            {
                TabItem existingTab = (TabItem)tabs.Items[i];

                if (existingTab.DataContext.Equals(presenter))
                {
                    tabs.Items.Remove(existingTab);
                    newTab = existingTab;
                    break;
                }
            }

            if (newTab == null)
            {
                newTab = new TabItem();

                Binding headerBinding = new Binding(presenter.TabHeaderPath);
                BindingOperations.SetBinding(
                    newTab,
                    TabItem.HeaderProperty,
                    headerBinding
                    );

                newTab.DataContext = presenter;
                newTab.Content     = presenter.View;
            }

            tabs.Items.Insert(0, newTab);
            newTab.Focus();
        }
Esempio n. 2
0
        public void MockObjectTest()
        {
            //Notice how the presenter requires a type of IViewBase as a constructor argument
            //MockObject is of that type
            PresenterBase presenter = new PresenterBase(_mock.MockObject);

            Assert.IsNotNull(presenter);
        }
Esempio n. 3
0
        protected override bool CanDrawContainerVisual(PresenterBase visualElement)
        {
            if (visualElement is LineSeries || visualElement is ScatterLineSeries ||
                visualElement is BollingerBandsIndicator)
            {
                return(false);
            }

            return(base.CanDrawContainerVisual(visualElement));
        }
Esempio n. 4
0
 public void RemoveTab <T>(PresenterBase <T> presenter)
 {
     for (int i = 0; i < tabs.Items.Count; i++)
     {
         TabItem item = (TabItem)tabs.Items[i];
         if (item.DataContext.Equals(presenter))
         {
             tabs.Items.Remove(item);
             break;
         }
     }
 }
Esempio n. 5
0
        public static T CreateDetailPresenter <T>(this PresenterBase presenter, object Item, bool IsInitialize)
        {
            var entityFactory    = ServiceLocator.Current.GetInstance <IEntityFactory>();
            var currentPresenter = entityFactory.Create <T>(new Dictionary <string, object> {
                { "Entity", Item }
            });

            if (IsInitialize)
            {
                (currentPresenter as PresenterBase).Initialize();
            }
            return(currentPresenter);
        }
Esempio n. 6
0
        public void EventBindingExampleTest()
        {
            Mock <IViewBase> mockView = factory.CreateMock <IViewBase>();

            //Create an expectation for an event binder
            mockView.Expects.One.EventBinding(v => v.Init += null);              //the mock expects the Init event to be bound

            //See how the expectation reads like an English sentence.
            //This is called *syntactic sugar*.
            //"Syntax" classes are added in just to make it read easier

            PresenterBase presenter = new PresenterBase(mockView.MockObject);

            presenter.BindEventsInternal();

            Assert.AreEqual("Constructed", presenter.Status);
        }
Esempio n. 7
0
        public void ShowPresenter(IModelObject obj)
        {
            currentPresenter = null;
            if (obj == null)
            {
                return;
            }

            // Find the first type in the list of types the presenter handles that the obj is an instance of.
            // This means that if an object implements two displayable interfaces, the first one we find will
            // be used.
            object o     = obj;
            Type   first = Presenters.Keys.FirstOrDefault(k => k.IsInstanceOfType(o));

            //if (obj is CollectionPlaceholder)
            //{
            //    CollectionPlaceholder placeholder = (CollectionPlaceholder) obj;
            //    if (placeholder.ItemType == typeof(ITable))
            //        first = typeof (ITableContainer);
            //    else if (placeholder.ItemType == typeof(IKey))
            //        first = typeof(IKeyContainer);
            //    else if (placeholder.ItemType == typeof(IIndex))
            //        first = typeof(IIndexContainer);
            //    else if (placeholder.ItemType == typeof(IColumn))
            //        first = typeof(IColumnContainer);
            //    obj = placeholder.Entity;
            //}

            if (first == null)
            {
                log.InfoFormat("We are not handling model objects of type {0} in PresenterController.ShowPresenter()", obj.GetType());
                return;
            }

            currentPresenter = Presenters[first];

            currentPresenter.DetachFromModel();
            currentPresenter.AttachToModel(obj);

            currentPresenter.Show();
        }
Esempio n. 8
0
        public void AddTab <T>(PresenterBase <T> presenter)
        {
            TabItem newTabItem = null;

            for (int i = 0; i < this.contentTabs.Items.Count; i++)
            {
                TabItem existingTabItem = (TabItem)this.contentTabs.Items[i];

                if (existingTabItem.DataContext.Equals(presenter))
                {
                    this.contentTabs.Items.Remove(existingTabItem);
                    newTabItem = existingTabItem;
                    break;
                }
            }

            if (newTabItem == null)
            {
                newTabItem = new TabItem();

                HeaderedContentControl headerContainer = new HeaderedContentControl()
                {
                    Style = FindResource("hccTabHeader") as Style
                };

                Binding headerBinding = new Binding(presenter.TabHeaderPath);
                BindingOperations.SetBinding(headerContainer, HeaderedContentControl.ContentProperty, headerBinding);

                newTabItem.Header = headerContainer;

                newTabItem.DataContext = presenter;
                newTabItem.Content     = presenter.View;
            }

            this.contentTabs.Items.Insert(0, newTabItem);
            newTabItem.Focus();
        }
        private static void ValidateChangePasswordDetails(PresenterBase presenter)
        {
            Regex regularExpression = new Regex(PasswordRegex);
            if (string.IsNullOrEmpty(presenter.OldPassword))
            {
                presenter.ValidationErrors.Add(OldPassword, Resources.ErrorMessageOldPassword);
            }

            if (string.IsNullOrEmpty(presenter.NewPassword))
            {
                presenter.ValidationErrors.Add(NewPassword, Resources.ErrorMessageNewPassword);
            }
            else if (!regularExpression.IsMatch(presenter.NewPassword))
            {
                presenter.ValidationErrors.Add(NewPassword, Resources.PasswordLengthMessage);
            }
            else if (!presenter.NewPassword.Equals(presenter.ConfirmPassword))
            {
                presenter.ValidationErrors.Add(ConfirmPassword, Resources.ErrorMessagePasswordNotMatch);
            }
            else if (presenter.NewPassword.Equals(presenter.OldPassword))
            {
                presenter.ValidationErrors.Add(NewPassword, Resources.ErrorNewPasswordNotEqualToOldPassword);
            }
        }
Esempio n. 10
0
        public ActionResult ValidateChangePasswordErrorDetails(PresenterBase presenter)
        {
            ModelState.Clear();
            if (presenter != null)
            {
                ValidateChangePasswordDetails(presenter);
            }

            return new JsonResult { Data = presenter, MaxJsonLength = int.MaxValue };
        }
Esempio n. 11
0
        public ActionResult ChangePassword(PresenterBase presenter)
        {
            if (presenter != null)
            {
                presenter.ValidationErrors.Append(this.developerService.ChangePassword(SessionData.Instance.UserInfo.Developer.DeveloperID, presenter.OldPassword.GetMD5Hash(), presenter.NewPassword.GetMD5Hash(), SessionData.Instance.UserInfo.Developer.DeveloperID));
                if (presenter.ValidationErrors.Count > 0)
                {
                    return new JsonResult { Data = presenter, MaxJsonLength = int.MaxValue };
                }

                return this.Json("true");
            }

            return this.Json(string.Empty);
        }
Esempio n. 12
0
 public NotifyPresenter(PresenterBase mainpresenter)
 {
     mainPresenter = mainpresenter;
     updatehismsg  = new IdleUpdateHisMsgStrategy(this);
 }
Esempio n. 13
0
 public void ShowPresenter(PresenterBase presenter)
 {
     currentPresenter = presenter;
     currentPresenter.Show();
 }
Esempio n. 14
0
 public void CloseTab <T>(PresenterBase <T> presenter)
 {
     View.RemoveTab(presenter);
 }