Esempio n. 1
0
 /// <summary>
 /// Initialize helper
 /// </summary>
 static WorkflowApplicationHelper()
 {
     fileStructureService             = CommonServiceLocator.ServiceLocator.Current.GetInstance <IFileStructureService>();
     localizationService              = CommonServiceLocator.ServiceLocator.Current.GetInstance <ILocalizationService>();
     workflowOperationService         = CommonServiceLocator.ServiceLocator.Current.GetInstance <IWorkflowOperationService>();
     fileStructureDocumentPathService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IFileStructureDocumentPathService>();
     sessionService = CommonServiceLocator.ServiceLocator.Current.GetInstance <ISessionService>();
     documentWorkflowOrganizationUnitAssignmentService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IDocumentWorkflowOrganizationUnitAssignmentService>();
     userService          = CommonServiceLocator.ServiceLocator.Current.GetInstance <IUserService>();
     configurationService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IConfigurationService>();
     forwardConfig        = configurationService.GetValue <int>("ForwardOption", "Filestructure", "");
 }
Esempio n. 2
0
        /// <summary>
        /// Initialize control
        /// </summary>
        public FileStructureControl()
        {
            InitializeComponent();

            stackService                     = CommonServiceLocator.ServiceLocator.Current.GetInstance <IStackService>();
            fielStructureService             = CommonServiceLocator.ServiceLocator.Current.GetInstance <IFileStructureService>();
            fileStructureDocumentPathService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IFileStructureDocumentPathService>();

            // Subscribe to preview drop event
            DragDropManager.AddPreviewDropHandler(directoryTreeView, new Telerik.Windows.DragDrop.DragEventHandler(OnPreviewDrop), true);
            DragDropManager.AddDragOverHandler(directoryTreeView, new Telerik.Windows.DragDrop.DragEventHandler(OnDragOver), true);
            DragDropManager.AddDropHandler(directoryTreeView, new Telerik.Windows.DragDrop.DragEventHandler(OnDrop), true);
            DragDropManager.AddDragInitializeHandler(directoryTreeView, new Telerik.Windows.DragDrop.DragInitializeEventHandler(OnDraginitialize), true);

            EventManager.RegisterClassHandler(typeof(RadTreeViewItem), Mouse.MouseDownEvent, new MouseButtonEventHandler(OnTreeViewItemMouseDown), false);

            if (localizationService == null)
            {
                localizationService = CommonServiceLocator.ServiceLocator.Current.GetInstance <ILocalizationService>();
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Constructor for dependency injection.
 /// </summary>
 /// <param name="fileStructureService"></param>
 /// <param name="documentWorkflowAppSettingsService"></param>
 /// <param name="documentWorkflowUserService"></param>
 /// <param name="fileStructureDocumentPathService"></param>
 /// <param name="documentWorkflowTrackerService"></param>
 /// <param name="documentWorkflowOrganizationUnitAssignmentService"></param>
 public WorkflowOperationService(IFileStructureService fileStructureService,
                                 IDocumentWorkflowAppSettingsService documentWorkflowAppSettingsService,
                                 IDocumentWorkflowUserService documentWorkflowUserService,
                                 IFileStructureDocumentPathService fileStructureDocumentPathService,
                                 IDocumentWorkflowTrackerService documentWorkflowTrackerService,
                                 IDocumentWorkflowOrganizationUnitAssignmentService documentWorkflowOrganizationUnitAssignmentService,
                                 IDocumentWorkflowConfigurationService documentWorkflowConfigurationService,
                                 IUnityContainer unityContainer,
                                 IDocumentWorkflowAssignmentService documentWorkflowAssignmentService,
                                 Flow.Event.IFlowEventService flowEventService)
 {
     this.fileStructureService = fileStructureService;
     this.documentWorkflowAppSettingsService = documentWorkflowAppSettingsService;
     this.documentWorkflowUserService        = documentWorkflowUserService;
     this.fileStructureDocumentPathService   = fileStructureDocumentPathService;
     this.documentWorkflowTrackerService     = documentWorkflowTrackerService;
     this.documentWorkflowOrganizationUnitAssignmentService = documentWorkflowOrganizationUnitAssignmentService;
     this.unityContainer = unityContainer;
     this.documentWorkflowConfigurationService = documentWorkflowConfigurationService;
     this.documentWorkflowAssignmentService    = documentWorkflowAssignmentService;
     this.flowEventService = flowEventService;
 }
        /// <summary>
        /// Initialize viewmodel
        /// </summary>
        /// <param name="documentId">Document id</param>
        public DocumentPathOverViewViewModel(Guid documentId)
        {
            this.documentId = documentId;

            documentPathService  = ServiceLocator.Current.GetInstance <IFileStructureDocumentPathService>();
            fileStructureService = ServiceLocator.Current.GetInstance <IFileStructureService>();
            directoryTypeService = ServiceLocator.Current.GetInstance <IDirectoryTypeService>();
            iconService          = ServiceLocator.Current.GetInstance <IIconService>();
            localizationService  = ServiceLocator.Current.GetInstance <ILocalizationService>();
            stackService         = ServiceLocator.Current.GetInstance <IStackService>();
            documentWorkflowAssignmentService = ServiceLocator.Current.GetInstance <IDocumentWorkflowAssignmentService>();

            removedPaths = new List <DocumentPathViewModel>();

            paths = new ObservableCollection <DocumentPathViewModel>();
            foreach (var path in documentPathService.GetByDocumentId(documentId))
            {
                var pathVM = new DocumentPathViewModel(path, fileStructureService, directoryTypeService, iconService, stackService)
                {
                    Parent = this
                };

                paths.Add(pathVM);
            }

            // Add new document path
            addDocumentPathCommand = new RelayCommand((p) =>
            {
                var newDocumentPath = SelectPath();

                if (newDocumentPath != null)
                {
                    if (CheckPathExists(newDocumentPath.Id, newDocumentPath.DirectoryGuid, newDocumentPath.FileStructureGuid))
                    {
                        MessageBox.Show(localizationService.Translate("filestructure_path_exists"), localizationService.Translate("filestructure_path_exists_title"), MessageBoxButton.OK, MessageBoxImage.Information);
                        return;
                    }

                    var newDocumentPathVM = new DocumentPathViewModel(newDocumentPath, fileStructureService, directoryTypeService, iconService, stackService)
                    {
                        Parent = this
                    };

                    Paths.Add(newDocumentPathVM);
                }
            });

            // Change document path
            changeDocumentPathCommand = new RelayCommand((p) =>
            {
                var selectedPath = p as DocumentPathViewModel;

                if (selectedPath.IsProtectedPath)
                {
                    MessageBox.Show(localizationService.Translate("filestructure_path_protected"), localizationService.Translate("filestructure_path_protected_title"), MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }

                var fileStructure = fileStructureService.Get(selectedPath.Model.FileStructureGuid);


                var selectPathWindow = new FileStructureWindow();
                selectPathWindow.Initialize(fileStructure);
                selectPathWindow.IsInSelectMode = true;

                selectPathWindow.Loaded += (s, e) =>
                {
                    selectPathWindow.ViewModel.SelectedDirectory = selectPathWindow.ViewModel.RawDirectories.FirstOrDefault(x => x.Model.Id == selectedPath.Model.DirectoryGuid);
                };

                selectPathWindow.ShowDialog();

                if (selectPathWindow.SelectedDirectory != null)
                {
                    if (CheckPathExists(selectedPath.Model.Id, selectPathWindow.SelectedDirectory.Id, fileStructure.Id))
                    {
                        MessageBox.Show(localizationService.Translate("filestructure_path_exists"), localizationService.Translate("filestructure_path_exists_title"), MessageBoxButton.OK, MessageBoxImage.Information);
                        return;
                    }

                    selectedPath.Model.DirectoryGuid = selectPathWindow.SelectedDirectory.Id;
                    selectedPath.Model.WorkflowId    = selectPathWindow.SelectedDirectory.WorkflowId;
                    selectedPath.RefreshPath();
                }
            });

            // Remove document path
            removeDocumentPathCommand = new RelayCommand((p) =>
            {
                var selectedPath = p as DocumentPathViewModel;

                if (selectedPath.IsProtectedPath)
                {
                    MessageBox.Show(localizationService.Translate("filestructure_path_protected"), localizationService.Translate("filestructure_path_protected_title"), MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }

                var messageBoxResult = MessageBox.Show(localizationService.Translate("filestructure_remove_path"), localizationService.Translate("filestructure_remove_path_title"), MessageBoxButton.YesNo, MessageBoxImage.Question);

                if (messageBoxResult == MessageBoxResult.Yes)
                {
                    removedPaths.Add(selectedPath);
                    paths.Remove(selectedPath);
                }
            });
        }