216 lines
7.5 KiB
C#
216 lines
7.5 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.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 ButtonCreateForSelectionClicked;
|
|
public event Action ButtonCancelClicked;
|
|
private VorlagentabelleDC vorlagenTabelle;
|
|
private List<DokumentvorlageDC> alleVorlagen;
|
|
private List<BeWoFolderDC> allTemplateFolder;
|
|
private List<BeWoFolderDC> allObjectFolder;
|
|
|
|
public SingleTemplateSelectionView()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public BeWoFolderDC SelectedFolder { get; set; }
|
|
|
|
public DokumentvorlageDC SelectedTemplate { get; set; }
|
|
|
|
public DocumentTreeItemDC SelectedReportTemplate { get; set; }
|
|
|
|
public void InitView(VorlagentabelleDC vt, List<DokumentvorlageDC> alleVorlagen, List<BeWoFolderDC> allTemplateFolder, List<BeWoFolderDC> allObjectFolder, bool showTemplateTree, bool showDocumentTree, String defaultFileName, IList<ReportTemplateDC> defaultReports)
|
|
{
|
|
//tableId = tid;
|
|
|
|
this.vorlagenTabelle = vt;
|
|
this.alleVorlagen = alleVorlagen;
|
|
this.allTemplateFolder = allTemplateFolder;
|
|
this.allObjectFolder = allObjectFolder;
|
|
this.txtFileName.Text = defaultFileName;
|
|
|
|
|
|
if (showTemplateTree)
|
|
{
|
|
DokumentViewHelper.CreateDefaultReportsTreeViewItems(treelistcontrol_template, defaultReports, true);
|
|
DokumentViewHelper.CreateTemplateTreeViewItems(treelistcontrol_template, new List<VorlagentabelleDC>() { vt }, allTemplateFolder, true);
|
|
DokumentViewHelper.AddTemplatesToTreeView(treelistcontrol_template, alleVorlagen, true);
|
|
|
|
}
|
|
else
|
|
{
|
|
Button_SelectTemplate.Visibility = Visibility.Collapsed;
|
|
lblTemplate.Visibility = Visibility.Collapsed;
|
|
treelistcontrol_template.Visibility = Visibility.Collapsed;
|
|
GridRowTemplate.Height = GridLength.Auto;
|
|
}
|
|
|
|
if (showDocumentTree)
|
|
{
|
|
DokumentViewHelper.CreateTemplateTreeViewItems(treelistcontrol_folderStructureForSelection, null, allObjectFolder, true);
|
|
}
|
|
else
|
|
{
|
|
//chkSaveDoc.Visibility = Visibility.Collapsed;
|
|
lblFileName.Visibility = Visibility.Collapsed;
|
|
txtFileName.Visibility = Visibility.Collapsed;
|
|
Button_SelectFolder.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)
|
|
{
|
|
e.Handled = true;
|
|
OpenSelectedTemplate();
|
|
}
|
|
|
|
private void OpenSelectedTemplate()
|
|
{
|
|
var selected = treelistcontrol_template.SelectedItem as DocumentTreeItemVM;
|
|
|
|
if (selected != null && selected.DataContract.Table == TableID.ReportTemplate)
|
|
{
|
|
SelectedReportTemplate = selected.DataContract;
|
|
|
|
ButtonCreateForSelectionClicked?.Invoke();
|
|
|
|
return;
|
|
}
|
|
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_SelectFolder_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
var selected = treelistcontrol_folderStructureForSelection.SelectedItem as DocumentTreeItemVM;
|
|
|
|
if (selected == null || selected.DataContract.BeWoFolderDC == null)
|
|
{
|
|
MessageBox.Show("Bitte wählen Sie einen Ordner aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
return;
|
|
}
|
|
SelectedFolder = selected.DataContract.BeWoFolderDC;
|
|
//Kleiner Hack;-)
|
|
SelectedFolder.Name = txtFileName.Text;
|
|
|
|
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 BitmapImage LoadFolderImage()
|
|
{
|
|
return new BitmapImage(new Uri("/Ressources/Icons/Folder.png", UriKind.Relative));
|
|
}
|
|
|
|
private void TreeView_template_MouseDoubleClick(object sender, MouseButtonEventArgs e)
|
|
{
|
|
|
|
var hitInfo = TreeView_template.CalcHitInfo(e.OriginalSource as DependencyObject);
|
|
if (hitInfo.InRowCell)
|
|
{
|
|
e.Handled = true;
|
|
OpenSelectedTemplate();
|
|
}
|
|
|
|
}
|
|
|
|
private void button_aufklappenAll_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
ExpandAllTreeItems(TreeView_template.Nodes, true);
|
|
}
|
|
|
|
private void button_zuklappenAll_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
ExpandAllTreeItems(TreeView_template.Nodes, false);
|
|
}
|
|
|
|
private void ExpandAllTreeItems(TreeListNodeCollection nodes, bool expanded)
|
|
{
|
|
|
|
foreach (var node in nodes)
|
|
{
|
|
node.IsExpanded = expanded;
|
|
ExpandAllTreeItems(node.Nodes, expanded);
|
|
}
|
|
|
|
//TreeView_template.items
|
|
}
|
|
}
|
|
} |