Esempio n. 1
0
        private IBindingListView CreateBindingListView(Type boType, IBusinessObjectCollection businessObjectCollection)
        {
            _logger.Log("Start CreateBindingListView - Relationship : " + PropertyName, LogCategory.Debug);
            _logger.Log(GetStackTrace(), LogCategory.Debug);
            if (businessObjectCollection == null)
            {
                var businessObjectColType = typeof(BusinessObjectCollection <>).MakeGenericType(boType);
                businessObjectCollection = (IBusinessObjectCollection)Activator.CreateInstance(businessObjectColType);
            }
            IViewBuilder viewBuilder = null;

            try
            {
                var defaultViewBuilderType = typeof(DefaultViewBuilder <>).MakeGenericType(boType);
                viewBuilder = (IViewBuilder)Activator.CreateInstance(defaultViewBuilderType);
            }
            catch (Exception e)
            {
                _logger.Log(e.Message, LogCategory.Exception);
                Console.WriteLine(e);
            }

            var bindingListType = typeof(BindingListView <>).MakeGenericType(boType);

            return((IBindingListView)Activator.CreateInstance(bindingListType, businessObjectCollection, viewBuilder));
        }
Esempio n. 2
0
 public AppBuilder(Solution solution, IViewBuilder viewBuilder, ISqlBuilder sqlBuilder)
 {
     _solution        = solution;
     _viewBuilder     = viewBuilder;
     _sqlBuilder      = sqlBuilder;
     _templateBuilder = new CatalogTemplateBuilder();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MessageBoxProvider"/> class.
 /// </summary>
 /// <param name="messageViewModelDirector">Message view model factory.</param>
 /// <param name="viewBuilder">View builder.</param>
 /// <param name="resourceHandler">Resource handler.</param>
 public MessageBoxProvider(
     IMessageViewModelDirector messageViewModelDirector,
     IViewBuilder viewBuilder,
     IResourceHandler resourceHandler)
 {
     this.messageViewModelDirector = messageViewModelDirector;
     this.viewBuilder     = viewBuilder;
     this.resourceHandler = resourceHandler;
 }
Esempio n. 4
0
        public App(AppViewModel appViewModel, IViewBuilder viewBuilder)
        {
            _appViewModel = appViewModel;

            InitializeComponent();

            Sharpnado.Shades.Initializer.Initialize(loggerEnable: true);

            MainPage = viewBuilder.Build <MainPage, MainViewModel>();
        }
Esempio n. 5
0
        public YateRenderer(IViewBuilder viewBuilder)
        {
            if (viewBuilder == null)
            {
                throw new ArgumentNullException("viewBuilder");
            }

            _log.Debug("Building YateRenderer");

            _viewBuilder = viewBuilder;
        }
 private void DebugCheckIfEqual(IViewBuilder last, IViewBuilder @new)
 {
     if (@new.Build().Equals(last?.Build()))
     {
         Logger.Debug("The views are equal.");
     }
     else
     {
         Logger.Debug("The views differ.");
         // Logger.Debug(DebugViewPrinter.PrintView(@new.Build()));
     }
 }
Esempio n. 7
0
        public static void UpdateRoot(this IViewBuilder viewBuilder, IContentControl control, IViewBuilder prevViewBuilder)
        {
            Debug.Assert(!object.ReferenceEquals(viewBuilder, prevViewBuilder));
            var last = prevViewBuilder == null
                ? FSharpOption <Types.IView> .None
                : FSharpOption <Types.IView> .Some(prevViewBuilder.Build());

            var next = viewBuilder == null
                ? FSharpOption <Types.IView> .None
                : FSharpOption <Types.IView> .Some(viewBuilder.Build());

            Avalonia.FuncUI.VirtualDom.VirtualDom.updateRoot(control, last, next);
        }
Esempio n. 8
0
        public static object Activate(IViewBuilder viewBuilder)
        {
            try {
                return(viewActivator.Activate(viewBuilder));
            }
            catch (Exception ex) {
                if (ex.InnerException != null)
                {
                    throw ex.InnerException;
                }

                throw ex;
            }
        }
        public void Test_SetViewBuilder_ShouldSet()
        {
            //---------------Set up test pack-------------------
            var          mockPageProvider = MockRepository.GenerateStub <PageProvider <FakeBO> >();
            IViewBuilder viewBuilder      = MockRepository.GenerateStub <IViewBuilder>();
            var          list             = new CachedBindingListViewSpy <FakeBO>(mockPageProvider);

            //---------------Assert Precondition----------------
            Assert.IsNull(list.ViewBuilder);
            //---------------Execute Test ----------------------
            list.ViewBuilder = viewBuilder;
            //---------------Test Result -----------------------
            Assert.AreSame(viewBuilder, list.ViewBuilder);
        }
Esempio n. 10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PatientViewModel"/> class.
        /// </summary>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <param name="eventAggregator">Event aggregator.</param>
        /// <param name="viewModelBuilder">View model builder.</param>
        /// <param name="viewBuilder">View builder.</param>
        /// <param name="messageBoxProvider">Message box provider.</param>
        public PatientViewModel(
            IUnitOfWork unitOfWork,
            IEventAggregator eventAggregator,
            IViewModelBuilder viewModelBuilder,
            IViewBuilder viewBuilder,
            IMessageBoxProvider messageBoxProvider)
        {
            this.unitOfWork         = unitOfWork;
            this.eventAggregator    = eventAggregator;
            this.viewModelBuilder   = viewModelBuilder;
            this.viewBuilder        = viewBuilder;
            this.messageBoxProvider = messageBoxProvider;

            Task.Factory.StartNewWithDefaultCulture(this.UpdateData);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="NotificationGroupDialogViewModel"/> class.
 /// </summary>
 /// <param name="unitOfWork">Unit of work.</param>
 /// <param name="viewModelBuilder">View model builder.</param>
 /// <param name="viewBuilder">View builder.</param>
 /// <param name="resourceHandler">Resource handler.</param>
 /// <param name="messageBoxProvider">Message box provider.</param>
 /// <param name="emailDeliveryService">Email delivery service.</param>
 public NotificationGroupDialogViewModel(
     IUnitOfWork unitOfWork,
     IViewModelBuilder viewModelBuilder,
     IViewBuilder viewBuilder,
     IResourceHandler resourceHandler,
     IMessageBoxProvider messageBoxProvider,
     IEmailDeliveryService emailDeliveryService)
 {
     this.unitOfWork           = unitOfWork;
     this.viewModelBuilder     = viewModelBuilder;
     this.viewBuilder          = viewBuilder;
     this.resourceHandler      = resourceHandler;
     this.messageBoxProvider   = messageBoxProvider;
     this.emailDeliveryService = emailDeliveryService;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="EducationViewModel"/> class.
        /// </summary>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <param name="viewModelBuilder">View model builder.</param>
        /// <param name="viewBuilder">View builder.</param>
        /// <param name="messageBoxProvider">Message box provider.</param>
        /// <param name="educationCache">Education cache.</param>
        public EducationViewModel(
            IUnitOfWork unitOfWork,
            IViewModelBuilder viewModelBuilder,
            IViewBuilder viewBuilder,
            IMessageBoxProvider messageBoxProvider,
            IEducationCache educationCache)
        {
            this.unitOfWork         = unitOfWork;
            this.viewModelBuilder   = viewModelBuilder;
            this.viewBuilder        = viewBuilder;
            this.messageBoxProvider = messageBoxProvider;
            this.educationCache     = educationCache;

            Task.Factory.StartNewWithDefaultCulture(this.UpdateData);
        }
        private void CreateAndUpdateView(object context)
        {
            var newView = ViewFactory(context);

            Logger.Debug("Updating UI container...");
            DebugCheckIfEqual(LastView, newView);
            newView.UpdateRoot(Container, LastView);

            Container.Tag = DateTime.Now; // save last update time

            LastView = newView;
            Logger.Debug($"UI updated. Last virtual view saved. Tagged: ({Container.Tag}).");

            Cleanup(context);
        }
Esempio n. 14
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AppointmentViewModel"/> class.
        /// </summary>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <param name="eventAggregator">Event aggregator.</param>
        /// <param name="viewModelBuilder">Appointment dialog view model.</param>
        /// <param name="viewBuilder">View builder.</param>
        /// <param name="messageBoxProvider">Message box provider.</param>
        public AppointmentViewModel(
            IUnitOfWork unitOfWork,
            IEventAggregator eventAggregator,
            IViewModelBuilder viewModelBuilder,
            IViewBuilder viewBuilder,
            IMessageBoxProvider messageBoxProvider)
        {
            this.unitOfWork         = unitOfWork;
            this.eventAggregator    = eventAggregator;
            this.viewModelBuilder   = viewModelBuilder;
            this.viewBuilder        = viewBuilder;
            this.messageBoxProvider = messageBoxProvider;

            this.Culture = Thread.CurrentThread.CurrentCulture.Name;

            Task.Factory.StartNewWithDefaultCulture(this.PopulateModelAndStaff);
        }
Esempio n. 15
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NotificationGroupViewModel"/> class.
        /// </summary>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <param name="eventAggregator">Event aggregator.</param>
        /// <param name="viewModelBuilder">View model builder.</param>
        /// <param name="viewBuilder">View builder.</param>
        /// <param name="messageBoxProvider">Message box provider.</param>
        /// <param name="applicationSettings">Application settings.</param>
        public NotificationGroupViewModel(
            IUnitOfWork unitOfWork,
            IEventAggregator eventAggregator,
            IViewModelBuilder viewModelBuilder,
            IViewBuilder viewBuilder,
            IMessageBoxProvider messageBoxProvider,
            IApplicationSettings applicationSettings)
        {
            this.unitOfWork          = unitOfWork;
            this.eventAggregator     = eventAggregator;
            this.viewModelBuilder    = viewModelBuilder;
            this.viewBuilder         = viewBuilder;
            this.messageBoxProvider  = messageBoxProvider;
            this.applicationSettings = applicationSettings;

            Task.Factory.StartNewWithDefaultCulture(this.UpdateData);
        }
Esempio n. 16
0
        public void SetViewBuilder(IViewBuilder builder)
        {
            if (_viewBuilder != null && builder.GetType() == _viewBuilder.GetType())
            {
                return;
            }

            _viewBuilder = builder;

            lstItems.Columns.Clear();
            foreach (var c in builder.ColumnSizes)
            {
                lstItems.Columns.Add(new ColumnHeader {
                    Text = c.Item1, Width = c.Item2
                });
            }
            LargeListViewUserControl_SizeChanged(this, EventArgs.Empty);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="LoginingDialogViewModel"/> class.
        /// </summary>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <param name="authenticationSession">Authentication session.</param>
        /// <param name="viewBuilder">View model builder.</param>
        /// <param name="resourceHandler">Resource handler.</param>
        public LoginingDialogViewModel(
            IUnitOfWork unitOfWork,
            IAuthenticationSession authenticationSession,
            IViewBuilder viewBuilder,
            IResourceHandler resourceHandler)
        {
            this.unitOfWork            = unitOfWork;
            this.authenticationSession = authenticationSession;
            this.viewBuilder           = viewBuilder;
            this.resourceHandler       = resourceHandler;

            this.Model = new LoginModel
            {
                IsFullValidation = false
            };

            this.isLoginEnabled = true;
        }
Esempio n. 18
0
        protected override IBindingListView GetBindingListView(IBusinessObjectCollection businessObjectCollection)
        {
            if (businessObjectCollection == null)
            {
                throw new ArgumentNullException("businessObjectCollection");
            }
            var classType = GetClassType(businessObjectCollection);

            if (this.ClassDef == null || this.ClassDef != businessObjectCollection.ClassDef)
            {
                this.ClassDef = businessObjectCollection.ClassDef;
            }
            _logger.Log("Start CreateBindingListView : classType : " + classType, LogCategory.Debug);
            _logger.Log(GetStackTrace(), LogCategory.Debug);

            //Needs this code
            //            var uiDef = ((ClassDef) this.ClassDef).GetUIDef(UiDefName);
//            if (uiDef == null)
//            {
//                throw new ArgumentException
//                    (String.Format
//                         ("You cannot Get the data for the grid {0} since the uiDef {1} cannot be found for the classDef {2}",
//                          this._gridBase.Name, UiDefName, ((ClassDef)this.ClassDef).ClassName));
//            }
            IViewBuilder viewBuilder = null;

            try
            {
                Type defaultViewBuilderType = typeof(DefaultViewBuilder <>).MakeGenericType(classType);
                viewBuilder = (IViewBuilder)Activator.CreateInstance(defaultViewBuilderType);
            }
            catch (Exception e)
            {
                _logger.Log(e.Message, LogCategory.Exception);
                Console.WriteLine(e);
            }

            var bindingListType = typeof(BindingListView <>).MakeGenericType(classType);

            _bindingListView =
                (IBindingListView)Activator.CreateInstance(bindingListType, businessObjectCollection, viewBuilder);
            return(_bindingListView);
        }
Esempio n. 19
0
        public YateViewEngine(IViewBuilder viewBuilder)
        {
            if (viewBuilder == null)
            {
                throw new ArgumentNullException("viewBuilder");
            }

            _viewBuilder = viewBuilder;

            FileExtensions = new[] { "html", "htm" };

            MasterLocationFormats = BuildFileLocations(new[]
                {
                    "~/Views/{1}/{0}.",
                    "~/Views/Shared/{0}."
                }, FileExtensions);
            ViewLocationFormats = BuildFileLocations(new[]
                {
                    "~/Views/{1}/{0}.",
                    "~/Views/Shared/{0}."
                }, FileExtensions);
            PartialViewLocationFormats = BuildFileLocations(new[]
                {
                    "~/Views/{1}/{0}.",
                    "~/Views/Shared/{0}."
                }, FileExtensions);
            AreaMasterLocationFormats = BuildFileLocations(new[]
                {
                    "~/Areas/{2}/Views/{1}/{0}.",
                    "~/Areas/{2}/Views/Shared/{0}."
                }, FileExtensions);
            AreaViewLocationFormats = BuildFileLocations(new[]
                {
                    "~/Areas/{2}/Views/{1}/{0}.",
                    "~/Areas/{2}/Views/Shared/{0}."
                }, FileExtensions);
            AreaPartialViewLocationFormats = BuildFileLocations(new[]
                {
                    "~/Areas/{2}/Views/{1}/{0}.",
                    "~/Areas/{2}/Views/Shared/{0}."
                }, FileExtensions);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="PatientDialogViewModel"/> class.
        /// </summary>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <param name="viewModelBuilder">View model builder.</param>
        /// <param name="viewBuilder">View builder.</param>
        /// <param name="messageBoxProvider">Message box provider.</param>
        /// <param name="applicationSettings">Application settings.</param>
        /// <param name="genderCache">Gender cache.</param>
        /// <param name="mode">Mode (Add/Edit).</param>
        /// <param name="model">Patient model.</param>
        public PatientDialogViewModel(
            IUnitOfWork unitOfWork,
            IViewModelBuilder viewModelBuilder,
            IViewBuilder viewBuilder,
            IMessageBoxProvider messageBoxProvider,
            IApplicationSettings applicationSettings,
            IGenderCache genderCache,
            WorkModeType mode,
            PatientModel model = null)
            : base(mode)
        {
            this.unitOfWork          = unitOfWork;
            this.viewModelBuilder    = viewModelBuilder;
            this.viewBuilder         = viewBuilder;
            this.messageBoxProvider  = messageBoxProvider;
            this.applicationSettings = applicationSettings;
            this.genderCache         = genderCache;

            Task.Factory.StartNewWithDefaultCulture(() => this.Load(model));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="NotificationGroupDialogViewModel"/> class.
        /// </summary>
        /// <param name="unitOfWork">Unit of work.</param>
        /// <param name="viewModelBuilder">View model builder.</param>
        /// <param name="viewBuilder">View builder.</param>
        /// <param name="resourceHandler">Resource handler.</param>
        /// <param name="messageBoxProvider">Message box provider.</param>
        /// <param name="emailDeliveryService">Email delivery service.</param>
        /// <param name="mode">Mode (Add/Edit).</param>
        /// <param name="model">Notification group model.</param>
        public NotificationGroupDialogViewModel(
            IUnitOfWork unitOfWork,
            IViewModelBuilder viewModelBuilder,
            IViewBuilder viewBuilder,
            IResourceHandler resourceHandler,
            IMessageBoxProvider messageBoxProvider,
            IEmailDeliveryService emailDeliveryService,
            WorkModeType mode,
            NotificationGroupModel model)
            : base(mode)
        {
            this.unitOfWork           = unitOfWork;
            this.viewModelBuilder     = viewModelBuilder;
            this.viewBuilder          = viewBuilder;
            this.resourceHandler      = resourceHandler;
            this.messageBoxProvider   = messageBoxProvider;
            this.emailDeliveryService = emailDeliveryService;

            Task.Factory.StartNewWithDefaultCulture(() => this.Load(model));
        }
        public void Test_GetItemProperties_WhenHasViewBuilder_ShouldReturnViewBuidlersGetGridView()
        {
            //---------------Set up test pack-------------------
            var          mockPageProvider = MockRepository.GenerateStub <PageProvider <FakeBO> >();
            IViewBuilder viewBuilder      = MockRepository.GenerateStub <IViewBuilder>();

            viewBuilder.Stub(builder => builder.GetPropertyDescriptors()).Return(
                new PropertyDescriptorCollection(new PropertyDescriptor[0]));
            var list = new CachedBindingListViewSpy <FakeBO>(mockPageProvider)
            {
                ViewBuilder = viewBuilder
            };

            //---------------Assert Precondition----------------
            Assert.AreSame(viewBuilder, list.ViewBuilder);
            //---------------Execute Test ----------------------
            var pds = list.GetItemProperties(new PropertyDescriptor[0]);

            //---------------Test Result -----------------------
            Assert.AreEqual(0, pds.Count);
        }
Esempio n. 23
0
        public static IViewBuilder Create(IEnumerable <ICriterion> criteria)
        {
            var criteriaList = criteria as IList <ICriterion> ?? criteria.ToList();

            IViewBuilder builder       = null;
            var          currentWeight = CriterionWeight.None;

            // Get the local criterion.
            foreach (var criterion in criteriaList.Where(c => !(c is ICriterionPlugin)))
            {
                var b = GetLocalViewBuilder(criterion);
                if (b != null)
                {
                    if (criterion.Weight >= currentWeight)
                    {
                        currentWeight = criterion.Weight;
                        builder       = b;
                    }
                }
            }

            // Get them from the plugins
            foreach (var factory in Plugins.Loaded().Select(p => p.GetViewBuilderFactory()).Where(f => f != null))
            {
                foreach (var criterion in criteriaList.OfType <ICriterionPlugin>())
                {
                    var b = factory.CreateViewBuilder(criterion);
                    if (b != null)
                    {
                        if (criterion.Weight >= currentWeight)
                        {
                            currentWeight = criterion.Weight;
                            builder       = b;
                        }
                    }
                }
            }

            return(builder ?? new DefaultViewBuilder());
        }
Esempio n. 24
0
        public ActionResult Result <T>(T ViewModel) where T : IPageViewModel
        {
            IViewBuilder handler = default(IViewBuilder);

            if (!ApplicationStartContextSecurityMVCExtensions.pageViews.TryGetValue(typeof(T), out handler))
            {
                return(Content("没有找到跟视图模型对应的视图"));
            }
            ViewBuilder <T>  builder = handler as ViewBuilder <T>;
            SharpDomView <T> page    = builder.PageBuilder(ViewModel);

            if (page is PageView <T> )
            {
                PageView <T> pv = page as PageView <T>;
                pv.MasterBuilder = builder.MasterBuilder;
            }
            else
            {
                this.ClearBzureFlag();
            }
            return(View(page, ViewModel));
        }
Esempio n. 25
0
        public virtual object Activate(IViewBuilder viewBuilder)
        {
            object view = null;
            Type   requestedViewType = (viewBuilder as ViewBuilder).RequestedViewType;
            object viewModel         = (viewBuilder as ViewBuilder).Model?.Target;
            var    initializer       = GetInitializer(viewModel.GetType(), requestedViewType);

            if (initializer != null)
            {
                view = initializer.Factory(this.iocContainer);
                var viewForModels = _viewsForViewModels [view.GetType()];
                PopulateView(view, viewModel, viewForModels);
            }
            else
            {
                throw new Exception(
                          String.Format("Initializer of type \"{1}\" not found for viewmodel: \"{0}\"", viewModel, requestedViewType)
                          );
            }

            return(view);
        }
Esempio n. 26
0
 public static void Update(this IViewBuilder viewBuilder, IControl control, IViewBuilder prevViewBuilder)
 {
     Avalonia.FuncUI.VirtualDom.VirtualDom.update(control, prevViewBuilder.Build(), viewBuilder.Build());
 }
Esempio n. 27
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SettingViewModel"/> class.
 /// </summary>
 /// <param name="viewBuilder">View builder.</param>
 public SettingViewModel(IViewBuilder viewBuilder)
 {
     this.viewBuilder = viewBuilder;
 }
Esempio n. 28
0
 /// <summary>
 /// This constructs a new BindingListView with a business object collection
 /// </summary>
 /// <param name="boCol"></param>
 /// <param name="viewBuilder"></param>
 public BindingListView(BusinessObjectCollection <T> boCol, IViewBuilder viewBuilder) : this(boCol)
 {
     this.ViewBuilder = viewBuilder;
 }
 public LilypondViewManager()
 {
     _builder = new LilypondViewBuilder();
 }
Esempio n. 30
0
 /// <summary>
 /// Sets presenter's settings
 /// </summary>
 public void RefreshPresenter(IViewBuilder viewBuilder)
 {
     _viewBuilder = viewBuilder;
     _view = viewBuilder.Build(null);
     _view.SubmitButtonPressed += ViewSubmitBtnPressed;
     _view.AutoButtonPressed += ViewAutoBtnPressed;
     _view.ResetButtonPressed += ViewResetBtnPressed;
 }
Esempio n. 31
0
 /// <summary>
 /// Represents Presenter
 /// </summary>
 public Presenter(IViewBuilder viewBuilder, IEnumerable<IModel> models)
 {
     SetModels(models);
     RefreshPresenter(viewBuilder);
     BuildStartPage(PresenterName);
 }
Esempio n. 32
0
 public static IControl Create(this IViewBuilder viewBuilder)
 {
     return(Avalonia.FuncUI.VirtualDom.VirtualDom.create(viewBuilder.Build()));
 }
Esempio n. 33
0
 public void Configure(IViewBuilder <AvailableProduct> builder)
 {
     builder.SetSchema("dbo").SetName("vwAvailableProducts");
 }
Esempio n. 34
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AboutViewModel"/> class.
 /// </summary>
 /// <param name="viewBuilder">View builder.</param>
 public AboutViewModel(IViewBuilder viewBuilder)
 {
     this.viewBuilder = viewBuilder;
 }
 public DemonstrationPresenter(IViewBuilder viewBuilder, IEnumerable<IModel> models)
     : base(viewBuilder, models)
 {
 }
 public SolvingPresenter(IViewBuilder viewBuilder, IEnumerable<IModel> models)
     : base(viewBuilder, models)
 {
     SolvingHistory = new UiDescription();
 }