235 lines
8.6 KiB
C#
235 lines
8.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Input;
|
|
|
|
using BeWo.Controls;
|
|
using BeWo.Core;
|
|
using BeWo.ServiceProxy;
|
|
using BeWo.Validation;
|
|
using BeWo.View.Search;
|
|
using BeWo.ViewModel;
|
|
using BeWo.ViewModel.ListViewModel;
|
|
using BeWo.Core.Service;
|
|
|
|
using BS.Shared;
|
|
using BS.Shared.Extensions;
|
|
using BS.Shared.Core;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.DataContracts.ClientPartials;
|
|
using BS.Shared.DataContracts.Compact;
|
|
using BS.Shared.Services;
|
|
using BS.Shared.Translation;
|
|
using DevExpress.Xpf.RichEdit;
|
|
using SupportConceptService = BeWo.Core.Service.SupportConceptService;
|
|
using System.Linq;
|
|
using DevExpress.Xpf.Grid;
|
|
using System.Windows.Media.Imaging;
|
|
using DevExpress.Utils;
|
|
|
|
namespace BeWo.View.Document
|
|
{
|
|
public partial class SingleTemplateSelectionView
|
|
{
|
|
public event Action ButtonCreateClicked;
|
|
public event Action ButtonCreateForSelectionClicked;
|
|
public event Action ButtonCreateForAllClicked;
|
|
public event Action ButtonCancelClicked;
|
|
private VorlagentabelleDC vorlagenTabelle;
|
|
private List<DokumentvorlageDC> alleVorlagen;
|
|
private List<BeWoFolderDC> allTemplateFolder;
|
|
private List<BeWoFolderDC> allObjectFolder;
|
|
|
|
public SingleTemplateSelectionView()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public DocumentTreeItemVM SelectedFolder { get; set; }
|
|
|
|
public DokumentvorlageDC SelectedTemplate { get; set; }
|
|
|
|
public void InitView(VorlagentabelleDC vt, List<DokumentvorlageDC> alleVorlagen, List<BeWoFolderDC> allTemplateFolder, List<BeWoFolderDC> allObjectFolder, bool showTemplateTree, bool showDocumentTree)
|
|
{
|
|
//tableId = tid;
|
|
|
|
this.vorlagenTabelle = vt;
|
|
this.alleVorlagen = alleVorlagen;
|
|
this.allTemplateFolder = allTemplateFolder;
|
|
this.allObjectFolder = allObjectFolder;
|
|
|
|
DokumentViewHelper.CreateTemplateTreeViewItems(treelistcontrol_template, new List<VorlagentabelleDC>() { vt }, allTemplateFolder, true);
|
|
DokumentViewHelper.AddTemplatesToTreeView(treelistcontrol_template, alleVorlagen, true);
|
|
|
|
|
|
List<PrintSelectionVM> vms = new List<PrintSelectionVM>();
|
|
|
|
if (!showTemplateTree)
|
|
{
|
|
lblTemplate.Visibility = Visibility.Collapsed;
|
|
treelistcontrol_template.Visibility = Visibility.Collapsed;
|
|
GridRowTemplate.Height = GridLength.Auto;
|
|
}
|
|
|
|
if (!showDocumentTree)
|
|
{
|
|
chkSaveDoc.Visibility = Visibility.Collapsed;
|
|
treelistcontrol_folderStructureForSelection.Visibility = Visibility.Collapsed;
|
|
GridRowFolder.Height = GridLength.Auto;
|
|
}
|
|
|
|
Focus();
|
|
}
|
|
|
|
|
|
//private void Button_CreateTemplateBasedDocument_Click(object sender, RoutedEventArgs e)
|
|
//{
|
|
// selectedFolder = null;
|
|
|
|
// var selected = GetSelectedElements();
|
|
|
|
// if (selected == null || selected.Count == 0)
|
|
// {
|
|
// MessageBox.Show("Es muss mindestens ein Datensatz ausgewählt werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
// return;
|
|
// }
|
|
|
|
// ButtonCreateClicked?.Invoke();
|
|
//}
|
|
|
|
private void Button_CreateTemplateForSelection_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
var selected = treelistcontrol_template.SelectedItem as DocumentTreeItemVM;
|
|
|
|
if (selected == null ||selected.DataContract.Dokumentvorlage == null)
|
|
{
|
|
MessageBox.Show("Bitte wählen Sie eine Vorlage aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
return;
|
|
}
|
|
SelectedTemplate = selected.DataContract.Dokumentvorlage;
|
|
|
|
ButtonCreateForSelectionClicked?.Invoke();
|
|
}
|
|
|
|
//private void Button_CreateTemplateBasedDocumentForAll_Click(object sender, RoutedEventArgs e)
|
|
//{
|
|
// var selected = datagrid_enabled_for_template.ItemsSource as List<PrintSelectionVM>;
|
|
|
|
// ButtonCreateForAllClicked?.Invoke();
|
|
//}
|
|
|
|
private void Button_Cancel_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
ButtonCancelClicked?.Invoke();
|
|
}
|
|
|
|
private void CheckBox_Checked(object sender, RoutedEventArgs e)
|
|
{
|
|
treelistcontrol_folderStructureForSelection.Visibility = Visibility.Visible;
|
|
}
|
|
|
|
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedFolder = null;
|
|
treelistcontrol_folderStructureForSelection.Visibility = Visibility.Collapsed;
|
|
}
|
|
|
|
//private void GenerateFolderStructure(TableID table, TreeListNode node, List<BeWoFolderDC> folderDCs)
|
|
//{
|
|
|
|
// if (node == null)
|
|
// {
|
|
// node = new TreeListNode()
|
|
// {
|
|
// IsExpandButtonVisible = DefaultBoolean.True,
|
|
// Tag = false,
|
|
// Image = LoadFolderImage()
|
|
// };
|
|
// }
|
|
|
|
// var content = node.Content as DocumentTreeItemVM;
|
|
|
|
// foreach (var folder in folderDCs)
|
|
// {
|
|
// //Falls kein übergeordneter Knoten exisitert
|
|
// //if(content == null)
|
|
// //{
|
|
// // PrintSelectionVM selected = combobox_elementList.SelectedItem as PrintSelectionVM;
|
|
// // var dc = new DocumentTreeItemDC()
|
|
// // {
|
|
// // DocTreeItemOid = 0,
|
|
// // ParentOid = null,
|
|
// // Name = "Alle Ordner",
|
|
// // Table = table
|
|
// // };
|
|
// // content = new DocumentTreeItemVM(dc);
|
|
// // node.Content = content;
|
|
// // DocumentsTreeView_folderStructureForSelection.Nodes.Add(node);
|
|
// //}
|
|
|
|
// PrintSelectionVM selected = combobox_elementList.SelectedItem as PrintSelectionVM;
|
|
// DocumentTreeItemDC folder_dc = new DocumentTreeItemDC()
|
|
// {
|
|
// DocTreeItemOid = folder.BeWoFolderOid,
|
|
// ParentOid = null,
|
|
// Name = folder.Name,
|
|
// FilesInFolder = new List<FileAttachmentDC>(),
|
|
// BeWoFolderDC = folder,
|
|
// Table = table,
|
|
// ObjectOid = selected.ObjectOid
|
|
// };
|
|
// if (content != null)
|
|
// folder_dc.ParentOid = content.DocTreeItemOid;
|
|
// DocumentTreeItemVM folder_vm = new DocumentTreeItemVM(folder_dc);
|
|
// TreeListNode newNode_folder = new TreeListNode()
|
|
// {
|
|
// Content = folder_vm,
|
|
// IsExpandButtonVisible = DefaultBoolean.True,
|
|
// Tag = false,
|
|
// Image = LoadFolderImage()
|
|
// };
|
|
// folder_dc.Node = newNode_folder;
|
|
|
|
// if(node.Content == null)
|
|
// DocumentsTreeView_folderStructureForSelection.Nodes.Add(newNode_folder);
|
|
// else
|
|
// node.Nodes.Add(newNode_folder);
|
|
|
|
// if (folder.SubFolders.Count != 0)
|
|
// {
|
|
// GenerateFolderStructure(table, newNode_folder, folder.SubFolders);
|
|
// }
|
|
// }
|
|
//}
|
|
private BitmapImage LoadFolderImage()
|
|
{
|
|
return new BitmapImage(new Uri("/Ressources/Icons/Folder.png", UriKind.Relative));
|
|
}
|
|
|
|
private void DocumentsTreeView_FocusedRowChanged(object sender, DevExpress.Xpf.Grid.FocusedRowChangedEventArgs e)
|
|
{
|
|
//if(DocumentsTreeView_folderStructureForSelection.SelectedRows.Count != 0)
|
|
// selectedFolder = DocumentsTreeView_folderStructureForSelection.SelectedRows[0] as DocumentTreeItemVM;
|
|
}
|
|
|
|
private void DocumentsTreeView_NodeExpanding(object sender, DevExpress.Xpf.Grid.TreeList.TreeListNodeAllowEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void DocumentsTreeView_folderStructureForSelection_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
|
{
|
|
if (TreeView_template.SelectedRows.Count != 0)
|
|
SelectedFolder = TreeView_template.SelectedRows[0] as DocumentTreeItemVM;
|
|
}
|
|
|
|
|
|
|
|
|
|
//public List<PrintSelectionVM> SelectAllElements()
|
|
//{
|
|
// return datagrid_enabled_for_template.ItemsSource as List<PrintSelectionVM>;
|
|
//}
|
|
}
|
|
} |