Last MWS report import date time saved

This commit is contained in:
2020-10-06 20:34:22 +01:00
committed by GitHub
parent ddd2b62743
commit b266e1cde0
7 changed files with 191 additions and 207 deletions

View File

@@ -24,7 +24,7 @@ namespace bnhtrade.Core.Data.AmazonMWS
string attrVal = elemList[i].Attributes["timestamp"].Value; string attrVal = elemList[i].Attributes["timestamp"].Value;
if (!string.IsNullOrWhiteSpace(attrVal)) if (!string.IsNullOrWhiteSpace(attrVal))
{ {
returnTime = DateTime.Parse(attrVal); returnTime = DateTime.SpecifyKind(DateTime.Parse(attrVal), DateTimeKind.Utc);
break; break;
} }
} }
@@ -34,7 +34,6 @@ namespace bnhtrade.Core.Data.AmazonMWS
throw new Exception("Error requesting time from Amazon"); throw new Exception("Error requesting time from Amazon");
} }
returnTime = returnTime.ToUniversalTime();
returnTime = returnTime.AddTicks(-(returnTime.Ticks % TimeSpan.TicksPerSecond)); returnTime = returnTime.AddTicks(-(returnTime.Ticks % TimeSpan.TicksPerSecond));
return returnTime; return returnTime;

View File

@@ -8,6 +8,21 @@ namespace bnhtrade.Core.Data.Database
{ {
public static class Constants public static class Constants
{ {
/// <summary>
/// Gets the date bnhtrade started trading.
/// </summary>
/// <returns>Date and time</returns>
public static DateTime GetBusinessStartUtc()
{
DateTime businessStart = new DateTime(2014, 09, 01);
return DateTime.SpecifyKind(businessStart, DateTimeKind.Utc);
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public static int GetProductConditionIdNew() public static int GetProductConditionIdNew()
{ {
return 10; return 10;

View File

@@ -12,14 +12,7 @@ namespace bnhtrade.Core.Data.Database.Log
public DateTimeLog(string sqlConnectionString) : base(sqlConnectionString) public DateTimeLog(string sqlConnectionString) : base(sqlConnectionString)
{ {
} }
public DateTime GetBusinessStartUtc
{
get
{
DateTime businessStart = new DateTime(2014, 09, 01);
return DateTime.SpecifyKind(businessStart, DateTimeKind.Utc);
}
}
/// <summary> /// <summary>
/// Gets the Date and Time by a unique string. /// Gets the Date and Time by a unique string.
/// </summary> /// </summary>
@@ -56,6 +49,7 @@ namespace bnhtrade.Core.Data.Database.Log
} }
} }
} }
public void SetDateTimeUtc(string logDateTimeID, DateTime utcDateTime) public void SetDateTimeUtc(string logDateTimeID, DateTime utcDateTime)
{ {
utcDateTime = DateTime.SpecifyKind(utcDateTime, DateTimeKind.Utc); utcDateTime = DateTime.SpecifyKind(utcDateTime, DateTimeKind.Utc);
@@ -86,6 +80,7 @@ namespace bnhtrade.Core.Data.Database.Log
} }
} }
} }
public void NewDateTimeUtc(string LogDateTimeId, DateTime utcDateTime, string comments = null) public void NewDateTimeUtc(string LogDateTimeId, DateTime utcDateTime, string comments = null)
{ {
if (string.IsNullOrWhiteSpace(LogDateTimeId)) if (string.IsNullOrWhiteSpace(LogDateTimeId))
@@ -131,6 +126,5 @@ namespace bnhtrade.Core.Data.Database.Log
} }
} }
} }
} }
} }

View File

