public ProjectViewModel(IStatusNotificationService statusNotificationServiceParam, IProjectDataService projectDataServiceParam, ITabNavigationService tabNavigationServiceParam)
        {
            ProjectFiles = new ObservableCollection <BaseMd>();

            tabNavigationService              = tabNavigationServiceParam;
            statusNotificationService         = statusNotificationServiceParam;
            projectDataService                = projectDataServiceParam;
            projectDataService.ProjectLoaded += ProjectDataService_ProjectLoaded;

            ViewTeamCommand = new AnotherCommandImplementation(t =>
            {
                statusNotificationServiceParam.SendMessage(new Notification()
                {
                    Kind = NotificationKind.Other, Message = t.ToString(), Title = "DEBUG Team", Time = DateTime.Now
                });
            });

            ViewReadmeCommand = new AnotherCommandImplementation(r =>
            {
                if (r is ReadMe readMe)
                {
                    tabNavigationService.CreateTab("ReadMeTab", r);
                }
            });
        }
 public ProjectDataService(IDatabaseService databaseServiceParam,
                           IStatusNotificationService statusNotificationServiceParam)
 {
     statusNotificationService = statusNotificationServiceParam;
     databaseService           = databaseServiceParam;
     ProjectFiles = new List <BaseMd>();
 }
Example #3
0
 public Log4NetLoggerService(
     IStatusNotificationService statusNotificationService,
     IActionExecutionContext executionContext)
 {
     _statusNotificationService = statusNotificationService;
     ExecutionContext           = executionContext;
     ExecutionContextTyped      = (IActionExecutionContext)ExecutionContext;
 }
Example #4
0
        public PickPTabViewModel(IStatusNotificationService statusNotificationServiceParam,
                                 ITabNavigationService tabNavigationServiceParam,
                                 IDatabaseService databaseServiceParam,
                                 IProjectDataService projectDataServiceParam)
        {
            statusNotificationService       = statusNotificationServiceParam;
            tabNavigationService            = tabNavigationServiceParam;
            databaseService                 = databaseServiceParam;
            projectDataService              = projectDataServiceParam;
            databaseService.DatabaseChange += DatabaseService_DatabaseChange;

            //Initialize commands.
            ProjectCreateCommand = new AnotherCommandImplementation(t =>
            {
            });

            ProjectOpenCommand = new AnotherCommandImplementation(t =>
            {
                if (CommonFileDialog.IsPlatformSupported)
                {
                    CommonOpenFileDialog folderDialog = new CommonOpenFileDialog("Project Picker")
                    {
                        IsFolderPicker = true,
                    };

                    var diagRes = folderDialog.ShowDialog();
                    if (diagRes == CommonFileDialogResult.Ok)
                    {
                        ProjectLoading(folderDialog.FileName);
                    }
                }
                else
                {
                    statusNotificationService.SendMessage(new Notification()
                    {
                        Kind = NotificationKind.Error, Message = "This Application requires Windows Vista(I think) or up, because I simply refuse to also spawn the classic folder picker. Sorry.", Title = "For the love of everything holy: UPDATE!", Time = DateTime.Now
                    });
                }
            });

            ProjectSelectCommand = new AnotherCommandImplementation(o =>
            {
                if (o is RecentProject project)
                {
                    ProjectLoading(project.Location);
                }
                else
                {
                    statusNotificationService.SendMessage(new Notification()
                    {
                        Kind = NotificationKind.Error, Message = "The picker failed to load the selected project. There might be an issue with the database.", Title = "Loading Failure", Time = DateTime.Now
                    });
                    // TODO: add interaction to remove reference from picker.
                }
            }
                                                                    );
        }
Example #5
0
        //readonly IProjectDataService projectDataService;

        public NotificationViewModel(IStatusNotificationService statusNotificationServiceParam,
                                     ITabNavigationService tabNavigationServiceParam
                                     //            ,IProjectDataService projectDataServiceParam
                                     )
        {
            NotificationCollection = new ObservableCollection <NotificationItemViewModel>();

            statusNotificationService = statusNotificationServiceParam;
            tabNavigationService      = tabNavigationServiceParam;
            //   projectDataService = projectDataServiceParam;

            statusNotificationService.MessageSent += StatusNotificationService_MessageSent;
            tabNavigationService.TabNavigatedTo   += TabNavigationService_TabNavigatedTo;
            //projectDataService.ProjectLoaded += ProjectDataService_ProjectLoaded;
        }