コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: machix/sandbox
        public MainWindow()
        {
            this.InitializeComponent();
            this.viewModel         = new ETTViewModel();
            this.settingsViewModel = new SettingsViewModel();

            // Connect to workflow
            var workflow = new Workflow(new TimeTrackerClientProfile());

            var connector = new WorkflowConnector(
                this.viewModel,
                this.settingsViewModel,
                workflow,
                ManualDependencyResolver.Get <IMapper>());

            this.TimerWidgetControl.Initialize(this.viewModel);
            this.Dashboard.Initialize(this.viewModel);
            this.Timesheet.Initialize(this.viewModel, connector);

            this.viewModel.UpdateSettingsViewModel(this.settingsViewModel);
            this.Settings.Initialize(this.settingsViewModel);
            this.MiniSettings.Initialize(this.settingsViewModel);
            this.TaskWidget.Initialize(this.viewModel);

            this.DataContext = this.viewModel;
        }
コード例 #2
0
        internal static void Initialize(params Profile[] profiles)
        {
            var profilesList = new List <Profile>
            {
                new TimeTrackerProfile(),
                new TimeTrackerResourcesProfile()
            };

            profilesList.AddRange(profiles);

            var kernel = new StandardKernel(
                new WorkflowNinjectModule(),
                new AutoMapperModule(profilesList.ToArray()));

            ManualDependencyResolver.SetKernel(kernel);
        }
コード例 #3
0
        public static IAction GetProjects(
            ProjectOverviewsRequestResource requestResource)
        {
            return(new ThunkAction <WorkflowState>((dispatch, getState) => {
                Task.Factory.StartNew(
                    async() => {
                    dispatch(new ProcessStartAction());

                    var projectsService = ManualDependencyResolver.Get <IProjectsService>();
                    var request = Mapper.Map <ProjectOverviewsRequest>(requestResource);
                    var overviews = await projectsService.GetOverviews(request);
                    var overviewsResource = Mapper.Map <ProjectOverviewsResource>(overviews);
                    dispatch(new ProjectsLoadedAction(overviewsResource));

                    dispatch(new ProcessEndAction());
                });
            }));
        }
コード例 #4
0
        /// <summary>
        ///     Creates the kernel that will manage your application.
        /// </summary>
        /// <returns>The created kernel.</returns>
        public static IKernel CreateKernel(params INinjectModule[] modules)
        {
            var kernel = new StandardKernel(modules);

            try
            {
                kernel.Bind <Func <IKernel> >().ToMethod(ctx => () => new Bootstrapper().Kernel);

                ManualDependencyResolver.SetKernel(kernel);                                 // Manual
                // ReSharper disable once AccessToDisposedClosure
                ServiceLocator.SetLocatorProvider(() => new NinjectServiceLocator(kernel)); // Log4Net
                GlobalConfiguration.Configuration.DependencyResolver =
                    new global::Ninject.Web.WebApi.NinjectDependencyResolver(kernel);       // Web API

                return(kernel);
            }
            catch
            {
                kernel.Dispose();
                throw;
            }
        }