@@ -4887,9 +4887,9 @@ namespace bnhtrade.Core
// endTime =< // endTime =<
List<string> reportIdList = new List<string>(); List<string> reportIdList = new List<string>();
DateTime now = DateTime.UtcNow; DateTime amazonNow = new Data.AmazonMWS.CurrentDateTime().GetUtc();
// time checks // time checks
if (startTime.ToUniversalTime() > now.ToUniversalTime()) if (startTime.ToUniversalTime() > amazonNow.ToUniversalTime())
{ {
MiscFunction.EventLogInsert( MiscFunction.EventLogInsert(
"The most current date supplied from the database is ahead of the current time. stoping...", "The most current date supplied from the database is ahead of the current time. stoping...",
@@ -4899,7 +4899,7 @@ namespace bnhtrade.Core
reportIdList.Clear(); reportIdList.Clear();
return reportIdList; return reportIdList;
} }
else if (endTime.ToUniversalTime() > now.ToUniversalTime()) else if (endTime.ToUniversalTime() > amazonNow.ToUniversalTime())
{ {
MiscFunction.EventLogInsert( MiscFunction.EventLogInsert(
"Get report end time is ahead of current time, re-setting to current time", "Get report end time is ahead of current time, re-setting to current time",
@@ -4913,10 +4913,10 @@ namespace bnhtrade.Core
do do
{ {
reportCount = reportCount + 1; reportCount = reportCount + 1;
now = DateTime.UtcNow.AddMinutes(0); amazonNow = DateTime.UtcNow.AddMinutes(0);
if (endTime.ToUniversalTime() > now.ToUniversalTime()) if (endTime.ToUniversalTime() > amazonNow.ToUniversalTime())
{ {
endTime = now; endTime = amazonNow;
stopFlag = true; stopFlag = true;
} }
// build the request // build the request
@@ -4958,7 +4958,7 @@ namespace bnhtrade.Core
// add 30 days onto start date and loop // add 30 days onto start date and loop
startTime = endTime.AddSeconds(1); startTime = endTime.AddSeconds(1);
endTime = endTime.AddDays(reportMaxPeriod); endTime = endTime.AddDays(reportMaxPeriod);
if (startTime.ToUniversalTime() > now.ToUniversalTime()) if (startTime.ToUniversalTime() > amazonNow.ToUniversalTime())
{ {
stopFlag = true; stopFlag = true;
} }
@@ -4971,6 +4971,88 @@ namespace bnhtrade.Core
return reportIdList; return reportIdList;
} }
public void ImportByDateRange(string sqlConnectionString, string mwsReportEnum, DateTime lastRecordDate,
int lastRecordOffsetDay = 0, int lastRecordOffsetSecond = 0)
{
// set start date
DateTime startTime = new DateTime();
DateTime endTime = new Data.AmazonMWS.CurrentDateTime().GetUtc();
var dbLogDate = new DateTimeLog(sqlConnectionString);
DateTime logDate = dbLogDate.GetDateTimeUtc(mwsReportEnum);
logDate = logDate.AddDays(-14);
if (lastRecordDate > logDate)
{
startTime = lastRecordDate;
startTime = startTime.AddSeconds(lastRecordOffsetSecond);
startTime = startTime.AddDays(lastRecordOffsetDay);
}
else
{
startTime = logDate;
}
// get list of reports
List<string> reportPathList = GetMwsReportByPeriod(mwsReportEnum, startTime, endTime);
if (reportPathList.Count == 0)
{
// no report downloadeded
MiscFunction.EventLogInsert("No reports downloaded for " + mwsReportEnum);
}
// loop throught list of filepaths
foreach (string reportPath in reportPathList)
{
bool ackImport = false;
if (mwsReportEnum == "_GET_FBA_FULFILLMENT_INVENTORY_RECEIPTS_DATA_")
{
ackImport = ImportReportFbaInventoryReceipt(sqlConnectionString, reportPath, startTime);
}
else if (mwsReportEnum == "_GET_AMAZON_FULFILLED_SHIPMENTS_DATA_")
{
ackImport = ImportReportFbaSaleShipment(sqlConnectionString, reportPath);
}
else if (mwsReportEnum == "_GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA_")
{
ackImport = ImportReportFbaReturns(sqlConnectionString, reportPath);
}
else if (mwsReportEnum == "_GET_FBA_FULFILLMENT_INVENTORY_ADJUSTMENTS_DATA_")
{
ackImport = ImportReportFbaAdjustment(sqlConnectionString, reportPath);
}
else if (mwsReportEnum == "_GET_FBA_REIMBURSEMENTS_DATA_")
{
ackImport = ImportReportFbaReimbursement(sqlConnectionString, reportPath);
}
else if (mwsReportEnum == "_GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA_")
{
ackImport = ImportReportFbaRemovalOrder(sqlConnectionString, reportPath);
}
else
{
MiscFunction.EventLogInsert("If statement not setup for report '" + mwsReportEnum + "'. stopping further report imports, do some coding",
1,
MiscFunction.TraceMessage()
);
return;
}
if (ackImport == false)
{
MiscFunction.EventLogInsert("Problem importing report '" + mwsReportEnum + "'. stopping further report imports...",
1,
MiscFunction.TraceMessage()
);
return;
}
}
// update log date
dbLogDate.SetDateTimeUtc(mwsReportEnum, endTime);
}
public bool SetMwsReportAcknowledgement(string reportId, bool acknowledged = true) public bool SetMwsReportAcknowledgement(string reportId, bool acknowledged = true)
{ {
var service = new Service().MarketPlaceWeb; var service = new Service().MarketPlaceWeb;
@@ -7096,6 +7178,7 @@ namespace bnhtrade.Core
//return false; //return false;
} }
} }
public void UpdateFbaInventoryReceiptData(string sqlConnectionString) public void UpdateFbaInventoryReceiptData(string sqlConnectionString)
{ {
string mwsReportEnum = "_GET_FBA_FULFILLMENT_INVENTORY_RECEIPTS_DATA_"; string mwsReportEnum = "_GET_FBA_FULFILLMENT_INVENTORY_RECEIPTS_DATA_";
@@ -7109,31 +7192,27 @@ namespace bnhtrade.Core
*/ */
// get the most recent date from db table // get the most recent date from db table
DateTime startTime; DateTime lastRecordDate;
DateTime endTime = DateTime.UtcNow; SqlConnection conn;
DateTime currentTime = DateTime.UtcNow.AddMinutes(-5);
SqlConnection sqlConn;
try try
{ {
using (sqlConn = new SqlConnection(sqlConnectionString)) using (conn = new SqlConnection(sqlConnectionString))
{ {
sqlConn.Open(); conn.Open();
using (SqlCommand cmd = new SqlCommand( using (SqlCommand cmd = new SqlCommand(
"SELECT Max([received-date]) AS MaxDate FROM tblImportFbaInventoryReceiptReport;" "SELECT Max([received-date]) AS MaxDate FROM tblImportFbaInventoryReceiptReport;"
, sqlConn)) , conn))
{ {
if (cmd.ExecuteScalar() == DBNull.Value) if (cmd.ExecuteScalar() == DBNull.Value)
{ {
// use first month started selling on Amazon // use first month started selling on Amazon
startTime = DateTime.Parse("2014-09-01T00:00:00Z"); lastRecordDate = DateTime.Parse("2014-09-01T00:00:00Z");
// no need to specific timezone, etc, as "Z" already specifis UTC // no need to specific timezone, etc, as "Z" already specifis UTC
} }
else else
{ {
startTime = ((DateTime)cmd.ExecuteScalar()); lastRecordDate = ((DateTime)cmd.ExecuteScalar());
startTime = DateTime.SpecifyKind(startTime, DateTimeKind.Utc); lastRecordDate = DateTime.SpecifyKind(lastRecordDate, DateTimeKind.Utc);
startTime = startTime.AddSeconds(1);
} }
} }
} }
@@ -7147,29 +7226,9 @@ namespace bnhtrade.Core
return; return;
} }
// get list of reports ImportByDateRange(sqlConnectionString, mwsReportEnum, lastRecordDate, 0, 1);
List<string> reportPathList = GetMwsReportByPeriod(mwsReportEnum, startTime, endTime);
if (reportPathList.Count == 0)
{
// no report downloadeded
MiscFunction.EventLogInsert("No reports downloaded, stopping UpdateFbaInventoryReceiptData method...");
return;
} }
// loop throught list of filepaths
foreach (string reportPath in reportPathList)
{
bool ackImport = ImportReportFbaInventoryReceipt(sqlConnectionString, reportPath, startTime);
if (ackImport == false)
{
MiscFunction.EventLogInsert("Problem importing report '" + mwsReportEnum + "'. stopping further report imports...",
1,
MiscFunction.TraceMessage()
);
return;
}
}
}
public void UpdateFbaSaleShipmentData(string sqlConnectionString) public void UpdateFbaSaleShipmentData(string sqlConnectionString)
{ {
string mwsReportEnum = "_GET_AMAZON_FULFILLED_SHIPMENTS_DATA_"; string mwsReportEnum = "_GET_AMAZON_FULFILLED_SHIPMENTS_DATA_";
@@ -7186,10 +7245,7 @@ namespace bnhtrade.Core
*/ */
// get the most recent date from db table // get the most recent date from db table
DateTime startTime; DateTime lastRecordDate;
DateTime endTime = DateTime.UtcNow;
DateTime latestTime = DateTime.UtcNow.AddMinutes(-5);
SqlConnection sqlConn; SqlConnection sqlConn;
try try
{ {
@@ -7203,18 +7259,15 @@ namespace bnhtrade.Core
if (cmd.ExecuteScalar() == DBNull.Value) if (cmd.ExecuteScalar() == DBNull.Value)
{ {
// use first month started selling on Amazon // use first month started selling on Amazon
startTime = DateTime.Parse("2014-09-01T00:00:00Z"); lastRecordDate = DateTime.Parse("2014-09-01T00:00:00Z");
// no need to specific timezone, etc, as "Z" already specifis UTC // no need to specific timezone, etc, as "Z" already specifis UTC
startTime = DateTime.Parse("2016-02-01T00:00:00Z"); lastRecordDate = DateTime.Parse("2016-02-01T00:00:00Z");
// fba sale shipments for previous 18 months only // fba sale shipments for previous 18 months only
} }
else else
{ {
startTime = ((DateTime)cmd.ExecuteScalar()); lastRecordDate = ((DateTime)cmd.ExecuteScalar());
startTime = DateTime.SpecifyKind(startTime, DateTimeKind.Utc); lastRecordDate = DateTime.SpecifyKind(lastRecordDate, DateTimeKind.Utc);
// Amazon states in MWS guidance that shipments are added in near real time, however, in most cases,
// there will be a delay of approximately one to three hours. In some rare cases there could be a delay of up to 24 hours.
startTime = startTime.AddDays(-3);
} }
} }
} }
@@ -7228,29 +7281,9 @@ namespace bnhtrade.Core
return; return;
} }
// get list of reports ImportByDateRange(sqlConnectionString, mwsReportEnum, lastRecordDate, -3, 0);
List<string> reportPathList = GetMwsReportByPeriod(mwsReportEnum, startTime, endTime);
if (reportPathList.Count == 0)
{
// no report downloadeded
MiscFunction.EventLogInsert("No reports downloaded, stopping GetFbaReturnsReport method...");
return;
} }
// loop throught list of filepaths
foreach (string reportPath in reportPathList)
{
bool ackImport = ImportReportFbaSaleShipment(sqlConnectionString, reportPath);
if (ackImport == false)
{
MiscFunction.EventLogInsert("Problem importing report '" + mwsReportEnum + "'. stopping further report imports...",
1,
MiscFunction.TraceMessage()
);
return;
}
}
}
public void UpdateFbaReturnData(string sqlConnectionString) public void UpdateFbaReturnData(string sqlConnectionString)
{ {
string mwsReportEnum = "_GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA_"; string mwsReportEnum = "_GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA_";
@@ -7268,8 +7301,7 @@ namespace bnhtrade.Core
*/ */
// get the most recent date from db table // get the most recent date from db table
DateTime startTime; DateTime lastRecordDate;
DateTime endTime = DateTime.UtcNow;
SqlConnection sqlConn; SqlConnection sqlConn;
try try
{ {
@@ -7283,15 +7315,13 @@ namespace bnhtrade.Core
if (cmd.ExecuteScalar() == DBNull.Value) if (cmd.ExecuteScalar() == DBNull.Value)
{ {
// use first month started selling on Amazon // use first month started selling on Amazon
startTime = DateTime.Parse("2015-08-25T00:00:00Z"); //this before first return lastRecordDate = DateTime.Parse("2015-08-25T00:00:00Z"); //this before first return
// no need to specific timezone, etc, as "Z" already specifis UTC // no need to specific timezone, etc, as "Z" already specifis UTC
} }
else else
{ {
startTime = ((DateTime)cmd.ExecuteScalar()); lastRecordDate = ((DateTime)cmd.ExecuteScalar());
startTime = DateTime.SpecifyKind(startTime, DateTimeKind.Utc); lastRecordDate = DateTime.SpecifyKind(lastRecordDate, DateTimeKind.Utc);
// Amazon states in MWS guidance that content updated daily.
startTime = startTime.AddDays(-14);
} }
} }
} }
@@ -7305,29 +7335,9 @@ namespace bnhtrade.Core
return; return;
} }
// get list of reports ImportByDateRange(sqlConnectionString, mwsReportEnum, lastRecordDate, -14, 0);
List<string> reportPathList = GetMwsReportByPeriod(mwsReportEnum, startTime, endTime);
if (reportPathList.Count == 0)
{
// no report downloadeded
MiscFunction.EventLogInsert("No reports downloaded, stopping GetFbaReturnsReport method...");
return;
} }
// loop throught list of filepaths
foreach (string reportPath in reportPathList)
{
bool ackImport = ImportReportFbaReturns(sqlConnectionString, reportPath);
if (ackImport == false)
{
MiscFunction.EventLogInsert("Problem importing report '" + mwsReportEnum + "'. stopping further report imports...",
1,
MiscFunction.TraceMessage()
);
return;
}
}
}
public void UpdateFbaAdustmentData(string sqlConnectionString) public void UpdateFbaAdustmentData(string sqlConnectionString)
{ {
string mwsReportEnum = "_GET_FBA_FULFILLMENT_INVENTORY_ADJUSTMENTS_DATA_"; string mwsReportEnum = "_GET_FBA_FULFILLMENT_INVENTORY_ADJUSTMENTS_DATA_";
@@ -7337,8 +7347,7 @@ namespace bnhtrade.Core
//return; //return;
// get the most recent date from db table // get the most recent date from db table
DateTime startTime; DateTime lastRecordDate;
DateTime endTime = DateTime.UtcNow;
SqlConnection sqlConn; SqlConnection sqlConn;
try try
{ {
@@ -7352,15 +7361,13 @@ namespace bnhtrade.Core
if (cmd.ExecuteScalar() == DBNull.Value) if (cmd.ExecuteScalar() == DBNull.Value)
{ {
// use first month started selling on Amazon // use first month started selling on Amazon
startTime = DateTime.Parse("2014-09-01T00:00:00Z"); lastRecordDate = DateTime.Parse("2014-09-01T00:00:00Z");
// no need to specific timezone, etc, as "Z" already specifis UTC // no need to specific timezone, etc, as "Z" already specifis UTC
} }
else else
{ {
startTime = ((DateTime)cmd.ExecuteScalar()); lastRecordDate = ((DateTime)cmd.ExecuteScalar());
startTime = DateTime.SpecifyKind(startTime, DateTimeKind.Utc); lastRecordDate = DateTime.SpecifyKind(lastRecordDate, DateTimeKind.Utc);
// Amazon states in MWS guidance that content updated daily.
startTime = startTime.AddDays(-3);
} }
} }
} }
@@ -7374,29 +7381,9 @@ namespace bnhtrade.Core
return; return;
} }
// get list of reports ImportByDateRange(sqlConnectionString, mwsReportEnum, lastRecordDate, -3, 0);
List<string> reportPathList = GetMwsReportByPeriod(mwsReportEnum, startTime, endTime);
if (reportPathList.Count == 0)
{
// no report downloadeded
MiscFunction.EventLogInsert("No reports downloaded, stopping GetFbaAdustmentData method...");
return;
} }
// loop throught list of filepaths
foreach (string reportPath in reportPathList)
{
bool ackImport = ImportReportFbaAdjustment(sqlConnectionString, reportPath);
if (ackImport == false)
{
MiscFunction.EventLogInsert("Problem importing report '" + mwsReportEnum + "'. stopping further report imports...",
1,
MiscFunction.TraceMessage()
);
return;
}
}
}
public void UpdateFbaReimbursementData(string sqlConnectionString) public void UpdateFbaReimbursementData(string sqlConnectionString)
{ {
string mwsReportEnum = "_GET_FBA_REIMBURSEMENTS_DATA_"; string mwsReportEnum = "_GET_FBA_REIMBURSEMENTS_DATA_";
@@ -7406,8 +7393,7 @@ namespace bnhtrade.Core
//return; //return;
// get the most recent date from db table // get the most recent date from db table
DateTime startTime; DateTime lastRecordDate;
DateTime endTime = DateTime.UtcNow;
SqlConnection sqlConn; SqlConnection sqlConn;
try try
{ {
@@ -7421,16 +7407,13 @@ namespace bnhtrade.Core
if (cmd.ExecuteScalar() == DBNull.Value) if (cmd.ExecuteScalar() == DBNull.Value)
{ {
// use first month started selling on Amazon // use first month started selling on Amazon
startTime = DateTime.Parse("2014-09-01T00:00:00Z"); lastRecordDate = DateTime.Parse("2014-09-01T00:00:00Z");
// no need to specific timezone, etc, as "Z" already specifis UTC // no need to specific timezone, etc, as "Z" already specifis UTC
} }
else else
{ {
startTime = ((DateTime)cmd.ExecuteScalar()); lastRecordDate = ((DateTime)cmd.ExecuteScalar());
startTime = DateTime.SpecifyKind(startTime, DateTimeKind.Utc); lastRecordDate = DateTime.SpecifyKind(lastRecordDate, DateTimeKind.Utc);
// Amazon states in MWS guidance that content updated daily.
startTime = startTime.AddDays(-3);
//startTime = DateTime.Parse("2015-05-01T00:00:00Z");
} }
} }
} }
@@ -7444,29 +7427,9 @@ namespace bnhtrade.Core
return; return;
} }
// get list of reports ImportByDateRange(sqlConnectionString, mwsReportEnum, lastRecordDate, -3, 0);
List<string> reportPathList = GetMwsReportByPeriod(mwsReportEnum, startTime, endTime);
if (reportPathList.Count == 0)
{
// no report downloadeded
MiscFunction.EventLogInsert("No reports downloaded, stopping GetFbaReimbursementData method...");
return;
} }
// loop throught list of filepaths
foreach (string reportPath in reportPathList)
{
bool ackImport = ImportReportFbaReimbursement(sqlConnectionString, reportPath);
if (ackImport == false)
{
MiscFunction.EventLogInsert("Problem importing report '" + mwsReportEnum + "'. stopping further report imports...",
1,
MiscFunction.TraceMessage()
);
return;
}
}
}
public void UpdateFbaRemovalOrderReport(string sqlConnectionString) public void UpdateFbaRemovalOrderReport(string sqlConnectionString)
{ {
string mwsReportEnum = "_GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA_"; string mwsReportEnum = "_GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA_";
@@ -7476,8 +7439,7 @@ namespace bnhtrade.Core
//return; //return;
// get the most recent date from db table // get the most recent date from db table
DateTime startTime; DateTime lastRecordDate;
DateTime endTime = DateTime.UtcNow;
SqlConnection sqlConn; SqlConnection sqlConn;
try try
{ {
@@ -7491,14 +7453,14 @@ namespace bnhtrade.Core
if (cmd.ExecuteScalar() == DBNull.Value) if (cmd.ExecuteScalar() == DBNull.Value)
{ {
// use first month started selling on Amazon // use first month started selling on Amazon
startTime = DateTime.Parse("2015-09-15T00:00:00Z"); lastRecordDate = DateTime.Parse("2015-09-15T00:00:00Z");
// no need to specific timezone, etc, as "Z" already specifis UTC // no need to specific timezone, etc, as "Z" already specifis UTC
} }
else else
{ {
startTime = ((DateTime)cmd.ExecuteScalar()); lastRecordDate = ((DateTime)cmd.ExecuteScalar());
startTime = DateTime.SpecifyKind(startTime, DateTimeKind.Utc); lastRecordDate = DateTime.SpecifyKind(lastRecordDate, DateTimeKind.Utc);
startTime = startTime.AddDays(-30); // yes, that's right -30 days lastRecordDate = lastRecordDate.AddDays(-30); // yes, that's right -30 days
//startTime = DateTime.Parse("2015-05-01T00:00:00Z"); //startTime = DateTime.Parse("2015-05-01T00:00:00Z");
} }
} }
@@ -7513,31 +7475,10 @@ namespace bnhtrade.Core
return; return;
} }
// get list of reports ImportByDateRange(sqlConnectionString, mwsReportEnum, lastRecordDate, -30, 0);
List<string> reportPathList = GetMwsReportByPeriod(mwsReportEnum, startTime, endTime, 24);
if (reportPathList.Count == 0)
{
// no report downloadeded
MiscFunction.EventLogInsert("No reports downloaded, stopping GetFbaReimbursementData method...");
return;
}
// loop throught list of filepaths
foreach (string reportPath in reportPathList)
{
bool ackImport = ImportReportFbaRemovalOrder(sqlConnectionString, reportPath);
if (ackImport == false)
{
MiscFunction.EventLogInsert("Problem importing report '" + mwsReportEnum + "'. stopping further report imports...",
1,
MiscFunction.TraceMessage()
);
return;
}
} }
} }
}
public class MiscFunction public class MiscFunction
{ {
public static void EventLogInsert public static void EventLogInsert

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace bnhtrade.Core.Test.AmazonMWS
{
public class Report
{
private string sqlConnectionString;
public Report(string sqlConnectionString)
{
this.sqlConnectionString = sqlConnectionString;
// method you want to start here
GetRport();
}
public void GetRport()
{
string mwsReportEnum = "_GET_FBA_FULFILLMENT_INVENTORY_RECEIPTS_DATA_";
DateTime start = new DateTime(2020, 10, 01);
DateTime finish = new DateTime(2020, 11, 03);
var result = new bnhtrade.Core.AmazonReport().GetMwsReportByPeriod(mwsReportEnum, start, finish, 12, 30);
}
}
}

View File

@@ -170,6 +170,7 @@
<Compile Include="Model\Stock\StatusBalance.cs" /> <Compile Include="Model\Stock\StatusBalance.cs" />
<Compile Include="Model\Stock\StatusTransaction.cs" /> <Compile Include="Model\Stock\StatusTransaction.cs" />
<Compile Include="Test\Account\Account.cs" /> <Compile Include="Test\Account\Account.cs" />
<Compile Include="Test\AmazonMWS\Report.cs" />
<Compile Include="Test\AutoExec.cs" /> <Compile Include="Test\AutoExec.cs" />
<Compile Include="Test\Export\Export.cs" /> <Compile Include="Test\Export\Export.cs" />
<Compile Include="Test\Import\AmazonSettlement.cs" /> <Compile Include="Test\Import\AmazonSettlement.cs" />

View File

@@ -290,8 +290,8 @@ namespace bnhtradeScheduledTasks
Console.WriteLine("<5> Test Logic"); Console.WriteLine("<5> Test Logic");
Console.WriteLine("<6> Test SKU"); Console.WriteLine("<6> Test SKU");
Console.WriteLine("<7> Test Stock"); Console.WriteLine("<7> Test Stock");
Console.WriteLine("<8> Test xxxxxxx"); Console.WriteLine("<8> Test AmazonMWS Report");
Console.WriteLine("<9> Detele Sku Transaction 'n'"); Console.WriteLine("<9> Test Log");
Console.WriteLine(); Console.WriteLine();
Console.WriteLine("<0> Back"); Console.WriteLine("<0> Back");
Console.WriteLine(""); Console.WriteLine("");
@@ -376,7 +376,7 @@ namespace bnhtradeScheduledTasks
{ {
Console.Clear(); Console.Clear();
Console.WriteLine("Nothing......"); new bnhtrade.Core.Test.AmazonMWS.Report(sqlConnectionString);
Console.WriteLine("Done"); Console.WriteLine("Done");
Console.WriteLine("Complete, press any key to continue..."); Console.WriteLine("Complete, press any key to continue...");
@@ -386,7 +386,13 @@ namespace bnhtradeScheduledTasks
{ {
Console.Clear(); Console.Clear();
new bnhtrade.Core.Logic.Stock.SkuTransactionPersistance(sqlConnectionString).DeleteJournalEntry(32731); var timeeee = new DateTime(2014, 9, 1);
var logdate = new bnhtrade.Core.Data.Database.Log.DateTimeLog(sqlConnectionString);
logdate.NewDateTimeUtc("_GET_AMAZON_FULFILLED_SHIPMENTS_DATA_", timeeee);
logdate.NewDateTimeUtc("_GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA_", timeeee);
logdate.NewDateTimeUtc("_GET_FBA_FULFILLMENT_INVENTORY_ADJUSTMENTS_DATA_", timeeee);
logdate.NewDateTimeUtc("_GET_FBA_REIMBURSEMENTS_DATA_", timeeee);
logdate.NewDateTimeUtc("_GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA_", timeeee);
Console.WriteLine("Done"); Console.WriteLine("Done");
Console.WriteLine("Complete, press any key to continue..."); Console.WriteLine("Complete, press any key to continue...");