mirror of
https://github.com/stokebob/bnhtrade.git
synced 2026-05-19 03:58:19 +00:00
Update/restructure of COM type library
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
using bnhtrade.ComTypeLib.Credential;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace bnhtrade.ComTypeLib
|
||||
{
|
||||
[ComVisible(true)]
|
||||
[Guid("e0a8c0c3-8d99-402e-b5cb-51fe262ae2ff")]
|
||||
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
|
||||
public interface IStock
|
||||
{
|
||||
int StockInsertPurchase(ConnectionCredential sqlConnCred, int productId, int conditionId, int accountTaxCodeId, int accountJournalId, int quantity, int statusDebitId);
|
||||
|
||||
int StockInsertOwnerIntroduced(ConnectionCredential sqlConnCred, [MarshalAs(UnmanagedType.Currency)] decimal amount, int quantity, int productId, int conditionId, int accountTaxCodeId, DateTime entryDate, int debitStatusId);
|
||||
|
||||
void StockDeletePurchase(ConnectionCredential sqlConnCred, int stockId);
|
||||
|
||||
void StockDeleteOwnerIntroduced(ConnectionCredential sqlConnCred, int stockId);
|
||||
|
||||
int StockReallocate(ConnectionCredential sqlConnCred, int stockId, int quantity, int debitStatusId, int creditStatusId, DateTime entryDate);
|
||||
|
||||
void StockJournalDelete(ConnectionCredential sqlConnCred, int stockJournalId);
|
||||
|
||||
object ReconcileStockTransactions(ConnectionCredential sqlConnCred);
|
||||
|
||||
bool StockJournalConsistencyCheck(ConnectionCredential sqlConnCred, int stockId);
|
||||
}
|
||||
|
||||
[ComVisible(true)]
|
||||
[Guid("184ee881-5361-43c3-8c46-d8e22863e099")]
|
||||
[ClassInterface(ClassInterfaceType.None)]
|
||||
[ProgId("bnhtrade.Stock")]
|
||||
// [ClassInterface(ClassInterfaceType.AutoDual)]
|
||||
public class Stock : IStock
|
||||
{
|
||||
public int StockInsertPurchase(ConnectionCredential sqlConnCred, int productId, int conditionId, int accountTaxCodeId, int accountJournalId, int quantity, int statusDebitId)
|
||||
{
|
||||
return Core.Stock.StockCreate.WIP_StockInsertPurchase(sqlConnCred.ConnectionString, productId, conditionId, accountTaxCodeId, accountJournalId, quantity, statusDebitId);
|
||||
}
|
||||
|
||||
public int StockInsertOwnerIntroduced(ConnectionCredential sqlConnCred, [MarshalAs(UnmanagedType.Currency)] decimal amount, int quantity, int productId, int conditionId, int accountTaxCodeId, DateTime entryDate, int debitStatusId)
|
||||
{
|
||||
return Core.Stock.StockCreate.WIP_StockInsertOwnerIntroduced(sqlConnCred.ConnectionString, amount, quantity, productId, conditionId, accountTaxCodeId, entryDate, debitStatusId);
|
||||
}
|
||||
|
||||
public void StockDeletePurchase(ConnectionCredential sqlConnCred, int stockId)
|
||||
{
|
||||
Core.Stock.StockCreate.WIP_StockDeletePurchase(sqlConnCred.ConnectionString, stockId);
|
||||
}
|
||||
|
||||
public void StockDeleteOwnerIntroduced(ConnectionCredential sqlConnCred, int stockId)
|
||||
{
|
||||
Core.Stock.StockCreate.WIP_StockDeleteOwnerIntroduced(sqlConnCred.ConnectionString, stockId);
|
||||
}
|
||||
|
||||
public int StockReallocate(ConnectionCredential sqlConnCred, int stockId, int quantity, int debitStatusId, int creditStatusId, DateTime entryDate)
|
||||
{
|
||||
entryDate = DateTime.SpecifyKind(entryDate, DateTimeKind.Utc);
|
||||
|
||||
return Core.Stock.StockJournal.StockReallocateByStockId(sqlConnCred.ConnectionString, 4, stockId, quantity, debitStatusId, creditStatusId, entryDate);
|
||||
}
|
||||
|
||||
public void StockJournalDelete(ConnectionCredential sqlConnCred, int stockJournalId)
|
||||
{
|
||||
Core.Stock.StockJournal.StockJournalDelete(sqlConnCred.ConnectionString, stockJournalId);
|
||||
}
|
||||
|
||||
public object ReconcileStockTransactions(ConnectionCredential sqlConnCred)
|
||||
{
|
||||
var request = new Core.Stock.StockReconciliation();
|
||||
var result = new Core.Stock.StockReconciliation.ReconcileStockTransactionsResult();
|
||||
|
||||
result = request.ReconcileStockTransactions(sqlConnCred.ConnectionString, false);
|
||||
|
||||
//ReconcileStockTransactionsResult returnObject = new ReconcileStockTransactionsResult();
|
||||
|
||||
// copy values between classes
|
||||
|
||||
//PropertyInfo[] infos = typeof(ReconcileStockTransactionsResult).GetProperties();
|
||||
//foreach (PropertyInfo info in infos)
|
||||
//{
|
||||
// info.SetValue(returnObject, info.GetValue(result, null), null);
|
||||
//}
|
||||
|
||||
//foreach (PropertyInfo property in typeof(ReconcileStockTransactionsResult).GetProperties())
|
||||
//{
|
||||
// if (property.CanWrite)
|
||||
// {
|
||||
// property.SetValue(returnObject, property.GetValue(result, null), null);
|
||||
// }
|
||||
//}
|
||||
|
||||
//returnObject.ItemsCompleted = result.ItemsCompleted;
|
||||
//returnObject.ItemsRemaining = result.ItemsRemaining;
|
||||
//returnObject.LastItemDateTime = result.LastItemDateTime;
|
||||
//returnObject.ProgressMessage = result.ProgressMessage;
|
||||
//returnObject.ReconciliationComplete = returnObject.ReconciliationComplete;
|
||||
//returnObject.StockTransactionId = result.StockTransactionId;
|
||||
//returnObject.StockTransactionTypeId = result.StockTransactionTypeId;
|
||||
|
||||
//create the return array
|
||||
object[] returnArray = new object[7];
|
||||
returnArray[0] = result.ReconciliationComplete;
|
||||
returnArray[1] = result.ProgressMessage;
|
||||
returnArray[2] = result.StockTransactionId;
|
||||
returnArray[3] = result.StockTransactionTypeId;
|
||||
returnArray[4] = result.LastItemDateTime;
|
||||
returnArray[5] = result.ItemsCompleted;
|
||||
returnArray[6] = result.ItemsRemaining;
|
||||
return returnArray;
|
||||
|
||||
//return returnObject;
|
||||
|
||||
}
|
||||
|
||||
public bool StockJournalConsistencyCheck(ConnectionCredential sqlConnCred, int stockId)
|
||||
{
|
||||
return Core.Stock.StockJournal.WIP_StockJournalConsistencyCheck(sqlConnCred.ConnectionString, stockId, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user