Update/restructure of COM type library

This commit is contained in:
2019-04-02 17:25:30 +01:00
committed by GitHub
parent 824ebb72ca
commit bc44546efd
32 changed files with 727 additions and 632 deletions
+125
View File
@@ -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);
}
}
}