update 20241201
This commit is contained in:
263
Client - Kopie/Versandstrasse/Versandstrasse.cs
Normal file
263
Client - Kopie/Versandstrasse/Versandstrasse.cs
Normal file
@@ -0,0 +1,263 @@
|
||||
using Syncfusion.Windows.Forms.Tools;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Syncfusion.WinForms.Controls;
|
||||
using Syncfusion.Windows.Forms.Utils;
|
||||
using OnDoc.Klassen;
|
||||
using Syncfusion.Windows.Forms;
|
||||
using Model;
|
||||
using OnDoc.DocMgmt;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace OnDoc.Versandstrasse
|
||||
{
|
||||
public partial class Versandstrasse : SfForm
|
||||
{
|
||||
private Versandpakete pakete = new Versandpakete();
|
||||
private TreeViewAdvDragHighlightTracker treeViewDragHighlightTracker = null;
|
||||
private TreeNodeAdv currentSourceNode;
|
||||
|
||||
public Versandstrasse(Versandpakete pakete)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.treeViewAdv1.AutoScrolling = ScrollBars.Both;
|
||||
this.Style.TitleBar.BackColor = Theaming.Titelbar();
|
||||
this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
|
||||
this.treeViewDragHighlightTracker = new TreeViewAdvDragHighlightTracker(this.treeViewAdv1);
|
||||
this.treeViewDragHighlightTracker.QueryAllowedPositionsForNode +=
|
||||
new QueryAllowedPositionsEventHandler(this.TreeDragDrop_QueryAllowedPositionsForNode);
|
||||
this.treeViewDragHighlightTracker.QueryDragInsertInfo +=
|
||||
new QueryDragInsertInfoEventHandler(treeViewDragHighlightTracker_QueryDragInsertInfo);
|
||||
this.pakete = pakete;
|
||||
}
|
||||
|
||||
private void Versandstrasse_Load(object sender, EventArgs e)
|
||||
{
|
||||
Reload_Tree();
|
||||
}
|
||||
private void Reload_Tree() {
|
||||
treeViewAdv1.Nodes.Clear();
|
||||
|
||||
TreeNodeAdv DruckJob;
|
||||
for (int i = 0; i < pakete.paket.Count; i++)
|
||||
{
|
||||
DruckJob = new TreeNodeAdv();
|
||||
DruckJob.Text = "Druckpaket " + pakete.paket[i].PaketNr;
|
||||
DruckJob.Tag = "Druckpaket";
|
||||
DruckJob.TagObject = pakete.paket[i];
|
||||
treeViewAdv1.Nodes.Add(DruckJob);
|
||||
|
||||
PopulateDocs(pakete.paket[i], ref DruckJob);
|
||||
}
|
||||
treeViewAdv1.ExpandAll();
|
||||
}
|
||||
|
||||
private void PopulateDocs(Versandpaket paket, ref TreeNodeAdv parentnode)
|
||||
{
|
||||
TreeNodeAdv dokumentnode;
|
||||
for (int i = 0; i < paket.Dokument.Count; i++)
|
||||
{
|
||||
dokumentnode = new TreeNodeAdv();
|
||||
dokumentnode.Text = paket.Dokument[i].Bezeichnung+" (" + paket.Dokument[i].Partnernr+")";
|
||||
dokumentnode.Tag = paket.Dokument[i].DokumentID;
|
||||
dokumentnode.TagObject= paket.Dokument[i];
|
||||
parentnode.Nodes.Add(dokumentnode);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#region "Treeview"
|
||||
private void treeViewAdv1_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
TreeViewAdv treeView = sender as TreeViewAdv;
|
||||
TreeNodeAdv sourceNode = (TreeNodeAdv)e.Data.GetData(typeof(TreeNodeAdv));
|
||||
TreeNodeAdv destinationNode = this.treeViewDragHighlightTracker.HighlightNode;
|
||||
TreeViewDropPositions dropPosition = this.treeViewDragHighlightTracker.DropPosition;
|
||||
this.treeViewDragHighlightTracker.ClearHighlightNode();
|
||||
this.currentSourceNode = null;
|
||||
if (destinationNode != null)
|
||||
{
|
||||
switch (dropPosition)
|
||||
{
|
||||
case TreeViewDropPositions.AboveNode:
|
||||
sourceNode.Move(destinationNode, NodePositions.Previous);
|
||||
break;
|
||||
case TreeViewDropPositions.BelowNode:
|
||||
sourceNode.Move(destinationNode, NodePositions.Next);
|
||||
break;
|
||||
case TreeViewDropPositions.OnNode:
|
||||
sourceNode.Move(destinationNode.Nodes);
|
||||
destinationNode.Expand();
|
||||
break;
|
||||
}
|
||||
}
|
||||
treeView.SelectedNode = sourceNode;
|
||||
}
|
||||
|
||||
private void treeViewAdv1_DragLeave(object sender, EventArgs e)
|
||||
{
|
||||
this.treeViewDragHighlightTracker.ClearHighlightNode();
|
||||
}
|
||||
|
||||
private void treeViewAdv1_DragOver(object sender, DragEventArgs e)
|
||||
{
|
||||
bool droppable = true;
|
||||
TreeNodeAdv destinationNode = null;
|
||||
TreeViewAdv treeView = sender as TreeViewAdv;
|
||||
Point ptInTree = treeView.PointToClient(new Point(e.X, e.Y));
|
||||
this.currentSourceNode = null;
|
||||
if (e.Data.GetDataPresent(typeof(TreeNodeAdv)))
|
||||
{
|
||||
destinationNode = treeView.GetNodeAtPoint(ptInTree);
|
||||
TreeNodeAdv sourceNode = (TreeNodeAdv)e.Data.GetData(typeof(TreeNodeAdv));
|
||||
this.currentSourceNode = sourceNode;
|
||||
droppable = this.CanDrop(sourceNode, destinationNode);
|
||||
//if (droppable == true) { if (destinationNode.Tag.ToString() != "Druckpaket") { droppable = false; } }
|
||||
}
|
||||
else
|
||||
droppable = false;
|
||||
|
||||
if (droppable)
|
||||
e.Effect = DragDropEffects.Move;
|
||||
else
|
||||
e.Effect = DragDropEffects.None;
|
||||
this.treeViewDragHighlightTracker.SetHighlightNode(destinationNode, ptInTree);
|
||||
}
|
||||
private bool CanDrop(TreeNodeAdv sourceNode, TreeNodeAdv destinationNode)
|
||||
{
|
||||
TreeNodeAdv xdestinationNode = this.treeViewDragHighlightTracker.HighlightNode;
|
||||
TreeViewDropPositions dropPosition = this.treeViewDragHighlightTracker.DropPosition;
|
||||
|
||||
|
||||
if (destinationNode == null || destinationNode == sourceNode)
|
||||
return false;
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
if (xdestinationNode.Level == 1 && dropPosition != TreeViewDropPositions.OnNode)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (xdestinationNode.Level == 2 ) { return true; }
|
||||
}
|
||||
catch { }
|
||||
|
||||
|
||||
return true; }
|
||||
}
|
||||
|
||||
private void treeViewAdv1_ItemDrag(object sender, ItemDragEventArgs e)
|
||||
{
|
||||
TreeViewAdv treeViewAdv = sender as TreeViewAdv;
|
||||
TreeNodeAdv[] nodes = e.Item as TreeNodeAdv[];
|
||||
TreeNodeAdv node = nodes[0];
|
||||
{
|
||||
DragDropEffects result = treeViewAdv.DoDragDrop(node, DragDropEffects.Move);
|
||||
}
|
||||
}
|
||||
private bool IsDruckPaket(TreeNodeAdv node)
|
||||
{
|
||||
if (node.Tag == null
|
||||
|| ("Druckpaket").CompareTo(node.Tag.ToString()) != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
private void treeViewDragHighlightTracker_QueryDragInsertInfo(object sender, QueryDragInsertInfoEventArgs args)
|
||||
{
|
||||
args.DragInsertColor = Color.Red;
|
||||
}
|
||||
private void TreeDragDrop_QueryAllowedPositionsForNode(object sender, QueryAllowedPositionsEventArgs e)
|
||||
{
|
||||
if (!this.IsDruckPaket(e.HighlightNode))
|
||||
{
|
||||
if (e.HighlightNode != this.currentSourceNode)
|
||||
e.AllowedPositions = TreeViewDropPositions.AboveNode | TreeViewDropPositions.BelowNode;
|
||||
else
|
||||
e.AllowedPositions = TreeViewDropPositions.None;
|
||||
|
||||
this.treeViewDragHighlightTracker.EdgeSensitivityOnTop = e.HighlightNode.Bounds.Height / 2;
|
||||
e.ShowSelectionHighlight = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.treeViewDragHighlightTracker.EdgeSensitivityOnTop = e.HighlightNode.Bounds.Height / 4;
|
||||
e.ShowSelectionHighlight = false;
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void tsbtnDruckPaketNew_Click(object sender, EventArgs e)
|
||||
{
|
||||
Versandpaket newpaket = new Versandpaket();
|
||||
newpaket.PaketNr= (treeViewAdv1.Nodes.Count + 1).ToString();
|
||||
newpaket.Versandoption = "1";
|
||||
newpaket.GAS = "0";
|
||||
newpaket.GASAdresse = "0";
|
||||
newpaket.Mitteilung = "";
|
||||
newpaket.Dokument = new List<Versanddokument>();
|
||||
|
||||
string NodeText = "Druckpaket " + (treeViewAdv1.Nodes.Count + 1).ToString();
|
||||
TreeNodeAdv drucknode = new TreeNodeAdv();
|
||||
drucknode.Text = NodeText;
|
||||
drucknode.Tag = "Druckpaket";
|
||||
drucknode.TagObject=newpaket;
|
||||
|
||||
treeViewAdv1.Nodes.Add(drucknode);
|
||||
}
|
||||
|
||||
private void treeViewAdv1_NodeMouseClick(object sender, TreeViewAdvMouseClickEventArgs e)
|
||||
{
|
||||
TreeNodeAdv node = e.Node;
|
||||
if (node.Level == 1) {
|
||||
GrpPaketDetails.Enabled = true;
|
||||
Versandpaket paket = node.TagObject as Versandpaket;
|
||||
switch (paket.Versandoption) {
|
||||
case "1":
|
||||
rbversandoption1.Checked= true; break;
|
||||
case "2":
|
||||
rbversandoption2.Checked= true;break;
|
||||
case "3":
|
||||
rbversandoption3.Checked= true;break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (paket.GAS.ToString() == "1"){
|
||||
chkGAS.Checked= true;
|
||||
lbgasadresse.SelectedIndex = Convert.ToInt32(paket.GASAdresse.ToString());
|
||||
} else { chkGAS.Checked= false; }
|
||||
}
|
||||
else { GrpPaketDetails.Enabled=false; }
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
Versandpaket paket = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
|
||||
if (rbversandoption1.Checked) { paket.Versandoption = "1"; }
|
||||
if (rbversandoption2.Checked) { paket.Versandoption = "2"; }
|
||||
if (rbversandoption3.Checked) { paket.Versandoption = "3"; }
|
||||
|
||||
if (chkGAS.Checked) { paket.GAS = "1"; } else { paket.GAS = "0"; }
|
||||
try { paket.GASAdresse = lbgasadresse.SelectedIndex.ToString(); } catch { paket.GASAdresse= "0"; }
|
||||
paket.verified = true;
|
||||
treeViewAdv1.SelectedNode.TagObject = paket;
|
||||
//pakete.paket.Add(paket);
|
||||
Reload_Tree();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user