mirror of
https://github.com/stokebob/bnhtrade.git
synced 2026-03-21 15:27:15 +00:00
Feature repricing min max (#10)
amazon settlement import/export improvements
This commit is contained in:
104
src/bnhtrade.Core/Data/Database/Stock/ReadSkuTransaction.cs
Normal file
104
src/bnhtrade.Core/Data/Database/Stock/ReadSkuTransaction.cs
Normal file
@@ -0,0 +1,104 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Dapper;
|
||||
|
||||
namespace bnhtrade.Core.Data.Database.Stock
|
||||
{
|
||||
public class ReadSkuTransaction : Connection
|
||||
{
|
||||
public ReadSkuTransaction(string sqlConnectionString) : base(sqlConnectionString)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public int? GetJournalId(int skuTransactionId)
|
||||
{
|
||||
using (var conn = new SqlConnection(sqlConnectionString))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
using (var cmd = new SqlCommand(@"
|
||||
SELECT StockJournalID FROM tblStockSkuTransaction WHERE StockSkuTransactionID=@transactionId
|
||||
", conn))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@transactionId", skuTransactionId);
|
||||
|
||||
object obj = cmd.ExecuteScalar();
|
||||
|
||||
if (obj == null || obj == DBNull.Value)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (int)obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<Model.Stock.SkuTransaction> GetUnreconciled()
|
||||
{
|
||||
// order by stocktransId desc = Amazon reports are listed in datetime ASC order, some reports have date only,
|
||||
// however I have reason to believe these are in time order.
|
||||
// Adding this means they at least get processed in the correct order (maybe)!
|
||||
string sqlWhere = @"
|
||||
WHERE tblStockSkuTransaction.IsProcessed = 0
|
||||
AND (
|
||||
tblStockSkuTransactionType.StockJournalEntryEnabled = 1
|
||||
OR tblStockSkuTransactionType.IsNewReviewRequired = 1
|
||||
) ";
|
||||
|
||||
return Read(sqlWhere, new DynamicParameters());
|
||||
}
|
||||
|
||||
private List<Model.Stock.SkuTransaction> Read(string sqlWhere, DynamicParameters parameters)
|
||||
{
|
||||
var resultList = new List<Model.Stock.SkuTransaction>();
|
||||
|
||||
string sql = @"
|
||||
SELECT tblStockSkuTransaction.StockSkuTransactionID AS SkuTransactionId
|
||||
,tblStockSkuTransaction.TransactionDate
|
||||
,tblStockSkuTransaction.StockSkuTransactionTypeID AS SkuTransactionTypeId
|
||||
,tblStockSkuTransaction.ForeignKey
|
||||
,tblStockSkuTransaction.Reference
|
||||
,tblStockSkuTransaction.Detail
|
||||
,tblStockSkuTransaction.Quantity
|
||||
,tblStockSkuTransaction.IsProcessed
|
||||
,tblStockSkuTransaction.StockJournalID AS StockJournalId
|
||||
,tblStockSkuTransactionType.TypeTitle AS SkuTransactionTypeName
|
||||
,tblSku.skuSkuNumber AS SkuNumber
|
||||
,tblStockSkuTransaction.SkuID
|
||||
FROM tblStockSkuTransaction
|
||||
INNER JOIN tblStockSkuTransactionType ON tblStockSkuTransaction.StockSkuTransactionTypeID = tblStockSkuTransactionType.StockSkuTransactionTypeID
|
||||
INNER JOIN tblSku ON tblStockSkuTransaction.SkuID = tblSku.skuSkuID ";
|
||||
|
||||
sql += sqlWhere;
|
||||
|
||||
sql += @"
|
||||
ORDER BY tblStockSkuTransaction.TransactionDate ASC, tblStockSkuTransaction.StockSkuTransactionID DESC;";
|
||||
|
||||
using (SqlConnection conn = new SqlConnection(sqlConnectionString))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
resultList = conn.Query<Model.Stock.SkuTransaction>(sql, parameters).ToList();
|
||||
}
|
||||
|
||||
// set datetime kind
|
||||
for (int i = 0; i < resultList.Count; i++)
|
||||
{
|
||||
if (resultList[i].IsSetTransactionDate)
|
||||
{
|
||||
resultList[i].TransactionDate = DateTime.SpecifyKind(resultList[i].TransactionDate, DateTimeKind.Utc);
|
||||
}
|
||||
}
|
||||
|
||||
return resultList;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user