First create solution
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
namespace Nuvolar.Module
|
||||
{
|
||||
partial class AuditTrailVCC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.aGetAuditTrailC = new DevExpress.ExpressApp.Actions.SimpleAction(this.components);
|
||||
//
|
||||
// aGetAuditTrailC
|
||||
//
|
||||
this.aGetAuditTrailC.Caption = "aGet Audit Trail C";
|
||||
this.aGetAuditTrailC.Category = "View";
|
||||
this.aGetAuditTrailC.ConfirmationMessage = null;
|
||||
this.aGetAuditTrailC.Id = "aGetAuditTrailC";
|
||||
this.aGetAuditTrailC.SelectionDependencyType = DevExpress.ExpressApp.Actions.SelectionDependencyType.RequireSingleObject;
|
||||
this.aGetAuditTrailC.ToolTip = null;
|
||||
this.aGetAuditTrailC.Execute += new DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler(this.aGetAuditTrail_Execute);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
internal DevExpress.ExpressApp.Actions.SimpleAction aGetAuditTrailC;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using DevExpress.ExpressApp;
|
||||
using DevExpress.Data.Filtering;
|
||||
using System.Collections.Generic;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using DevExpress.ExpressApp.Xpo;
|
||||
using DevExpress.Xpo;
|
||||
using DevExpress.Persistent.BaseImpl;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Nuvolar.Module
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out http://documentation.devexpress.com/#Xaf/clsDevExpressExpressAppViewControllertopic.
|
||||
public partial class AuditTrailVCC : ViewController
|
||||
{
|
||||
public AuditTrailVCC()
|
||||
{
|
||||
InitializeComponent();
|
||||
RegisterActions(components);
|
||||
TargetViewType = ViewType.ListView;
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
Frame.GetController<AuditTrailVCC>().aGetAuditTrailC.Active.SetItemValue("", false);
|
||||
|
||||
if( View.Id.Contains("AuditDataItemPersistent")) {
|
||||
Frame.GetController<AuditTrailVCC>().aGetAuditTrailC.Active.SetItemValue("", false);
|
||||
}
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
|
||||
private void aGetAuditTrail_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
|
||||
//XPObjectSpace _ocur = View.ObjectSpace as XPObjectSpace;
|
||||
//XPCollection<AuditDataItemPersistent> _AuditDataItemPersistent_Collection = default(XPCollection<AuditDataItemPersistent>);
|
||||
//XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
//CollectionSource _CS = new CollectionSource(_onew, typeof(AuditDataItemPersistent));
|
||||
|
||||
//_AuditDataItemPersistent_Collection = AuditedObjectWeakReference.GetAuditTrail(_ocur.Session, View.SelectedObjects[0]);
|
||||
|
||||
//_CS.BeginUpdateCriteria();
|
||||
//_CS.Criteria.Clear();
|
||||
//_CS.Criteria["First"] = CriteriaOperator.Parse("1=2");
|
||||
//_CS.EndUpdateCriteria();
|
||||
|
||||
//if (_AuditDataItemPersistent_Collection != null) {
|
||||
// foreach ( var _AuditDataItemPersistent in _AuditDataItemPersistent_Collection) {
|
||||
// _CS.Add(_onew.GetObject(_AuditDataItemPersistent));
|
||||
// }
|
||||
|
||||
// e.ShowViewParameters.CreatedView = Application.CreateListView("AuditDataItemPersistent_ListView", _CS, false);
|
||||
// e.ShowViewParameters.NewWindowTarget = NewWindowTarget.Separate;
|
||||
// e.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow;
|
||||
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="aGetAuditTrailC.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,54 @@
|
||||
namespace Nuvolar.Module
|
||||
{
|
||||
partial class CustomersOrderVC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.aOpenWindowsExplorer = new DevExpress.ExpressApp.Actions.SimpleAction(this.components);
|
||||
//
|
||||
// aOpenWindowsExplorer
|
||||
//
|
||||
this.aOpenWindowsExplorer.Caption = "aOpen Windows Explorer";
|
||||
this.aOpenWindowsExplorer.ConfirmationMessage = null;
|
||||
this.aOpenWindowsExplorer.Id = "aOpenWindowsExplorer";
|
||||
this.aOpenWindowsExplorer.SelectionDependencyType = DevExpress.ExpressApp.Actions.SelectionDependencyType.RequireSingleObject;
|
||||
this.aOpenWindowsExplorer.TargetObjectType = typeof(Nuvolar.Module.CustomersOrder);
|
||||
this.aOpenWindowsExplorer.ToolTip = null;
|
||||
this.aOpenWindowsExplorer.Execute += new DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler(this.aOpenWindowsExplorer_Execute);
|
||||
//
|
||||
// CustomersOrderVC
|
||||
//
|
||||
this.Actions.Add(this.aOpenWindowsExplorer);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.ExpressApp.Actions.SimpleAction aOpenWindowsExplorer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using DevExpress.Data.Filtering;
|
||||
using DevExpress.ExpressApp;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using DevExpress.ExpressApp.Editors;
|
||||
using DevExpress.ExpressApp.Layout;
|
||||
using DevExpress.ExpressApp.Model.NodeGenerators;
|
||||
using DevExpress.ExpressApp.SystemModule;
|
||||
using DevExpress.ExpressApp.Templates;
|
||||
using DevExpress.ExpressApp.Utils;
|
||||
using DevExpress.Persistent.Base;
|
||||
using DevExpress.Persistent.Validation;
|
||||
using DevExpress.ExpressApp.Xpo;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Nuvolar.Module
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
|
||||
public partial class CustomersOrderVC : ViewController
|
||||
{
|
||||
public CustomersOrderVC()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
|
||||
private void aOpenWindowsExplorer_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
XPObjectSpace _ocur = (XPObjectSpace)View.ObjectSpace;
|
||||
XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
CustomersOrder _CustomersOrder = (CustomersOrder)View.SelectedObjects[0];
|
||||
|
||||
if (_CustomersOrder != null) {
|
||||
if (string.IsNullOrEmpty(_CustomersOrder.DocumentPath)==false)
|
||||
{
|
||||
if (Directory.Exists(_CustomersOrder.DocumentPath))
|
||||
{
|
||||
Process.Start(_CustomersOrder.DocumentPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="aOpenWindowsExplorer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 56</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,40 @@
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
partial class DeliveryNoteOut_VC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
//
|
||||
// DeliveryNoteOut_VC
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
using DevExpress.Data.Filtering;
|
||||
using DevExpress.ExpressApp;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using DevExpress.ExpressApp.Xpo;
|
||||
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
|
||||
public partial class DeliveryNoteOut_VC : ViewController
|
||||
{
|
||||
public DeliveryNoteOut_VC()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
|
||||
private void aPrintSelectedDeliveryNoteOuts_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
XPObjectSpace _ocur = View.ObjectSpace as XPObjectSpace;
|
||||
DeliveryNoteOutHeader _DeliveryNoteOutHeader = View.SelectedObjects[0] as DeliveryNoteOutHeader;
|
||||
|
||||
|
||||
if (_DeliveryNoteOutHeader.DeliveryNoteOutType.ReportDataV2!=null)
|
||||
{
|
||||
XAFPrintHelper _XAFPrintHelper = new XAFPrintHelper(_ocur, Frame, _DeliveryNoteOutHeader.DeliveryNoteOutType.ReportDataV2, CriteriaOperator.Parse("DeliveryNoteOutHeader.Oid=?", _DeliveryNoteOutHeader.Oid));
|
||||
_XAFPrintHelper.ShowPreviewV2PDF();
|
||||
|
||||
//XtraReport report = ReportDataProvider.ReportsStorage.LoadReport(_DeliveryNoteOutHeader.DeliveryNoteOutType.ReportDataV2);
|
||||
//var dataSource = (DevExpress.Persistent.Base.ReportsV2.ISupportCriteria)report.DataSource;
|
||||
//dataSource.Criteria = CriteriaOperator.Parse("DeliveryNoteOutHeader.Oid=?", _DeliveryNoteOutHeader.Oid);
|
||||
|
||||
//Frame.GetController<ReportServiceController>().SetupBeforePrint(report, null, null, false, null, false);
|
||||
//report.ShowPreview();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,40 @@
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
partial class InvoiceHeader_VC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
//
|
||||
// InvoiceHeader_VC
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
using DevExpress.Data.Filtering;
|
||||
using DevExpress.ExpressApp;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using DevExpress.ExpressApp.Xpo;
|
||||
using DevExpress.Persistent.BaseImpl;
|
||||
using DevExpress.ExpressApp.ReportsV2;
|
||||
using System.Windows.Forms;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using System.Diagnostics;
|
||||
using DevExpress.XtraReports;
|
||||
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
|
||||
public partial class InvoiceHeader_VC : ViewController
|
||||
{
|
||||
public InvoiceHeader_VC()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
|
||||
private void aPrintSelectedInvoicesV2_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
//var stopwatch = new Stopwatch();
|
||||
//stopwatch.Start();
|
||||
|
||||
XPObjectSpace _ocur = View.ObjectSpace as XPObjectSpace;
|
||||
InvoiceHeader _InvoiceHeader = View.SelectedObjects[0] as InvoiceHeader;
|
||||
IReportDataV2 reportData = _ocur.FindObject<ReportDataV2>(CriteriaOperator.Parse("[DisplayName] = 'Kimenő számla'"));
|
||||
|
||||
string handle = ReportDataProvider.ReportsStorage.GetReportContainerHandle(reportData);
|
||||
Frame.GetController<ReportServiceController>().ShowPreview(handle,CriteriaOperator.Parse("InvoiceHeader.Oid=?",_InvoiceHeader.Oid));
|
||||
//stopwatch.Stop();
|
||||
//long elapsed_time = stopwatch.ElapsedMilliseconds;
|
||||
|
||||
//MessageBox.Show(elapsed_time.ToString("#,##0.00"), "Time", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
}
|
||||
|
||||
private void aPrintSelectedInvoicesV2V_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
|
||||
Debug.WriteLine("============ REPORT START ===========================================================================");
|
||||
XPObjectSpace _ocur = View.ObjectSpace as XPObjectSpace;
|
||||
InvoiceHeader _InvoiceHeader = View.SelectedObjects[0] as InvoiceHeader;
|
||||
IReportDataV2 reportData = _ocur.FindObject<ReportDataV2>(CriteriaOperator.Parse("[DisplayName] = 'Kimenő számla'"));
|
||||
XtraReport report = ReportDataProvider.ReportsStorage.LoadReport(reportData);
|
||||
var dataSource = (DevExpress.Persistent.Base.ReportsV2.ISupportCriteria)report.DataSource;
|
||||
dataSource.Criteria = CriteriaOperator.Parse("InvoiceHeader.Oid=? and InvoiceHeader.Customers.Oid=?", _InvoiceHeader.Oid,_InvoiceHeader.Customers.Oid);
|
||||
|
||||
string handle = ReportDataProvider.ReportsStorage.GetReportContainerHandle(reportData);
|
||||
//Frame.GetController<ReportServiceController>().SetupBeforePrint(report, null, CriteriaOperator.Parse("InvoiceHeader.Oid=?", _InvoiceHeader.Oid), true, null, false);
|
||||
Frame.GetController<ReportServiceController>().SetupBeforePrint(report, null,null , false, null, false);
|
||||
//report.PrintDialog();
|
||||
report.ShowPreview();
|
||||
Debug.WriteLine("============ REPORT STOP ===========================================================================");
|
||||
}
|
||||
|
||||
private void aPrintSelectedInvoicesV2PDF_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
Debug.WriteLine("============ REPORT START ===========================================================================");
|
||||
XPObjectSpace _ocur = View.ObjectSpace as XPObjectSpace;
|
||||
InvoiceHeader _InvoiceHeader = View.SelectedObjects[0] as InvoiceHeader;
|
||||
//IReportDataV2 reportData = _ocur.FindObject<ReportDataV2>(CriteriaOperator.Parse("[DisplayName] = 'Kimenő számla'"));
|
||||
//XtraReport report = ReportDataProvider.ReportsStorage.LoadReport(reportData);
|
||||
|
||||
Nuvolar.Module.ReportV2.Report_Invoice _RI=new Nuvolar.Module.ReportV2.Report_Invoice();
|
||||
//ReportPrintTool _PrintTool = new ReportPrintTool(_RI as IReport);
|
||||
|
||||
|
||||
//string handle = ReportDataProvider.ReportsStorage.GetReportContainerHandle(reportData);
|
||||
//Frame.GetController<ReportServiceController>().ShowPreview(handle, CriteriaOperator.Parse("InvoiceHeader.Oid=?", _InvoiceHeader.Oid));
|
||||
_RI.FilterString = CriteriaOperator.Parse("InvoiceHeader=?", _InvoiceHeader.Oid).ToString();
|
||||
|
||||
//var dataSource = (DevExpress.Persistent.Base.ReportsV2.ISupportCriteria)_RI.DataSource;
|
||||
|
||||
Frame.GetController<ReportServiceController>().SetupBeforePrint(_RI, null, CriteriaOperator.Parse("InvoiceHeader=?",_InvoiceHeader.Oid), true, null, false);
|
||||
_RI.ShowPreview();
|
||||
Debug.WriteLine("============ REPORT STOP ===========================================================================");
|
||||
//_RI.DataSource=_ocur.Session.da
|
||||
//(_RI.DataSource as DevExpress.DataAccess.Sql.SqlDataSource).Connection.ConnectionString = _ocur.Session.ConnectionString;
|
||||
|
||||
//_RI.ExportToPdf(@"c:\temp\kutya.pdf");
|
||||
//Process.Start(@"c:\temp\kutya.pdf");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,54 @@
|
||||
namespace Nuvolar.Module
|
||||
{
|
||||
partial class NavInvoiceReportVC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.aCreateNAVInvoiceReportXML = new DevExpress.ExpressApp.Actions.SimpleAction(this.components);
|
||||
//
|
||||
// aCreateNAVInvoiceReportXML
|
||||
//
|
||||
this.aCreateNAVInvoiceReportXML.ActionMeaning = DevExpress.ExpressApp.Actions.ActionMeaning.Accept;
|
||||
this.aCreateNAVInvoiceReportXML.Caption = "aCreate NAVInvoice Report XML";
|
||||
this.aCreateNAVInvoiceReportXML.ConfirmationMessage = "aCreateNAVInvoiceReportXML";
|
||||
this.aCreateNAVInvoiceReportXML.Id = "aCreateNAVInvoiceReportXML";
|
||||
this.aCreateNAVInvoiceReportXML.TargetObjectType = typeof(Nuvolar.Module.NAVInvoiceReport);
|
||||
this.aCreateNAVInvoiceReportXML.ToolTip = null;
|
||||
this.aCreateNAVInvoiceReportXML.Execute += new DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler(this.aCreateNAVInvoiceReportXML_Execute);
|
||||
//
|
||||
// NavInvoiceReportVC
|
||||
//
|
||||
this.Actions.Add(this.aCreateNAVInvoiceReportXML);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.ExpressApp.Actions.SimpleAction aCreateNAVInvoiceReportXML;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,204 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using DevExpress.ExpressApp;
|
||||
using System.Collections.Generic;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using DevExpress.Persistent.Validation;
|
||||
using System.Xml;
|
||||
using DevExpress.Xpo;
|
||||
using DevExpress.ExpressApp.Xpo;
|
||||
using DevExpress.Data.Filtering;
|
||||
using Nuvolar.Module;
|
||||
using System.Globalization;
|
||||
using System.Windows.Forms;
|
||||
namespace Nuvolar.Module
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out http://documentation.devexpress.com/#Xaf/clsDevExpressExpressAppViewControllertopic.
|
||||
public partial class NavInvoiceReportVC : ViewController
|
||||
{
|
||||
public NavInvoiceReportVC()
|
||||
{
|
||||
InitializeComponent();
|
||||
RegisterActions(components);
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
|
||||
private void aCreateNAVInvoiceReportXML_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
|
||||
XPObjectSpace _ocur = (XPObjectSpace)View.ObjectSpace;
|
||||
XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
NAVInvoiceReport _NAVInvoiceReport = (NAVInvoiceReport)View.SelectedObjects[0];
|
||||
|
||||
//Kritéria a törzsbõl
|
||||
System.String _Criteria=" IsEditable=false and IsProforma=false and DocumentNumber!='' and IsNull(DocumentNumber)=false";
|
||||
|
||||
if (string.IsNullOrEmpty(_NAVInvoiceReport.DocumentNumberFrom)==false & string.IsNullOrEmpty(_NAVInvoiceReport.DocumentNumberTo)==false)
|
||||
{
|
||||
_Criteria += string.Format(" and (DocumentNumber>='{0}' and DocumentNumber <='{1}')", _NAVInvoiceReport.DocumentNumberFrom, _NAVInvoiceReport.DocumentNumberTo);
|
||||
}
|
||||
_Criteria += " and (GetDate(DateCreated)>=? and GetDate(DateCreated)<=?)";
|
||||
XPCollection<InvoiceHeader> _InvoiceHeader_Collection = new XPCollection<InvoiceHeader>(_onew.Session, CriteriaOperator.Parse(_Criteria, _NAVInvoiceReport.FromDate, _NAVInvoiceReport.ToDate));
|
||||
|
||||
_InvoiceHeader_Collection.Sorting.Add(new SortProperty("DateCreated", DevExpress.Xpo.DB.SortingDirection.Ascending));
|
||||
|
||||
System.String _Filename = string.Format(@"NR{0:yyyyMMddHHmm}.xml", System.DateTime.Now);
|
||||
if (Validator.RuleSet.ValidateAll(View.ObjectSpace, View.SelectedObjects, DefaultContexts.Save))
|
||||
{
|
||||
|
||||
XmlWriterSettings settings = new XmlWriterSettings() { Indent = true, NewLineOnAttributes = true };
|
||||
using (XmlWriter writer = XmlWriter.Create(string.Format(@"{0}\{1}",_NAVInvoiceReport.OutputPath,_Filename), settings))
|
||||
{
|
||||
writer.WriteStartDocument();
|
||||
writer.WriteStartElement("szamlak", @"http://schemas.nav.gov.hu/2013/szamla");
|
||||
writer.WriteElementString("export_datuma", DateTime.Now.ToString(@"yyyy-MM-dd"));
|
||||
writer.WriteElementString("export_szla_db", _InvoiceHeader_Collection.Count.ToString());
|
||||
writer.WriteElementString("kezdo_ido", _NAVInvoiceReport.FromDate.ToString(@"yyyy-MM-dd"));
|
||||
writer.WriteElementString("zaro_ido", _NAVInvoiceReport.ToDate.ToString(@"yyyy-MM-dd"));
|
||||
writer.WriteElementString("kezdo_szamlaszam", _NAVInvoiceReport.DocumentNumberFrom);
|
||||
writer.WriteElementString("zaro_szamlaszam", _NAVInvoiceReport.DocumentNumberTo);
|
||||
|
||||
foreach (InvoiceHeader _InvoiceHeader in _InvoiceHeader_Collection)
|
||||
{
|
||||
writer.WriteStartElement("szamla");
|
||||
|
||||
writer.WriteStartElement("fejlec");
|
||||
writer.WriteElementString("szlasorszam", _InvoiceHeader.DocumentNumber);
|
||||
writer.WriteElementString("szlatipus", "1");
|
||||
writer.WriteElementString("szladatum", _InvoiceHeader.DateCreated.ToString(@"yyyy-MM-dd"));
|
||||
writer.WriteElementString("teljdatum", _InvoiceHeader.DateExecution.ToString(@"yyyy-MM-dd"));
|
||||
|
||||
writer.WriteEndElement();//fejlec
|
||||
|
||||
writer.WriteStartElement("szamlakibocsato");
|
||||
writer.WriteElementString("adoszam", _InvoiceHeader.Saved_CustomersFrom_VATNumber);
|
||||
writer.WriteElementString("kisadozo", "false");
|
||||
writer.WriteElementString("nev", _InvoiceHeader.Saved_CustomersFrom_Name);
|
||||
|
||||
writer.WriteStartElement("cim");
|
||||
writer.WriteElementString("iranyitoszam", _InvoiceHeader.Saved_CustomersFrom_Address_ZipPostal);
|
||||
writer.WriteElementString("telepules", _InvoiceHeader.Saved_CustomersFrom_Address_City);
|
||||
|
||||
if (_InvoiceHeader.CustomersFrom.Address1.GetMemberValue("NameOfStreet") != null)
|
||||
{ writer.WriteElementString("kozterulet_neve", _InvoiceHeader.CustomersFrom.Address1.GetMemberValue("NameOfStreet").ToString()); }
|
||||
else
|
||||
{ writer.WriteElementString("kozterulet_neve", _InvoiceHeader.Saved_CustomersFrom_Address_Street); }
|
||||
|
||||
|
||||
if (_InvoiceHeader.CustomersFrom.Address1.GetMemberValue("District") != null) { writer.WriteElementString("kerulet", _InvoiceHeader.CustomersFrom.Address1.GetMemberValue("District").ToString()); }
|
||||
if (_InvoiceHeader.CustomersFrom.Address1.GetMemberValue("TypeOfStreet") != null) { writer.WriteElementString("kozterulet_jellege", _InvoiceHeader.CustomersFrom.Address1.GetMemberValue("TypeOfStreet").ToString()); }
|
||||
if (_InvoiceHeader.CustomersFrom.Address1.GetMemberValue("NumberOfStreet") != null) { writer.WriteElementString("hazszam", _InvoiceHeader.CustomersFrom.Address1.GetMemberValue("NumberOfStreet").ToString()); }
|
||||
if (_InvoiceHeader.CustomersFrom.Address1.GetMemberValue("Building") != null) { writer.WriteElementString("epulet", _InvoiceHeader.CustomersFrom.Address1.GetMemberValue("Building").ToString()); }
|
||||
if (_InvoiceHeader.CustomersFrom.Address1.GetMemberValue("StairCase") != null) { writer.WriteElementString("lepcsohaz", _InvoiceHeader.CustomersFrom.Address1.GetMemberValue("StairCase").ToString()); }
|
||||
if (_InvoiceHeader.CustomersFrom.Address1.GetMemberValue("Floor") != null) { writer.WriteElementString("szint", _InvoiceHeader.CustomersFrom.Address1.GetMemberValue("Floor").ToString()); }
|
||||
if (_InvoiceHeader.CustomersFrom.Address1.GetMemberValue("NumberOfDoor") != null) { writer.WriteElementString("ajto", _InvoiceHeader.CustomersFrom.Address1.GetMemberValue("NumberOfDoor").ToString()); }
|
||||
|
||||
//writer.WriteElementString("kerulet", (_InvoiceHeader.CustomersFrom.Address1.GetMemberValue("District") ?? "").ToString());
|
||||
|
||||
writer.WriteElementString("egyeni_vallalkozo", "");
|
||||
writer.WriteElementString("ev_nyilv_tart_szam", "");
|
||||
writer.WriteElementString("ev_neve", "");
|
||||
writer.WriteEndElement();//cim
|
||||
|
||||
writer.WriteEndElement();//szamlakibocsato
|
||||
|
||||
writer.WriteStartElement("vevo");
|
||||
writer.WriteElementString("nev", _InvoiceHeader.Saved_Customers_Name);
|
||||
|
||||
writer.WriteStartElement("cim");
|
||||
writer.WriteElementString("iranyitoszam", _InvoiceHeader.Saved_Customers_Address_ZipPostal);
|
||||
writer.WriteElementString("telepules", _InvoiceHeader.Saved_Customers_Address_City);
|
||||
if (_InvoiceHeader.Customers.Address1.GetMemberValue("NameOfStreet") != null)
|
||||
{ writer.WriteElementString("kozterulet_neve", _InvoiceHeader.Customers.Address1.GetMemberValue("NameOfStreet").ToString()); }
|
||||
else
|
||||
{ writer.WriteElementString("kozterulet_neve", _InvoiceHeader.Saved_Customers_Address_Street); }
|
||||
|
||||
|
||||
if (_InvoiceHeader.Customers.Address1.GetMemberValue("District") != null) { writer.WriteElementString("kerulet", _InvoiceHeader.Customers.Address1.GetMemberValue("District").ToString()); }
|
||||
if (_InvoiceHeader.Customers.Address1.GetMemberValue("TypeOfStreet") != null) { writer.WriteElementString("kozterulet_jellege", _InvoiceHeader.Customers.Address1.GetMemberValue("TypeOfStreet").ToString()); }
|
||||
if (_InvoiceHeader.Customers.Address1.GetMemberValue("NumberOfStreet") != null) { writer.WriteElementString("hazszam", _InvoiceHeader.Customers.Address1.GetMemberValue("NumberOfStreet").ToString()); }
|
||||
if (_InvoiceHeader.Customers.Address1.GetMemberValue("Building") != null) { writer.WriteElementString("epulet", _InvoiceHeader.Customers.Address1.GetMemberValue("Building").ToString()); }
|
||||
if (_InvoiceHeader.Customers.Address1.GetMemberValue("StairCase") != null) { writer.WriteElementString("lepcsohaz", _InvoiceHeader.Customers.Address1.GetMemberValue("StairCase").ToString()); }
|
||||
if (_InvoiceHeader.Customers.Address1.GetMemberValue("Floor") != null) { writer.WriteElementString("szint", _InvoiceHeader.Customers.Address1.GetMemberValue("Floor").ToString()); }
|
||||
if (_InvoiceHeader.Customers.Address1.GetMemberValue("NumberOfDoor") != null) { writer.WriteElementString("ajto", _InvoiceHeader.Customers.Address1.GetMemberValue("NumberOfDoor").ToString()); }
|
||||
|
||||
writer.WriteEndElement();//cim
|
||||
|
||||
writer.WriteEndElement();//vevo
|
||||
foreach (InvoiceRows _InvoiceRows in _InvoiceHeader.InvoiceRows)
|
||||
{
|
||||
writer.WriteStartElement("termek_szolgaltatas_tetelek");
|
||||
writer.WriteElementString("termeknev", _InvoiceRows.ShortName);
|
||||
writer.WriteElementString("menny", _InvoiceRows.QTT.ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("mertekegys", _InvoiceRows.Units.ShortName);
|
||||
writer.WriteElementString("nettoar", _InvoiceRows.SumPriceHUF.ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("nettoegysar", _InvoiceRows.ListPriceHUF.ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("adokulcs", _InvoiceRows.VAT.KeyValue.ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("adoertek", (_InvoiceRows.SumPriceBruttoHUF - _InvoiceRows.SumPriceHUF).ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("bruttoar", _InvoiceRows.SumPriceBruttoHUF.ToString("F", CultureInfo.InvariantCulture));
|
||||
|
||||
writer.WriteEndElement();//termek_szolgaltatas_tetelek
|
||||
}
|
||||
|
||||
writer.WriteStartElement("zaradekok");
|
||||
writer.WriteElementString("adoment_hiv", "false");
|
||||
writer.WriteEndElement(); //zaradekok
|
||||
|
||||
writer.WriteStartElement("nem_kotelezo");
|
||||
writer.WriteElementString("fiz_hatarido", _InvoiceHeader.DatePayment.ToString(@"yyyy-MM-dd"));
|
||||
writer.WriteElementString("fiz_mod", _InvoiceHeader.PaymentOption.ShortName);
|
||||
writer.WriteElementString("penznem", _InvoiceHeader.CurrencyName.ShortName);
|
||||
writer.WriteEndElement(); //nem_kotelezo
|
||||
|
||||
writer.WriteStartElement("osszesites");
|
||||
foreach (InvoiceVATRows _InvoiceVATRows in _InvoiceHeader.InvoiceVATRows)
|
||||
{
|
||||
writer.WriteStartElement("afarovat");
|
||||
writer.WriteElementString("nettoar", _InvoiceVATRows.AmountNettoHUF.ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("adokulcs", _InvoiceVATRows.VAT.KeyValue.ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("adoertek", _InvoiceVATRows.AmountVATHUF.ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("bruttoar", _InvoiceVATRows.AmountBruttoHUF.ToString("F", CultureInfo.InvariantCulture));
|
||||
|
||||
writer.WriteEndElement(); //afarovat
|
||||
}
|
||||
writer.WriteStartElement("vegosszeg");
|
||||
writer.WriteElementString("nettoarossz", _InvoiceHeader.TotalNettoHUF.ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("afaertekossz", _InvoiceHeader.TotalVATHUF.ToString("F", CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString("bruttoarossz", _InvoiceHeader.TotalBruttoHUF.ToString("F", CultureInfo.InvariantCulture));
|
||||
|
||||
writer.WriteEndElement(); //vegosszeg
|
||||
writer.WriteEndElement(); //osszesites
|
||||
|
||||
writer.WriteEndElement(); //szamla
|
||||
}
|
||||
|
||||
writer.WriteEndElement();
|
||||
writer.WriteEndDocument();
|
||||
MessageBox.Show(string.Format("A letöltés befejezõdött !\nA fájl a következõ helyen :\n{0}", string.Format(@"{0}\{1}", _NAVInvoiceReport.OutputPath, _Filename)), "Adatletöltés állapota", MessageBoxButtons.OK);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void simpleAction1_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
DevExpress.ExpressApp.Reports.Win.ReportsController _ReportsController = Frame.GetController<DevExpress.ExpressApp.Reports.Win.ReportsController>();
|
||||
|
||||
_ReportsController.ShowReportDesignerAction.DoExecute();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="aCreateNAVInvoiceReportXML.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>146, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,107 @@
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
partial class OrderIn_VC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.aMoveOrderIn = new DevExpress.ExpressApp.Actions.PopupWindowShowAction(this.components);
|
||||
this.aOrderInStorageOut = new DevExpress.ExpressApp.Actions.PopupWindowShowAction(this.components);
|
||||
this.aMoveOrderInBack = new DevExpress.ExpressApp.Actions.SimpleAction(this.components);
|
||||
this.aDeliveryNoteOutPrint_Divided = new DevExpress.ExpressApp.Actions.SimpleAction(this.components);
|
||||
//
|
||||
// aMoveOrderIn
|
||||
//
|
||||
this.aMoveOrderIn.AcceptButtonCaption = null;
|
||||
this.aMoveOrderIn.CancelButtonCaption = null;
|
||||
this.aMoveOrderIn.Caption = "aMove Order In";
|
||||
this.aMoveOrderIn.Category = "";
|
||||
this.aMoveOrderIn.ConfirmationMessage = null;
|
||||
this.aMoveOrderIn.Id = "aMoveOrderIn";
|
||||
this.aMoveOrderIn.SelectionDependencyType = DevExpress.ExpressApp.Actions.SelectionDependencyType.RequireSingleObject;
|
||||
this.aMoveOrderIn.TargetObjectType = typeof(Nuvolar.Module.OrderInHeader);
|
||||
this.aMoveOrderIn.TargetViewNesting = DevExpress.ExpressApp.Nesting.Root;
|
||||
this.aMoveOrderIn.TargetViewType = DevExpress.ExpressApp.ViewType.DetailView;
|
||||
this.aMoveOrderIn.ToolTip = null;
|
||||
this.aMoveOrderIn.TypeOfView = typeof(DevExpress.ExpressApp.DetailView);
|
||||
this.aMoveOrderIn.CustomizePopupWindowParams += new DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventHandler(this.aMoveOrderIn_CustomizePopupWindowParams);
|
||||
this.aMoveOrderIn.Execute += new DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventHandler(this.aMoveOrderIn_Execute);
|
||||
//
|
||||
// aOrderInStorageOut
|
||||
//
|
||||
this.aOrderInStorageOut.AcceptButtonCaption = null;
|
||||
this.aOrderInStorageOut.CancelButtonCaption = null;
|
||||
this.aOrderInStorageOut.Caption = "aOrder In Storage Out";
|
||||
this.aOrderInStorageOut.Category = "aOrderInStorageOut";
|
||||
this.aOrderInStorageOut.ConfirmationMessage = null;
|
||||
this.aOrderInStorageOut.Id = "aOrderInStorageOut";
|
||||
this.aOrderInStorageOut.TargetObjectType = typeof(Nuvolar.Module.OrderInHeader);
|
||||
this.aOrderInStorageOut.TargetViewNesting = DevExpress.ExpressApp.Nesting.Root;
|
||||
this.aOrderInStorageOut.TargetViewType = DevExpress.ExpressApp.ViewType.DetailView;
|
||||
this.aOrderInStorageOut.ToolTip = null;
|
||||
this.aOrderInStorageOut.TypeOfView = typeof(DevExpress.ExpressApp.DetailView);
|
||||
this.aOrderInStorageOut.CustomizePopupWindowParams += new DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventHandler(this.aOrderInStorageOut_CustomizePopupWindowParams);
|
||||
this.aOrderInStorageOut.Execute += new DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventHandler(this.aOrderInStorageOut_Execute);
|
||||
//
|
||||
// aMoveOrderInBack
|
||||
//
|
||||
this.aMoveOrderInBack.Caption = "aMove Order In Back";
|
||||
this.aMoveOrderInBack.ConfirmationMessage = "Are you sure ?";
|
||||
this.aMoveOrderInBack.Id = "aMoveOrderInBack";
|
||||
this.aMoveOrderInBack.SelectionDependencyType = DevExpress.ExpressApp.Actions.SelectionDependencyType.RequireSingleObject;
|
||||
this.aMoveOrderInBack.TargetObjectType = typeof(Nuvolar.Module.OrderInRows);
|
||||
this.aMoveOrderInBack.ToolTip = null;
|
||||
this.aMoveOrderInBack.Execute += new DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler(this.aMoveOrderInBack_Execute);
|
||||
//
|
||||
// aDeliveryNoteOutPrint_Divided
|
||||
//
|
||||
this.aDeliveryNoteOutPrint_Divided.Caption = "aDeliveryNoteOutPrint_Divided";
|
||||
this.aDeliveryNoteOutPrint_Divided.Category = "View";
|
||||
this.aDeliveryNoteOutPrint_Divided.ConfirmationMessage = null;
|
||||
this.aDeliveryNoteOutPrint_Divided.Id = "aDeliveryNoteOutPrint_Divided";
|
||||
this.aDeliveryNoteOutPrint_Divided.SelectionDependencyType = DevExpress.ExpressApp.Actions.SelectionDependencyType.RequireSingleObject;
|
||||
this.aDeliveryNoteOutPrint_Divided.TargetObjectType = typeof(Nuvolar.Module.DeliveryNoteOutRows);
|
||||
this.aDeliveryNoteOutPrint_Divided.ToolTip = null;
|
||||
this.aDeliveryNoteOutPrint_Divided.Execute += new DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler(this.aDeliveryNoteOutPrint_Divided_Execute);
|
||||
//
|
||||
// OrderIn_VC
|
||||
//
|
||||
this.Actions.Add(this.aMoveOrderIn);
|
||||
this.Actions.Add(this.aOrderInStorageOut);
|
||||
this.Actions.Add(this.aMoveOrderInBack);
|
||||
this.Actions.Add(this.aDeliveryNoteOutPrint_Divided);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.ExpressApp.Actions.PopupWindowShowAction aMoveOrderIn;
|
||||
private DevExpress.ExpressApp.Actions.PopupWindowShowAction aOrderInStorageOut;
|
||||
private DevExpress.ExpressApp.Actions.SimpleAction aMoveOrderInBack;
|
||||
internal DevExpress.ExpressApp.Actions.SimpleAction aDeliveryNoteOutPrint_Divided;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,541 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using DevExpress.Data.Filtering;
|
||||
using DevExpress.ExpressApp;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using DevExpress.ExpressApp.SystemModule;
|
||||
using DevExpress.ExpressApp.Utils;
|
||||
using DevExpress.ExpressApp.Xpo;
|
||||
using Nuvolar.Module.BusinessObjects.Popup;
|
||||
using DevExpress.Xpo;
|
||||
using DevExpress.Persistent.BaseImpl;
|
||||
using System.Collections;
|
||||
//using System.Windows.Forms;
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
|
||||
public partial class OrderIn_VC : ViewController
|
||||
{
|
||||
public OrderIn_VC()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
private void aMoveOrderIn_Execute(object sender, PopupWindowShowActionExecuteEventArgs e)
|
||||
{
|
||||
//XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
XPObjectSpace _onew = View.ObjectSpace as XPObjectSpace;
|
||||
OrderInMovePopup _OrderInMovePopup = (OrderInMovePopup)e.PopupWindow.View.SelectedObjects[0];
|
||||
Guid _GUID=Guid.Empty;
|
||||
if (_OrderInMovePopup.OrderInHeaderTo == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (StorageOutRowsInRows _StorageOutRowsInRows in _OrderInMovePopup.StorageOutRowsInRows)
|
||||
{
|
||||
if (_StorageOutRowsInRows.QTT_Will > 0 && _StorageOutRowsInRows.QTT_Will<=_StorageOutRowsInRows.QTT)
|
||||
{
|
||||
if (_StorageOutRowsInRows.StorageOutRows.OrderInRows.DividedOriginal == 0)
|
||||
{
|
||||
_StorageOutRowsInRows.StorageOutRows.OrderInRows.DividedOriginal = 1;
|
||||
_GUID = Guid.NewGuid();
|
||||
_StorageOutRowsInRows.StorageOutRows.OrderInRows.DividedGUID = _GUID;
|
||||
}
|
||||
else
|
||||
{
|
||||
_GUID = _StorageOutRowsInRows.StorageOutRows.OrderInRows.DividedGUID;
|
||||
}
|
||||
_StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT-= _StorageOutRowsInRows.QTT_Will;
|
||||
_StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT_DeliveryNoted-= _StorageOutRowsInRows.QTT_Will;
|
||||
_StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT_Storaged-= _StorageOutRowsInRows.QTT_Will;
|
||||
_StorageOutRowsInRows.QTT -= _StorageOutRowsInRows.QTT_Will;
|
||||
_StorageOutRowsInRows.QTT_To_DeliveryOut -= _StorageOutRowsInRows.QTT_Will;
|
||||
|
||||
_StorageOutRowsInRows.DividedGUID = _GUID;
|
||||
|
||||
if (_StorageOutRowsInRows.DividedOriginal==0) {_StorageOutRowsInRows.DividedOriginal = 1; _StorageOutRowsInRows.DividedGUID = _GUID; }
|
||||
if (_StorageOutRowsInRows.StorageOutRows.DividedOriginal == 0) { _StorageOutRowsInRows.StorageOutRows.DividedOriginal = 1; _StorageOutRowsInRows.StorageOutRows.DividedGUID = _GUID; }
|
||||
|
||||
OrderInRows _OrderInRows = _onew.GetObject(_StorageOutRowsInRows.StorageOutRows.OrderInRows);
|
||||
OrderInRows _OrderInRowsNew = _onew.CreateObject<OrderInRows>();
|
||||
_OrderInRowsNew.DividedOriginal = 2;
|
||||
_OrderInRowsNew.DividedGUID = _GUID;
|
||||
_OrderInRowsNew.APCSheetByProducts = _OrderInRows.APCSheetByProducts;
|
||||
_OrderInRowsNew.Description = _OrderInRows.Description;
|
||||
_OrderInRowsNew.DescriptionPrivate = _OrderInRows.DescriptionPrivate;
|
||||
_OrderInRowsNew.DiscountPriceDEV = _OrderInRows.DiscountPriceDEV;
|
||||
_OrderInRowsNew.DiscountPriceHUF = _OrderInRows.DiscountPriceHUF;
|
||||
_OrderInRowsNew.ListPriceDEV = _OrderInRows.ListPriceDEV;
|
||||
_OrderInRowsNew.ListPriceHUF = _OrderInRows.ListPriceHUF;
|
||||
_OrderInRowsNew.ListPriceOriginalHUF = _OrderInRows.ListPriceOriginalHUF;
|
||||
_OrderInRowsNew.OrderInHeader = _onew.GetObject(_OrderInMovePopup.OrderInHeaderTo);
|
||||
_OrderInRowsNew.Products = _OrderInRows.Products;
|
||||
_OrderInRowsNew.QTT = _StorageOutRowsInRows.QTT_Will;
|
||||
_OrderInRowsNew.QTT_DeliveryNoted = _StorageOutRowsInRows.QTT_Will;
|
||||
_OrderInRowsNew.QTT_Invoiced = 0;
|
||||
_OrderInRowsNew.QTT_Process = 0;
|
||||
_OrderInRowsNew.QTT_Storaged = _StorageOutRowsInRows.QTT_Will;
|
||||
_OrderInRowsNew.QTT_To = 0;
|
||||
_OrderInRowsNew.QualityOption = _OrderInRows.QualityOption;
|
||||
_OrderInRowsNew.RowGroup1 = _OrderInRows.RowGroup1;
|
||||
_OrderInRowsNew.RowGroup2 = _OrderInRows.RowGroup2;
|
||||
_OrderInRowsNew.RowIndex = 0;
|
||||
_OrderInRowsNew.VAT = _OrderInRows.VAT;
|
||||
|
||||
StorageOutRows _StorageOutRows = _onew.GetObject(_StorageOutRowsInRows.StorageOutRows);
|
||||
StorageOutRows _StorageOutRowsNew = _onew.CreateObject<StorageOutRows>();
|
||||
_StorageOutRowsNew.StorageOutHeader = _StorageOutRows.StorageOutHeader;
|
||||
_StorageOutRowsNew.OrderInRows = _OrderInRowsNew;
|
||||
_StorageOutRowsNew.Products = _StorageOutRows.Products;
|
||||
_StorageOutRowsNew.QTT = _StorageOutRowsInRows.QTT_Will;
|
||||
_StorageOutRowsNew.QTT_To_DeliveryOut = _StorageOutRowsInRows.QTT_Will;
|
||||
_StorageOutRowsNew.QTT_Will = 0;
|
||||
_StorageOutRowsNew.RowIndex = 0;
|
||||
_StorageOutRowsNew.StorageComputed = _StorageOutRows.StorageComputed;
|
||||
_StorageOutRowsNew.StorageOutHeader = _StorageOutRows.StorageOutHeader;
|
||||
_StorageOutRowsNew.DividedGUID = _GUID;
|
||||
_StorageOutRowsNew.DividedOriginal = 2;
|
||||
|
||||
StorageOutRowsInRows _StorageOutRowsInRowsNew = _onew.CreateObject<StorageOutRowsInRows>();
|
||||
|
||||
_StorageOutRowsInRowsNew.StorageOutRows = _StorageOutRowsNew;
|
||||
_StorageOutRowsInRowsNew.QTT = _StorageOutRowsInRows.QTT_Will;
|
||||
_StorageOutRowsInRowsNew.QTT_To_DeliveryOut = _StorageOutRowsInRows.QTT_Will;
|
||||
_StorageOutRowsInRowsNew.QTT_Will = 0;
|
||||
_StorageOutRowsInRowsNew.RowIndex = 0;
|
||||
_StorageOutRowsInRowsNew.StorageInRows = _onew.GetObject(_StorageOutRowsInRows.StorageInRows);
|
||||
_StorageOutRowsInRowsNew.DividedGUID = _GUID;
|
||||
_StorageOutRowsInRowsNew.DividedOriginal = 2;
|
||||
|
||||
DeliveryNoteOutRows _DeliveryNoteOutRows = _onew.FindObject<DeliveryNoteOutRows>(CriteriaOperator.Parse("StorageOutRowsInRows.Oid=?",_StorageOutRowsInRows.Oid));
|
||||
if (_DeliveryNoteOutRows!=null)
|
||||
{
|
||||
if (_DeliveryNoteOutRows.DividedOriginal == 0) { _DeliveryNoteOutRows.DividedOriginal = 1; _DeliveryNoteOutRows.DividedGUID = _GUID; }
|
||||
_DeliveryNoteOutRows.QTT -= _StorageOutRowsInRows.QTT_Will;
|
||||
|
||||
DeliveryNoteOutRows _DeliveryNoteOutRowsNew = _onew.CreateObject<DeliveryNoteOutRows>();
|
||||
|
||||
_DeliveryNoteOutRowsNew.DeliveryNoteOutHeader = _onew.GetObject(_DeliveryNoteOutRows.DeliveryNoteOutHeader);
|
||||
_DeliveryNoteOutRowsNew.Note = "";
|
||||
_DeliveryNoteOutRowsNew.QTT = _StorageOutRowsInRows.QTT_Will;
|
||||
_DeliveryNoteOutRowsNew.QTT_Invoiced = 0;
|
||||
_DeliveryNoteOutRowsNew.QTT_Will = 0;
|
||||
_DeliveryNoteOutRowsNew.RowIndex = 0;
|
||||
_DeliveryNoteOutRowsNew.StorageOutRowsInRows = _StorageOutRowsInRowsNew;
|
||||
_DeliveryNoteOutRowsNew.DividedGUID = _GUID;
|
||||
_DeliveryNoteOutRowsNew.DividedOriginal = 2;
|
||||
}
|
||||
_onew.CommitChanges();
|
||||
}
|
||||
}
|
||||
//Frame.GetController<RefreshController>().RefreshAction.DoExecute();
|
||||
//View.Refresh();
|
||||
}
|
||||
private void aMoveOrderIn_CustomizePopupWindowParams(object sender, CustomizePopupWindowParamsEventArgs e)
|
||||
{
|
||||
XPObjectSpace _ocur = (XPObjectSpace)View.ObjectSpace;
|
||||
XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
OrderInHeader _OrderInHeader = (OrderInHeader)View.SelectedObjects[0];
|
||||
OrderInMovePopup _OrderInMovePopup = _onew.CreateObject<OrderInMovePopup>();
|
||||
|
||||
_onew.Session.ExecuteNonQuery("UPDATE StorageOutRowsInRows set DividedOriginal=0 WHERE DividedOriginal IS NULL");
|
||||
_OrderInMovePopup.OrderInHeader = _onew.GetObject<OrderInHeader>(_OrderInHeader);
|
||||
e.View = Application.CreateDetailView(_onew, "OrderInMovePopup_DetailView", true, _OrderInMovePopup);
|
||||
}
|
||||
private void aOrderInStorageOut_Execute(object sender, PopupWindowShowActionExecuteEventArgs e)
|
||||
{
|
||||
XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
UnitOfWork _uow_lock = new UnitOfWork(_onew.Session.DataLayer);
|
||||
User _User = _onew.GetObject(SecuritySystem.CurrentUser as User);
|
||||
StorageComputed _StorageComputed;
|
||||
|
||||
try
|
||||
{
|
||||
//--==Ellenőrzések==--
|
||||
//____________________________________________________________________________________________________________________
|
||||
OrderInHeader _OrderInHeader = _onew.GetObjectByKey<OrderInHeader>((View.SelectedObjects[0] as OrderInHeader).Oid);
|
||||
StorageSelectPopup _StorageSelectPopup = _onew.GetObject(e.PopupWindow.View.SelectedObjects[0] as StorageSelectPopup);
|
||||
if (_OrderInHeader.OrderInRows.Count <= 0)
|
||||
{
|
||||
throw new Exception(string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions\\OrderInRows", "NoRowsInOrder"),
|
||||
string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions", "MsgBoxCheckItAgain"))));
|
||||
}
|
||||
ArrayList _OrderInRows_Collection = new ArrayList();
|
||||
|
||||
foreach (OrderInRows _OrderInRows in _OrderInHeader.OrderInRows)
|
||||
{
|
||||
|
||||
if (_OrderInRows.QTT_Process > 0)
|
||||
{
|
||||
if (_OrderInRows.QTT_Process + _OrderInRows.QTT_Storaged + _OrderInRows.QTT_Storaged_Will > _OrderInRows.QTT)
|
||||
{
|
||||
//// Ha meghaladja a kitárolás a rendelteket
|
||||
throw new Exception(string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions\\OrderInRows", "TooMutchQuantityInOrderIn"),
|
||||
_OrderInRows.RowIndex.ToString() + string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions", "MsgBoxCheckItAgain"))));
|
||||
}
|
||||
if (_OrderInRows.QTT_Process + _OrderInRows.QTT_DeliveryNoted > _OrderInRows.QTT)
|
||||
{
|
||||
//// Ha meghaladja a kiszállítás a rendelteket
|
||||
throw new Exception(string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions\\OrderInRows", "TooMutchQuantityInOrderIn"),
|
||||
_OrderInRows.RowIndex.ToString() + string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions", "MsgBoxCheckItAgain"))));
|
||||
}
|
||||
//// Szabad készlet ellenőrzése
|
||||
_StorageComputed = _onew.FindObject<StorageComputed>(CriteriaOperator.Parse("Storage.Oid=? AND Products.Oid=?", _StorageSelectPopup.Storage.Oid,
|
||||
_OrderInRows.Products.Oid));
|
||||
if (_StorageComputed == null)
|
||||
{
|
||||
throw new Exception(string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions\\StorageComputed", "NoProductsInStorage"),
|
||||
_OrderInRows.RowIndex, _OrderInRows.Products.ShortName, _StorageSelectPopup.Storage.ShortName) + "\n" +
|
||||
string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions", "MsgBoxCheckItAgain")));
|
||||
}
|
||||
if ((_StorageComputed.QTTFree < _OrderInRows.QTT_Process))
|
||||
{
|
||||
throw new Exception(string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions\\StorageComputed", "NoProductsInStorage"),
|
||||
_OrderInRows.RowIndex, _OrderInRows.Products.ShortName, _StorageSelectPopup.Storage.ShortName) + "\n" +
|
||||
string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions", "MsgBoxCheckItAgain")));
|
||||
}
|
||||
if (_StorageComputed != null)
|
||||
{
|
||||
//// Mimimum ár ellenőrzés
|
||||
if ((Application.Model.Options as IModelOptionsExtender).RequreMinimumPriceCheck)
|
||||
{
|
||||
if (_StorageComputed.MimumumPriceOutHUF < _OrderInRows.FinalPriceHUF)
|
||||
{
|
||||
throw new Exception(string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions\\StorageComputed", "BadMinimumPrice"),
|
||||
_OrderInRows.RowIndex, _OrderInRows.Products.ShortName, _StorageComputed.MimumumPriceOutHUF, _OrderInRows.FinalPriceHUF) + "\n" +
|
||||
string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions", "MsgBoxCheckItAgain")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_OrderInRows_Collection.Add(_onew.GetObjectByKey<OrderInRows>(_OrderInRows.Oid));
|
||||
}
|
||||
}
|
||||
|
||||
if (_OrderInRows_Collection.Count == 0)
|
||||
throw new Exception(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions\\OrderInRows", "NoSelectionforStorageOutandDeliveryNoteOut") + "\n" +
|
||||
string.Format(CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions", "MsgBoxCheckItAgain")));
|
||||
|
||||
//--==Zárolás==--
|
||||
//____________________________________________________________________________________________________________________
|
||||
if (!LockingModule.LockObject(_uow_lock, typeof(StorageComputed), "-", _User))
|
||||
{
|
||||
LockingObject _LockingObject = _onew.FindObject<LockingObject>(CriteriaOperator.Parse("TableName=?", typeof(StorageComputed).Name + "-" + "-"));
|
||||
|
||||
string _Prompt = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\\NuvolarExceptions\\StorageComputed", "CanNotStorageInByLocking");
|
||||
throw new Exception(string.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated));
|
||||
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
//--==Kitárolás==--
|
||||
//____________________________________________________________________________________________________________________
|
||||
StorageOutHeader _StorageOutHeader = new StorageOutHeader(_onew.Session);
|
||||
|
||||
_StorageOutHeader.Active = true;
|
||||
_StorageOutHeader.CustomersFrom = _onew.GetObjectByKey<CustomersFrom>(_OrderInHeader.CustomersFrom.Oid);
|
||||
_StorageOutHeader.Customers = _onew.GetObjectByKey<Customers>(_OrderInHeader.Customers.Oid);
|
||||
_StorageOutHeader.StorageMoveType = _onew.GetObjectByKey<StorageMoveType>(_StorageSelectPopup.StorageMoveType.Oid);
|
||||
_StorageOutHeader.Storage = _onew.GetObjectByKey<Storage>(_StorageSelectPopup.Storage.Oid);
|
||||
|
||||
foreach (OrderInRows _OrderInRows in _OrderInRows_Collection)
|
||||
{
|
||||
double _QTT_Mod = 0;
|
||||
double _QTT_Free = 0;
|
||||
double _QTT_ReservedOut = 0;
|
||||
double _QTT_Will_Out = 0;
|
||||
|
||||
StorageOutRows _StorageOutRows = new StorageOutRows(_onew.Session);
|
||||
_StorageOutRows.StorageOutHeader = _StorageOutHeader;
|
||||
_StorageOutRows.Products = _onew.GetObjectByKey<Products>(_OrderInRows.Products.Oid);
|
||||
_StorageOutRows.OrderInRows = _onew.GetObjectByKey<OrderInRows>(_OrderInRows.Oid);
|
||||
XPCollection<StorageInRows> _StorageInRows_Collection = new XPCollection<StorageInRows>(PersistentCriteriaEvaluationBehavior.InTransaction,
|
||||
_onew.Session, CriteriaOperator.Parse("StorageInHeader.Storage=? and StorageInHeader.IsEditable=False and StorageInHeader.IsStorno=False and Products=?",
|
||||
_StorageOutHeader.Storage, _onew.GetObjectByKey<Products>(_OrderInRows.Products.Oid)));
|
||||
_StorageInRows_Collection.Sorting.Add(new SortProperty("StorageInHeader.CreateDate", DevExpress.Xpo.DB.SortingDirection.Ascending));
|
||||
|
||||
_QTT_Mod = _OrderInRows.QTT_Process;
|
||||
foreach (StorageInRows _StorageInRows in _StorageInRows_Collection)
|
||||
{
|
||||
_QTT_Free = _StorageInRows.QTT - _StorageInRows.QTT_Out - _StorageInRows.QTT_Out_Will;
|
||||
if (_QTT_Free > 0)
|
||||
{
|
||||
if (_QTT_Free < _QTT_Mod)
|
||||
{
|
||||
_StorageInRows.QTT_Out_Will += _QTT_Free;
|
||||
_StorageOutRows.QTT_Will += _QTT_Free;
|
||||
_QTT_Mod -= _QTT_Free;
|
||||
//------- FIFO sor beszúrása
|
||||
StorageOutRowsInRows _StorageOutRowsInRows = _onew.FindObject<StorageOutRowsInRows>(CriteriaOperator.Parse("StorageInRows=? and StorageOutRows=?", _StorageInRows, _StorageOutRows), true);
|
||||
if (_StorageOutRowsInRows != null)
|
||||
{
|
||||
_StorageOutRowsInRows.QTT += _QTT_Free;
|
||||
}
|
||||
else
|
||||
{
|
||||
_StorageOutRowsInRows = new StorageOutRowsInRows(_onew.Session);
|
||||
_StorageOutRowsInRows.StorageInRows = _StorageInRows;
|
||||
_StorageOutRowsInRows.StorageOutRows = _StorageOutRows;
|
||||
_StorageOutRowsInRows.QTT = _QTT_Free;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
_StorageInRows.QTT_Out_Will += _QTT_Mod;
|
||||
_StorageOutRows.QTT_Will += _QTT_Mod;
|
||||
//------- FIFO sor beszúrása
|
||||
StorageOutRowsInRows _StorageOutRowsInRows = _onew.FindObject<StorageOutRowsInRows>(CriteriaOperator.Parse("StorageInRows=? and StorageOutRows=?", _StorageInRows, _StorageOutRows), true);
|
||||
if (_StorageOutRowsInRows != null)
|
||||
{
|
||||
_StorageOutRowsInRows.QTT += _QTT_Mod;
|
||||
}
|
||||
else
|
||||
{
|
||||
_StorageOutRowsInRows = new StorageOutRowsInRows(_onew.Session);
|
||||
_StorageOutRowsInRows.StorageInRows = _StorageInRows;
|
||||
_StorageOutRowsInRows.StorageOutRows = _StorageOutRows;
|
||||
_StorageOutRowsInRows.QTT = _QTT_Mod;
|
||||
}
|
||||
|
||||
break; // TODO: might not be correct. Was : Exit For
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_StorageOutRows.RowIndex = _StorageOutHeader.StorageOutRows.Count;
|
||||
|
||||
_StorageComputed = _onew.FindObject<StorageComputed>(CriteriaOperator.Parse("Storage=? and Products=?", _StorageOutHeader.Storage,
|
||||
_onew.GetObjectByKey<Products>(_OrderInRows.Products.Oid)), true);
|
||||
_QTT_ReservedOut = _StorageComputed.QTTReservedOut;
|
||||
XPCollection<StorageOutRows> _StorageOutRows_Collection_R = new XPCollection<StorageOutRows>(PersistentCriteriaEvaluationBehavior.InTransaction,
|
||||
_onew.Session, CriteriaOperator.Parse("QTT_Will>0 and StorageOutHeader.Storage=? and Products=?", _StorageOutHeader.Storage,
|
||||
_onew.GetObjectByKey<Products>(_OrderInRows.Products.Oid)));
|
||||
foreach (StorageOutRows _StorageOutRows_R in _StorageOutRows_Collection_R)
|
||||
{
|
||||
_QTT_Will_Out += _StorageOutRows_R.QTT_Will;
|
||||
}
|
||||
|
||||
_StorageComputed.QTTFree = _StorageComputed.QTTFree - (_QTT_Will_Out - _QTT_ReservedOut);
|
||||
_StorageComputed.QTTReservedOut = _QTT_Will_Out;
|
||||
}
|
||||
|
||||
//--Kitárolás véglegesítése--
|
||||
//____________________________________________________________________________________________________________________
|
||||
|
||||
foreach (StorageOutRows _StorageOutRows in _StorageOutHeader.StorageOutRows)
|
||||
{
|
||||
XPCollection<StorageOutRowsInRows> _StorageOutRowsInRows_Collection = new XPCollection<StorageOutRowsInRows>(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session, CriteriaOperator.Parse("StorageOutRows=?", _StorageOutRows));
|
||||
|
||||
foreach (StorageOutRowsInRows _StorageOutRowsInRows in _StorageOutRowsInRows_Collection)
|
||||
{
|
||||
if (_StorageOutRowsInRows.QTT > 0)
|
||||
{
|
||||
XPCollection<StorageMoveEvents> _StorageMoveEvents_Collection = new XPCollection<StorageMoveEvents>(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session, CriteriaOperator.Parse("StorageInRows=?", _StorageOutRowsInRows.StorageInRows));
|
||||
_StorageMoveEvents_Collection.Sorting.Add(new SortProperty("ObjectCreated", DevExpress.Xpo.DB.SortingDirection.Descending));
|
||||
|
||||
_StorageOutRowsInRows.StorageInRows.QTT_Out += _StorageOutRowsInRows.QTT;
|
||||
_StorageOutRowsInRows.StorageInRows.QTT_Out_Will -= _StorageOutRowsInRows.QTT;
|
||||
|
||||
StorageMoveEvents _StorageMoveEvents = new StorageMoveEvents(_onew.Session);
|
||||
_StorageMoveEvents.StorageInRows = _StorageOutRowsInRows.StorageInRows;
|
||||
_StorageMoveEvents.StorageOutRows = _StorageOutRowsInRows.StorageOutRows;
|
||||
if (_StorageMoveEvents_Collection.Count > 0)
|
||||
{
|
||||
_StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents_Collection[0].QTT_Free_After;
|
||||
}
|
||||
else
|
||||
{
|
||||
_StorageMoveEvents.QTT_Free_Before = 0;
|
||||
}
|
||||
_StorageMoveEvents.QTT = (-1) * _StorageOutRowsInRows.QTT;
|
||||
_StorageMoveEvents.QTT_Free_After = _StorageMoveEvents.QTT_Free_Before + _StorageMoveEvents.QTT;
|
||||
_StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageOutFinal;
|
||||
_StorageMoveEvents.ExecutionDate = _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.CreateDate;
|
||||
}
|
||||
}
|
||||
|
||||
_StorageOutRows.QTT += _StorageOutRows.QTT_Will;
|
||||
|
||||
if (_StorageOutRows.OrderInRows != null)
|
||||
{
|
||||
double _QTT_WillOrug = _StorageOutRows.QTT_Will;
|
||||
OrderInRows _OrderInRows = _onew.GetObjectByKey<OrderInRows>(_StorageOutRows.OrderInRows.Oid);
|
||||
_OrderInRows.QTT_Storaged += _StorageOutRows.QTT_Will;
|
||||
_OrderInRows.QTT_Process = 0;
|
||||
}
|
||||
_StorageComputed = _onew.FindObject<StorageComputed>(CriteriaOperator.Parse("Products=? and Storage=?", _StorageOutRows.Products, _StorageOutRows.StorageOutHeader.Storage), true);
|
||||
_StorageComputed.QTTReservedOut -= _StorageOutRows.QTT_Will;
|
||||
_StorageOutRows.QTT_Will = 0;
|
||||
}
|
||||
|
||||
_StorageOutHeader.IsEditable = false;
|
||||
_StorageOutHeader.IsFinalized = true;
|
||||
|
||||
_onew.CommitChanges();
|
||||
Frame.GetController<RefreshController>().RefreshAction.DoExecute();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception(ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
LockingModule.UnLockObject(_uow_lock, typeof(StorageComputed), "-", _User);
|
||||
}
|
||||
}
|
||||
private void aOrderInStorageOut_CustomizePopupWindowParams(object sender, CustomizePopupWindowParamsEventArgs e)
|
||||
{
|
||||
XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
OrderInHeader _OrderInHeader = View.SelectedObjects[0] as OrderInHeader;
|
||||
StorageSelectPopup _StorageSelectPopup = _onew.CreateObject<StorageSelectPopup>();
|
||||
|
||||
e.View = Application.CreateDetailView(_onew, "StorageSelectPopup_DetailView", false, _StorageSelectPopup);
|
||||
}
|
||||
|
||||
private void aMoveOrderInBack_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
OrderInRows _OrderInRows = View.SelectedObjects[0] as OrderInRows;
|
||||
UnitOfWork _uow = new UnitOfWork(_onew.Session.DataLayer);
|
||||
if (_OrderInRows!=null && _OrderInRows.DividedOriginal==1)
|
||||
{
|
||||
Guid _GUID = _OrderInRows.DividedGUID;
|
||||
double _QTT = _OrderInRows.QTT;
|
||||
string _SQL = "";
|
||||
// s.ExecuteNonQuery("UPDATE Products SET ProductName='a_'+ProductName WHERE UnitPrice>@price AND ProductName LIKE 'A%'", new string[] { "@price" }, new object[] { 10 });
|
||||
// StorageOutRowsInRows
|
||||
|
||||
try
|
||||
{
|
||||
string[] _stringparam = null;
|
||||
object[] _objectparam = null;
|
||||
|
||||
_uow.ExplicitBeginTransaction();
|
||||
|
||||
XPQuery<StorageOutRowsInRows> _StorageOutRowsInRows_Q = new XPQuery<StorageOutRowsInRows>(_uow, true);
|
||||
var query = from q in _StorageOutRowsInRows_Q
|
||||
where q.DividedGUID == _GUID
|
||||
group q by q.StorageInRows into g
|
||||
select new { a = g.Key.Oid, s = g.Sum(x => x.QTT) };
|
||||
foreach (var item in query)
|
||||
{
|
||||
_SQL = "UPDATE StorageOutRowsInRows set QTT=@QTT,QTT_To_DeliveryOut=@QTT WHERE StorageInRows=@StorageInRows AND DividedGUID=@DividedGUID AND DividedOriginal=1";
|
||||
_stringparam = new string[] { "@QTT", "@StorageInRows", "@DividedGUID" };
|
||||
_objectparam = new object[] { item.s, item.a, _GUID };
|
||||
_uow.ExecuteNonQuery(_SQL, _stringparam, _objectparam);
|
||||
}
|
||||
|
||||
XPQuery<StorageOutRows> _StorageOutRows_Q = new XPQuery<StorageOutRows>(_uow, true);
|
||||
var query2 = from q in _StorageOutRows_Q
|
||||
where q.DividedGUID == _GUID
|
||||
group q by q.DividedGUID into g
|
||||
select new { a = g.Key, s = g.Sum(x => x.QTT) };
|
||||
foreach (var item in query2)
|
||||
{
|
||||
_SQL = "UPDATE StorageOutRows set QTT=@QTT WHERE DividedGUID=@DividedGUID AND DividedOriginal=1";
|
||||
_stringparam = new string[] { "@QTT", "@DividedGUID" };
|
||||
_objectparam = new object[] { item.s, _GUID };
|
||||
_uow.ExecuteNonQuery(_SQL, _stringparam, _objectparam);
|
||||
}
|
||||
|
||||
XPQuery<StorageOutRowsInRows> _StorageOutRowsInRows_QD = new XPQuery<StorageOutRowsInRows>(_uow, true);
|
||||
var query3 = from q in _StorageOutRowsInRows_QD
|
||||
where q.DividedGUID == _GUID && q.DividedOriginal == 1
|
||||
group q by q.Oid into g
|
||||
select new { a = g.Key, s = g.Sum(x => x.QTT) };
|
||||
foreach (var item in query3)
|
||||
{
|
||||
_SQL = "UPDATE DeliveryNoteOutRows set QTT=@QTT WHERE StorageOutRowsInRows=@StorageOutRowsInRows AND DividedGUID=@DividedGUID AND DividedOriginal=1";
|
||||
_stringparam = new string[] { "@QTT", "@StorageOutRowsInRows", "@DividedGUID" };
|
||||
_objectparam = new object[] { item.s, item.a, _GUID };
|
||||
_uow.ExecuteNonQuery(_SQL, _stringparam, _objectparam);
|
||||
}
|
||||
XPQuery<OrderInRows> _OrderInRows_Q = new XPQuery<OrderInRows>(_uow, true);
|
||||
var query4 = from q in _OrderInRows_Q
|
||||
where q.DividedGUID == _GUID
|
||||
group q by q.DividedGUID into g
|
||||
select new { a = g.Key, s = g.Sum(x => x.QTT) };
|
||||
foreach (var item in query4)
|
||||
{
|
||||
_SQL = "UPDATE OrderInRows set QTT=@QTT,QTT_DeliveryNoted=@QTT,QTT_Storaged=@QTT WHERE DividedGUID=@DividedGUID AND DividedOriginal=1";
|
||||
_stringparam = new string[] { "@QTT", "@DividedGUID" };
|
||||
_objectparam = new object[] { item.s, _GUID };
|
||||
_uow.ExecuteNonQuery(_SQL, _stringparam, _objectparam);
|
||||
}
|
||||
// -------========= Törlések ==========-------------
|
||||
_SQL = "DELETE FROM DeliveryNoteOutRows WHERE DividedGUID=@DividedGUID AND DividedOriginal=2";
|
||||
_stringparam = new string[] { "@DividedGUID" };
|
||||
_objectparam = new object[] { _GUID };
|
||||
_uow.ExecuteNonQuery(_SQL, _stringparam, _objectparam);
|
||||
|
||||
_SQL = "DELETE FROM StorageOutRowsInRows WHERE DividedGUID=@DividedGUID AND DividedOriginal=2";
|
||||
_stringparam = new string[] { "@DividedGUID" };
|
||||
_objectparam = new object[] { _GUID };
|
||||
_uow.ExecuteNonQuery(_SQL, _stringparam, _objectparam);
|
||||
|
||||
_SQL = "DELETE FROM StorageOutRows WHERE DividedGUID=@DividedGUID AND DividedOriginal=2";
|
||||
_stringparam = new string[] { "@DividedGUID" };
|
||||
_objectparam = new object[] { _GUID };
|
||||
_uow.ExecuteNonQuery(_SQL, _stringparam, _objectparam);
|
||||
|
||||
_SQL = "DELETE FROM OrderInRows WHERE DividedGUID=@DividedGUID AND DividedOriginal=2";
|
||||
_stringparam = new string[] { "@DividedGUID" };
|
||||
_objectparam = new object[] { _GUID };
|
||||
_uow.ExecuteNonQuery(_SQL, _stringparam, _objectparam);
|
||||
|
||||
_uow.ExplicitCommitTransaction();
|
||||
|
||||
}
|
||||
catch (Exception _Exception)
|
||||
{
|
||||
_uow.ExplicitRollbackTransaction();
|
||||
throw _Exception;
|
||||
}
|
||||
finally
|
||||
{
|
||||
_uow.ExplicitRollbackTransaction();
|
||||
}
|
||||
}
|
||||
NestedFrame nestedFrame = Frame as NestedFrame;
|
||||
if (nestedFrame != null)
|
||||
{
|
||||
View parentView = nestedFrame.View as View;
|
||||
if (parentView != null)
|
||||
parentView.ObjectSpace.Refresh();
|
||||
}
|
||||
}
|
||||
|
||||
private void aDeliveryNoteOutPrint_Divided_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
XPObjectSpace _ocur = View.ObjectSpace as XPObjectSpace;
|
||||
DeliveryNoteOutRows _DeliveryNoteOutRows = View.SelectedObjects[0] as DeliveryNoteOutRows;
|
||||
|
||||
if (_DeliveryNoteOutRows !=null)
|
||||
{
|
||||
XAFPrintHelper _XAFPrintHelper = new XAFPrintHelper(_ocur, Frame, _DeliveryNoteOutRows.DeliveryNoteOutHeader.DeliveryNoteOutType.ReportDataV2, CriteriaOperator.Parse("Oid=?",_DeliveryNoteOutRows.Oid));
|
||||
_XAFPrintHelper.ShowPreviewV2();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="aMoveOrderIn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 95</value>
|
||||
</metadata>
|
||||
<metadata name="aOrderInStorageOut.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 56</value>
|
||||
</metadata>
|
||||
<metadata name="aMoveOrderInBack.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>180, 17</value>
|
||||
</metadata>
|
||||
<metadata name="aDeliveryNoteOutPrint_Divided.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>192, 368</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,55 @@
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
partial class Products_VC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.aUNCheck = new DevExpress.ExpressApp.Actions.SimpleAction(this.components);
|
||||
//
|
||||
// aUNCheck
|
||||
//
|
||||
this.aUNCheck.Caption = "aUNCheck";
|
||||
this.aUNCheck.ConfirmationMessage = null;
|
||||
this.aUNCheck.Id = "aUNCheck";
|
||||
this.aUNCheck.TargetObjectType = typeof(Nuvolar.Module.Products);
|
||||
this.aUNCheck.TargetViewType = DevExpress.ExpressApp.ViewType.ListView;
|
||||
this.aUNCheck.ToolTip = null;
|
||||
this.aUNCheck.TypeOfView = typeof(DevExpress.ExpressApp.ListView);
|
||||
this.aUNCheck.Execute += new DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler(this.aUNCheck_Execute);
|
||||
//
|
||||
// Products_VC
|
||||
//
|
||||
this.Actions.Add(this.aUNCheck);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.ExpressApp.Actions.SimpleAction aUNCheck;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using DevExpress.Data.Filtering;
|
||||
using DevExpress.ExpressApp;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using DevExpress.ExpressApp.Editors;
|
||||
using DevExpress.ExpressApp.Layout;
|
||||
using DevExpress.ExpressApp.Model.NodeGenerators;
|
||||
using DevExpress.ExpressApp.SystemModule;
|
||||
using DevExpress.ExpressApp.Templates;
|
||||
using DevExpress.ExpressApp.Utils;
|
||||
using DevExpress.Persistent.Base;
|
||||
using DevExpress.Persistent.Validation;
|
||||
using DevExpress.ExpressApp.Xpo;
|
||||
using DevExpress.Xpo;
|
||||
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
|
||||
public partial class Products_VC : ViewController
|
||||
{
|
||||
public Products_VC()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
|
||||
private void aUNCheck_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
XPObjectSpace _onew = Application.CreateObjectSpace() as XPObjectSpace;
|
||||
|
||||
XPCollection<Products> _Products_Collection =new XPCollection<Products>(_onew.Session,CriteriaOperator.Parse("UNNumber like 'UN%'"));
|
||||
|
||||
foreach (Products _Products in _Products_Collection)
|
||||
{
|
||||
UNList _UNList = _onew.FindObject<UNList>(CriteriaOperator.Parse("ShortName=?",_Products.UNNumber));
|
||||
ProductsUNList _ProductsUNList = _onew.FindObject<ProductsUNList>(CriteriaOperator.Parse("Products=? and UNList=?",_Products,_UNList));
|
||||
if (_ProductsUNList==null && _UNList!=null)
|
||||
{
|
||||
_ProductsUNList = _onew.CreateObject<ProductsUNList>();
|
||||
_ProductsUNList.Products = _Products;
|
||||
_ProductsUNList.UNList = _UNList;
|
||||
_onew.CommitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="aUNCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,19 @@
|
||||
Folder Description
|
||||
|
||||
The "Controllers" project folder is intended for storing Controller classes
|
||||
that can change the default XAF application flow and add new features.
|
||||
|
||||
|
||||
Relevant Documentation
|
||||
|
||||
Extend Functionality
|
||||
http://help.devexpress.com/#Xaf/CustomDocument2623
|
||||
|
||||
Controller Class
|
||||
http://help.devexpress.com/#Xaf/clsDevExpressExpressAppControllertopic
|
||||
|
||||
ViewController Class
|
||||
http://help.devexpress.com/#Xaf/clsDevExpressExpressAppViewControllertopic
|
||||
|
||||
WindowController Class
|
||||
http://help.devexpress.com/#Xaf/clsDevExpressExpressAppWindowControllertopic
|
||||
@@ -0,0 +1,56 @@
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
partial class ReportV2_VC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.aConvertToReportV2 = new DevExpress.ExpressApp.Actions.SimpleAction(this.components);
|
||||
//
|
||||
// aConvertToReportV2
|
||||
//
|
||||
this.aConvertToReportV2.Caption = "aConvert To Report V2";
|
||||
this.aConvertToReportV2.ConfirmationMessage = null;
|
||||
this.aConvertToReportV2.Id = "aConvertToReportV2";
|
||||
this.aConvertToReportV2.TargetObjectType = typeof(DevExpress.Persistent.BaseImpl.ReportData);
|
||||
this.aConvertToReportV2.TargetViewNesting = DevExpress.ExpressApp.Nesting.Root;
|
||||
this.aConvertToReportV2.TargetViewType = DevExpress.ExpressApp.ViewType.ListView;
|
||||
this.aConvertToReportV2.ToolTip = null;
|
||||
this.aConvertToReportV2.TypeOfView = typeof(DevExpress.ExpressApp.ListView);
|
||||
this.aConvertToReportV2.Execute += new DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler(this.aConvertToReportV2_Execute);
|
||||
//
|
||||
// ReportV2_VC
|
||||
//
|
||||
this.Actions.Add(this.aConvertToReportV2);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.ExpressApp.Actions.SimpleAction aConvertToReportV2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using DevExpress.Data.Filtering;
|
||||
using DevExpress.ExpressApp;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using DevExpress.ExpressApp.Editors;
|
||||
using DevExpress.ExpressApp.Layout;
|
||||
using DevExpress.ExpressApp.Model.NodeGenerators;
|
||||
using DevExpress.ExpressApp.SystemModule;
|
||||
using DevExpress.ExpressApp.Templates;
|
||||
using DevExpress.ExpressApp.Utils;
|
||||
using DevExpress.Persistent.Base;
|
||||
using DevExpress.Persistent.Validation;
|
||||
using DevExpress.ExpressApp.Xpo;
|
||||
using DevExpress.Persistent.BaseImpl;
|
||||
using DevExpress.ExpressApp.Reports;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using DevExpress.Persistent.Base.ReportsV2;
|
||||
using System.IO;
|
||||
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
|
||||
public partial class ReportV2_VC : ViewController
|
||||
{
|
||||
public ReportV2_VC()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
|
||||
private void aConvertToReportV2_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
XPObjectSpace _ocur = View.ObjectSpace as XPObjectSpace;
|
||||
foreach (ReportData _ReportData in View.SelectedObjects)
|
||||
{
|
||||
if (_ocur.FindObject<ReportDataV2>(new BinaryOperator("DisplayName", _ReportData.ReportName)) == null)
|
||||
{
|
||||
ReportDataV2 reportDataV2 = _ocur.CreateObject<ReportDataV2>();
|
||||
reportDataV2.DisplayName = _ReportData.ReportName;
|
||||
XafReport report = (XafReport)_ReportData.LoadReport(_ocur);
|
||||
XtraReport reportV2 = new XtraReport();
|
||||
CollectionDataSource dataSource = new CollectionDataSource();
|
||||
dataSource.ObjectTypeName = report.DataType.FullName;
|
||||
dataSource.CriteriaString = report.Filtering.Filter;
|
||||
using (MemoryStream ms = new MemoryStream())
|
||||
{
|
||||
report.SaveLayout(ms);
|
||||
ms.Seek(0, SeekOrigin.Begin);
|
||||
reportV2.LoadLayout(ms);
|
||||
reportV2.DataSource = dataSource;
|
||||
}
|
||||
DevExpress.ExpressApp.ReportsV2.ReportDataProvider.ReportsStorage.SaveReport(reportDataV2, reportV2);
|
||||
|
||||
}
|
||||
}
|
||||
_ocur.CommitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="aConvertToReportV2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
partial class StoragePDACollectionHeader_VC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
//
|
||||
// aStoragePDARow_Divide
|
||||
//
|
||||
this.aStoragePDARow_Divide.CustomizePopupWindowParams += new DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventHandler(this.aStoragePDARow_Divide_CustomizePopupWindowParams);
|
||||
this.aStoragePDARow_Divide.Execute += new DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventHandler(this.aStoragePDARow_Divide_Execute);
|
||||
//
|
||||
// aStoragePDARow_Merge
|
||||
//
|
||||
this.aStoragePDARow_Merge.SelectionDependencyType = DevExpress.ExpressApp.Actions.SelectionDependencyType.RequireMultipleObjects;
|
||||
this.aStoragePDARow_Merge.Execute += new DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler(this.aStoragePDARow_Merge_Execute);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using DevExpress.Data.Filtering;
|
||||
using DevExpress.ExpressApp;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using DevExpress.ExpressApp.Editors;
|
||||
using DevExpress.ExpressApp.Layout;
|
||||
using DevExpress.ExpressApp.Model.NodeGenerators;
|
||||
using DevExpress.ExpressApp.SystemModule;
|
||||
using DevExpress.ExpressApp.Templates;
|
||||
using DevExpress.ExpressApp.Utils;
|
||||
using DevExpress.Persistent.Base;
|
||||
using DevExpress.Persistent.Validation;
|
||||
using DevExpress.ExpressApp.Xpo;
|
||||
using Nuvolar.Module.BusinessObjects;
|
||||
using DevExpress.Xpo;
|
||||
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
|
||||
public partial class StoragePDACollectionHeader_VC : Nuvolar.Module.StoragePDACollectionHeaderVC
|
||||
{
|
||||
public StoragePDACollectionHeader_VC()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
|
||||
private void aStoragePDARow_Divide_Execute(object sender, PopupWindowShowActionExecuteEventArgs e)
|
||||
{
|
||||
XPObjectSpace _ocur = (XPObjectSpace)View.ObjectSpace;
|
||||
XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
StoragePDACollectionRowsH _StoragePDACollectionRowsH = (StoragePDACollectionRowsH)e.PopupWindow.View.SelectedObjects[0];
|
||||
StoragePDACollectionRows _StoragePDACollectionRows = (StoragePDACollectionRows)View.SelectedObjects[0];
|
||||
|
||||
if (_StoragePDACollectionRowsH.QTT_Will > 0 && _StoragePDACollectionRows.QTT>= _StoragePDACollectionRowsH.QTT_Will)
|
||||
{
|
||||
StoragePDACollectionRows _StoragePDACollectionRows_Divided = _ocur.CreateObject<StoragePDACollectionRows>();
|
||||
_StoragePDACollectionRows_Divided.ConnectOid = _StoragePDACollectionRows.Oid;
|
||||
_StoragePDACollectionRows.ConnectOid = _StoragePDACollectionRows.Oid;
|
||||
_StoragePDACollectionRows.QTT = _StoragePDACollectionRows.QTT - _StoragePDACollectionRowsH.QTT_Will;
|
||||
|
||||
_StoragePDACollectionRows_Divided.Barcode = _StoragePDACollectionRows.Barcode;
|
||||
_StoragePDACollectionRows_Divided.Description = _StoragePDACollectionRows.Description;
|
||||
_StoragePDACollectionRows_Divided.PacketNumber = _StoragePDACollectionRows.PacketNumber;
|
||||
_StoragePDACollectionRows_Divided.Products = _StoragePDACollectionRows.Products;
|
||||
_StoragePDACollectionRows_Divided.QTT = _StoragePDACollectionRowsH.QTT_Will;
|
||||
_StoragePDACollectionRows_Divided.SerialNumber = "";
|
||||
_StoragePDACollectionRows_Divided.StorageLocation = null;
|
||||
_StoragePDACollectionRows_Divided.StoragePDACollectionHeader = _StoragePDACollectionRows.StoragePDACollectionHeader;
|
||||
_ocur.CommitChanges();
|
||||
}
|
||||
|
||||
}
|
||||
private void aStoragePDARow_Divide_CustomizePopupWindowParams(object sender, CustomizePopupWindowParamsEventArgs e)
|
||||
{
|
||||
XPObjectSpace _ocur = (XPObjectSpace)View.ObjectSpace;
|
||||
XPObjectSpace _onew = (XPObjectSpace)Application.CreateObjectSpace();
|
||||
StoragePDACollectionRowsH _StoragePDACollectionRowsH=_onew.CreateObject<StoragePDACollectionRowsH>();
|
||||
|
||||
StoragePDACollectionRows _StoragePDACollectionRows = (StoragePDACollectionRows)View.SelectedObjects[0];
|
||||
Guid _ConnectOid = _StoragePDACollectionRows.ConnectOid;
|
||||
|
||||
double _QTT_Remaining = 0;
|
||||
double _QTT_Divided = 0;
|
||||
double _QTT_Original = 0;
|
||||
if (_ConnectOid==Guid.Empty)
|
||||
{
|
||||
_QTT_Remaining = _StoragePDACollectionRows.QTT;
|
||||
_QTT_Divided = 0;
|
||||
_QTT_Original = _StoragePDACollectionRows.QTT;
|
||||
}
|
||||
else
|
||||
{
|
||||
XPCollection<StoragePDACollectionRows> _StoragePDACollectionRows_Collection = new XPCollection<StoragePDACollectionRows>(_ocur.Session,
|
||||
CriteriaOperator.Parse("ConnectOid=? and StoragePDACollectionHeader=?", _ConnectOid,_StoragePDACollectionRows.StoragePDACollectionHeader));
|
||||
foreach (StoragePDACollectionRows _SPDACR in _StoragePDACollectionRows_Collection)
|
||||
{
|
||||
_QTT_Original += _SPDACR.QTT;
|
||||
if (_SPDACR.StorageLocation!=null)
|
||||
{
|
||||
_QTT_Divided += _SPDACR.QTT;
|
||||
}
|
||||
}
|
||||
_QTT_Remaining = _QTT_Original - _QTT_Divided;
|
||||
}
|
||||
_StoragePDACollectionRowsH.QTT_Original = _QTT_Original;
|
||||
_StoragePDACollectionRowsH.QTT_Divided = _QTT_Divided;
|
||||
_StoragePDACollectionRowsH.QTT_Remaining = _QTT_Remaining;
|
||||
|
||||
e.View = Application.CreateDetailView(_onew, "StoragePDACollectionRowsH_DetailView", true, _StoragePDACollectionRowsH);
|
||||
}
|
||||
|
||||
private void aStoragePDARow_Merge_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
XPObjectSpace _ocur = (XPObjectSpace)View.ObjectSpace;
|
||||
StoragePDACollectionRows _StoragePDACollectionRows_Base = (StoragePDACollectionRows)View.SelectedObjects[0];
|
||||
List<StoragePDACollectionRows> _CC = new List<StoragePDACollectionRows>();
|
||||
foreach (StoragePDACollectionRows _StoragePDACollectionRows in View.SelectedObjects)
|
||||
{
|
||||
if (_StoragePDACollectionRows.Oid!=_StoragePDACollectionRows_Base.Oid)
|
||||
{
|
||||
if (_StoragePDACollectionRows.ConnectOid==_StoragePDACollectionRows_Base.ConnectOid)
|
||||
{
|
||||
if (_StoragePDACollectionRows.StorageLocation==_StoragePDACollectionRows_Base.StorageLocation)
|
||||
{
|
||||
_CC.Add(_StoragePDACollectionRows);
|
||||
_StoragePDACollectionRows_Base.QTT = _StoragePDACollectionRows_Base.QTT + _StoragePDACollectionRows.QTT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
_ocur.Delete(_CC);
|
||||
_ocur.CommitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="aImportCSVToStoragePDA.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>392, 17</value>
|
||||
</metadata>
|
||||
<metadata name="aStoragePDARow_Divide.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>205, 17</value>
|
||||
</metadata>
|
||||
<metadata name="aStoragePDARow_Merge.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Nuvolar.Module.Controllers
|
||||
{
|
||||
public class WorkEventArgs:EventArgs
|
||||
{
|
||||
public int Count { get; set; }
|
||||
public int CurrentValue { get; set; }
|
||||
public string Message { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
namespace Nuvolar.Module.Controllers.nopCommerce
|
||||
{
|
||||
partial class nopC_VC
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.anopC_LoadHU = new DevExpress.ExpressApp.Actions.SimpleAction(this.components);
|
||||
//
|
||||
// anopC_LoadHU
|
||||
//
|
||||
this.anopC_LoadHU.Caption = "anopC_LoadHU";
|
||||
this.anopC_LoadHU.ConfirmationMessage = null;
|
||||
this.anopC_LoadHU.Id = "anopC_LoadHU";
|
||||
this.anopC_LoadHU.TargetObjectType = typeof(Nuvolar.Module.BusinessObjects.nopCommerce.nopCParameters);
|
||||
this.anopC_LoadHU.TargetViewNesting = DevExpress.ExpressApp.Nesting.Root;
|
||||
this.anopC_LoadHU.TargetViewType = DevExpress.ExpressApp.ViewType.DetailView;
|
||||
this.anopC_LoadHU.ToolTip = null;
|
||||
this.anopC_LoadHU.TypeOfView = typeof(DevExpress.ExpressApp.DetailView);
|
||||
this.anopC_LoadHU.Execute += new DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler(this.anopC_LoadHU_Execute);
|
||||
//
|
||||
// nopC_VC
|
||||
//
|
||||
this.Actions.Add(this.anopC_LoadHU);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.ExpressApp.Actions.SimpleAction anopC_LoadHU;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using DevExpress.ExpressApp;
|
||||
using DevExpress.ExpressApp.Actions;
|
||||
using System.Xml;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Diagnostics;
|
||||
using Nuvolar.Module.BusinessObjects.nopCommerce;
|
||||
|
||||
namespace Nuvolar.Module.Controllers.nopCommerce
|
||||
{
|
||||
// For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
|
||||
public partial class nopC_VC : ViewController
|
||||
{
|
||||
public nopC_VC()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Target required Views (via the TargetXXX properties) and create their Actions.
|
||||
}
|
||||
protected override void OnActivated()
|
||||
{
|
||||
base.OnActivated();
|
||||
// Perform various tasks depending on the target View.
|
||||
}
|
||||
protected override void OnViewControlsCreated()
|
||||
{
|
||||
base.OnViewControlsCreated();
|
||||
// Access and customize the target View control.
|
||||
}
|
||||
protected override void OnDeactivated()
|
||||
{
|
||||
// Unsubscribe from previously subscribed events and release other references and resources.
|
||||
base.OnDeactivated();
|
||||
}
|
||||
|
||||
private void anopC_LoadHU_Execute(object sender, SimpleActionExecuteEventArgs e)
|
||||
{
|
||||
nopCParameters _nopCParameters=(nopCParameters)View.SelectedObjects[0];
|
||||
|
||||
StreamReader _textStreamReader;
|
||||
string _StrBuffer;
|
||||
Assembly _assembly = Assembly.GetExecutingAssembly();
|
||||
_textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("Nuvolar.Module.XML.nopCommerce_hu.xml"));
|
||||
_StrBuffer = _textStreamReader.ReadToEnd();
|
||||
DevExpress.Xpo.Session _Session = new DevExpress.Xpo.Session();
|
||||
|
||||
_Session.ConnectionString = DevExpress.Xpo.DB.MSSqlConnectionProvider.GetConnectionString(string.Format("{0},{1}", _nopCParameters.SQLServer, _nopCParameters.SQLPort),
|
||||
_nopCParameters.SQLUserName, _nopCParameters.SQLPassword, "NCC");
|
||||
_Session.AutoCreateOption = DevExpress.Xpo.DB.AutoCreateOption.SchemaAlreadyExists;
|
||||
|
||||
if (_Session.IsConnected) { _Session.Disconnect(); };
|
||||
|
||||
|
||||
_Session.Connect();
|
||||
XmlReaderSettings _XmlReaderSettings = new XmlReaderSettings();
|
||||
using (XmlReader _XMLReader = XmlReader.Create(new StringReader(_StrBuffer)))
|
||||
{
|
||||
|
||||
while (_XMLReader.Read())
|
||||
{
|
||||
string _ResourceName;
|
||||
string _ResourceValue;
|
||||
_XMLReader.ReadToFollowing("LocaleResource");
|
||||
_XMLReader.MoveToFirstAttribute();
|
||||
_ResourceName = _XMLReader.Value;
|
||||
_XMLReader.ReadToFollowing("Value");
|
||||
if (_XMLReader.Name=="Value")
|
||||
{
|
||||
_ResourceValue = _XMLReader.ReadElementContentAsString();
|
||||
//string _SQL = "if not exists";
|
||||
string _SQL= " delete from [NCC].[dbo].[LocaleStringResource] where [LanguageId]=2 and [ResourceName]='{0}' and [ResourceValue]='{1}'\n";
|
||||
_SQL += " insert [NCC].[dbo].[LocaleStringResource] ([LanguageId],[ResourceName],[ResourceValue]) select 2,'{0}','{1}' ";
|
||||
_Session.ExecuteNonQuery(string.Format(_SQL,_ResourceName,_ResourceValue.Replace("'","''")));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="anopC_LoadHU.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
Reference in New Issue
Block a user