Files
BeWoPlaner/BeWo/View/Document/SingleTemplateSelectionView.xaml.cs
Christian 69357d7380 Neue Sortiermöglichkeit der Bewilligungen im Hilfeplan
An Vorlagen weitergearbeitet
2024-12-19 17:13:03 +01:00

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>;
//}
}
}