Files
Nuvolar/Nuvolar.Module.CSharp/Helpers/BusinessDocumentHelper.cs

231 lines
10 KiB
C#

using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Xpo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Nuvolar.Module.Helpers
{
public static class BusinessDocumentHelper
{
#region DeliveryNoteOut
/// <summary>
/// Új kimenő szállítólevél fejlécet készít
/// </summary>
public static DeliveryNoteOutHeader CreateNewDeliveryNoteOutHeader(XPObjectSpace _ObjectSpace)
{
DeliveryNoteOutHeader _DeliveryNoteOutHeader = _ObjectSpace.CreateObject<DeliveryNoteOutHeader>();
return _DeliveryNoteOutHeader;
}
/// <summary>
/// Új kimenő szállíttólevél fejléc a _deliveryNoteView popup alapján
/// </summary>
/// <param name="_ObjectSpace"></param>
/// <param name="_DeliveryNoteView"></param>
/// <returns></returns>
public static DeliveryNoteOutHeader CreateNewDeliveryNoteOutHeader(XPObjectSpace _ObjectSpace, DeliveryNoteView _DeliveryNoteView)
{
DeliveryNoteOutHeader _DeliveryNoteOutHeader = _ObjectSpace.CreateObject<DeliveryNoteOutHeader>();
try
{
_DeliveryNoteOutHeader.CustomersFrom = _ObjectSpace.GetObject(_DeliveryNoteView.CustomersFrom);
_DeliveryNoteOutHeader.ConnectInfo = "";
_DeliveryNoteOutHeader.CurrencyName = _ObjectSpace.GetObject((_DeliveryNoteView.CurrencyName));
_DeliveryNoteOutHeader.Customers = _ObjectSpace.GetObject((_DeliveryNoteView.Customers));
_DeliveryNoteOutHeader.DateCreated = GeneralFunction.GetSQLTime(_ObjectSpace.Session);
_DeliveryNoteOutHeader.DateExecution = GeneralFunction.GetSQLTime(_ObjectSpace.Session);
_DeliveryNoteOutHeader.DeliveryNoteOutType = _ObjectSpace.GetObject((_DeliveryNoteView.DeliveryNoteOutType));
_DeliveryNoteOutHeader.DocumentNumber = "";
_DeliveryNoteOutHeader.IsEditable = false;
_DeliveryNoteOutHeader.IsStorno = false;
_DeliveryNoteOutHeader.Note = _ObjectSpace.GetObject((_DeliveryNoteView.Note));
_DeliveryNoteOutHeader.QualityOption = _ObjectSpace.GetObject((_DeliveryNoteView.QualityOption));
_DeliveryNoteOutHeader.ShipmentOption = _ObjectSpace.GetObject((_DeliveryNoteView.ShipmentOption));
_DeliveryNoteOutHeader.TransportAddress = _ObjectSpace.GetObject((_DeliveryNoteView.TransportAddress));
}
catch (Exception)
{
_ObjectSpace.Delete(_DeliveryNoteOutHeader);
_DeliveryNoteOutHeader = null;
}
return _DeliveryNoteOutHeader;
}
/// <summary>
/// Létrehoz egy új DeliveryNoteOutRows objektumot (üresen, de a DeliveryNoteOutHeader-t beilleszti)
/// </summary>
/// <param name="_ObjectSpace"></param>
/// <param name="_DeliveryNoteOutHeader"></param>
/// <returns></returns>
public static DeliveryNoteOutRows AddNewDeliveryNoteOutRows(XPObjectSpace _ObjectSpace, DeliveryNoteOutHeader _DeliveryNoteOutHeader)
{
DeliveryNoteOutRows _DeliveryNoteOutRows = _ObjectSpace.CreateObject<DeliveryNoteOutRows>();
_DeliveryNoteOutRows.DeliveryNoteOutHeader = _DeliveryNoteOutHeader;
return _DeliveryNoteOutRows;
}
/// <summary>
/// Kitárolási sor FIFO lábaiból a QTT alapján egy kiszállítási sort készít
/// </summary>
/// <param name="_ObjectSpace"></param>
/// <param name="_DeliveryNoteOutHeader"></param>
/// <param name="_StorageOutRows"></param>
/// <returns></returns>
public static DeliveryNoteOutRows AddNewDeliveryNoteOutRows(XPObjectSpace _ObjectSpace, DeliveryNoteOutHeader _DeliveryNoteOutHeader, StorageOutRowsInRows _StorageOutRowsInRows, long _RowIndex)
{
DeliveryNoteOutRows _DeliveryNoteOutRows = _ObjectSpace.CreateObject<DeliveryNoteOutRows>();
try
{
_DeliveryNoteOutRows.DeliveryNoteOutHeader = _DeliveryNoteOutHeader;
_DeliveryNoteOutRows.DividedOriginal = 0;
_DeliveryNoteOutRows.QTT = _StorageOutRowsInRows.QTT_Will;
_DeliveryNoteOutRows.QTT_Invoiced = 0;
_DeliveryNoteOutRows.QTT_Will = 0;
_DeliveryNoteOutRows.RowIndex = _RowIndex;
_DeliveryNoteOutRows.StorageOutRowsInRows = _ObjectSpace.GetObject(_StorageOutRowsInRows);
_StorageOutRowsInRows.QTT_To_DeliveryOut = _DeliveryNoteOutRows.QTT; // A kitárolási sor is update !!!!
}
catch (Exception)
{
_ObjectSpace.Delete(_DeliveryNoteOutRows);
_DeliveryNoteOutRows = null;
}
return _DeliveryNoteOutRows;
}
/// <summary>
/// Véglegesíti a korábban elkezdett DeliveryNoteOutHeader-t
/// </summary>
/// <param name="_ObjectSpace"></param>
/// <param name="_DeliveryNoteOutHeader"></param>
/// <returns></returns>
public static bool FinalizeDeliveryNoteOutHeader(XPObjectSpace _ObjectSpace, DeliveryNoteOutHeader _DeliveryNoteOutHeader)
{
bool _Ok = true;
try
{
_ObjectSpace.CommitChanges();
}
catch (Exception)
{
_Ok = false;
}
return _Ok;
}
public static bool FinalizeDeliveryNoteOutHeader(XPObjectSpace _ObjectSpace, DeliveryNoteOutHeader _DeliveryNoteOutHeader, StorageOutHeader _StorageOutHeader)
{
bool _Ok = true;
try
{
_StorageOutHeader.DeliveryNoteOutHeader = _ObjectSpace.GetObject(_DeliveryNoteOutHeader);
_ObjectSpace.CommitChanges();
}
catch (Exception)
{
_Ok = false;
}
return _Ok;
}
/// <summary>
/// Szállítólevél nyomtatása
/// </summary>
/// <param name="_ObjectSpace"></param>
/// <param name="_Frame"></param>
/// <param name="_DeliveryNoteOutHeader"></param>
public static void PrintDeliveryNoteOutHeader(XPObjectSpace _ObjectSpace, Frame _Frame, DeliveryNoteOutHeader _DeliveryNoteOutHeader)
{
if (_DeliveryNoteOutHeader==null)
{
return;
}
if (_DeliveryNoteOutHeader.DeliveryNoteOutType.ReportDataV2 != null)
{
XAFPrintHelper _XAFPrintHelper = new XAFPrintHelper(_ObjectSpace, _Frame, _DeliveryNoteOutHeader.DeliveryNoteOutType.ReportDataV2,
CriteriaOperator.Parse("DeliveryNoteOutHeader.Oid = ?", _DeliveryNoteOutHeader.Oid));
_XAFPrintHelper.ShowPreviewV2();
}
}
/// <summary>
/// Kitárolási bizonylatról kiszállítótt szállító stornírozása
/// </summary>
/// <param name="_ObjectSpace"></param>
/// <param name="_DeliveryNoteOutHeader_Original"></param>
/// <param name="_StorageOutHeader"></param>
/// <returns></returns>
public static DeliveryNoteOutHeader StornoDeliveryNoteOutHeaderfromStorageOutHeader(XPObjectSpace _ObjectSpace, StorageOutHeader _StorageOutHeader)
{
DeliveryNoteOutHeader _DeliveryNoteOutHeader = CreateNewDeliveryNoteOutHeader(_ObjectSpace);
try
{
_StorageOutHeader.DeliveryNoteOutHeader.IsEditable = false;
_StorageOutHeader.DeliveryNoteOutHeader.IsStorno = true;
_DeliveryNoteOutHeader.ConnectInfo = _StorageOutHeader.DeliveryNoteOutHeader.DocumentNumber;
_DeliveryNoteOutHeader.CurrencyName = _StorageOutHeader.DeliveryNoteOutHeader.CurrencyName;
_DeliveryNoteOutHeader.Customers = _StorageOutHeader.DeliveryNoteOutHeader.Customers;
_DeliveryNoteOutHeader.CustomersFrom = _StorageOutHeader.DeliveryNoteOutHeader.CustomersFrom;
_DeliveryNoteOutHeader.DateCreated = GeneralFunction.GetSQLTime(_ObjectSpace.Session);
_DeliveryNoteOutHeader.DateExecution = GeneralFunction.GetSQLTime(_ObjectSpace.Session);
_DeliveryNoteOutHeader.DeliveryNoteOutType = _StorageOutHeader.DeliveryNoteOutHeader.DeliveryNoteOutType;
_DeliveryNoteOutHeader.IsEditable = false;
_DeliveryNoteOutHeader.IsStorno = true;
_DeliveryNoteOutHeader.Note = _StorageOutHeader.DeliveryNoteOutHeader.Note;
_DeliveryNoteOutHeader.QualityOption = _StorageOutHeader.DeliveryNoteOutHeader.QualityOption;
_DeliveryNoteOutHeader.ShipmentOption = _StorageOutHeader.DeliveryNoteOutHeader.ShipmentOption;
_DeliveryNoteOutHeader.TransportAddress = _StorageOutHeader.DeliveryNoteOutHeader.TransportAddress;
foreach (DeliveryNoteOutRows _DeliveryNoteOutRows_Original in _StorageOutHeader.DeliveryNoteOutHeader.DeliveryNoteOutRows)
{
_DeliveryNoteOutRows_Original.StorageOutRowsInRows.QTT_To_DeliveryOut = 0;
DeliveryNoteOutRows _DeliveryOutRows = _ObjectSpace.CreateObject<DeliveryNoteOutRows>();
_DeliveryOutRows.DeliveryNoteOutHeader = _DeliveryNoteOutHeader;
_DeliveryOutRows.ADRNumber = _DeliveryNoteOutRows_Original.ADRNumber;
_DeliveryOutRows.Note = _DeliveryNoteOutRows_Original.Note;
_DeliveryOutRows.QTT = _DeliveryNoteOutRows_Original.QTT * -1;
_DeliveryOutRows.QTT_Invoiced = 0;
_DeliveryOutRows.QTT_Will = 0;
_DeliveryOutRows.RowIndex = _DeliveryNoteOutRows_Original.RowIndex;
_DeliveryOutRows.StorageOutRowsInRows = _DeliveryNoteOutRows_Original.StorageOutRowsInRows;
}
_StorageOutHeader.DeliveryNoteOutHeader = null;
_ObjectSpace.CommitChanges();
}
catch (Exception)
{
}
finally
{
}
return _DeliveryNoteOutHeader;
}
#endregion
#region Invoice
#endregion
}
}