ESR-4639 -
Parcel File Creation Email

Ecron: BrokerManifestOutMain

Start()

packages =
packageBpc.GetPackagesForBroker()

packages = _packageRepository.
GetPackagesForBrokerManifestOut()

S. Proc.: [packages].
[GetPackagesForBrokerManifestOut]

result =
GetPackagesFromBrokerManifestOutAssignResults
(reader, db)

select top (200) p.packageId, b.brokerId, b.BrokerName, *
from packages.packages p
join orders.orders o on o.orderid= p.OrderId
Join Parties.Brokers b on p.BrokerId = b.BrokerId
where p.PackageStatusId = 1 (Routing Applied) and o.OrderTypeId <> 4 (Completed)

ProcessPackagesByBroker
(p, brandsWithActivations)

IF: BrokerId = 1 (Asendia)

ELSE:

ProcessAsendiaPackages
(packages.ToList(),
brandsWithActivations)

ProcessEswBrokerManifestOutPackages
(packages.ToList())

AsendiaParcelFileCreation
(packages, brandsWithActivations)

\FileProcessing\
AsendiaParcelFileCreation.cs

Start()

click to edit

SQL Scripts

BEGIN TRAN
USE eswPlatform


UPDATE Packages.Packages
SET PackageStatusId = 1
WHERE PackageId IN (3251528, 3251529, 3251530, 3251531, 3251532)


ROLLBACK TRAN



SELECT * FROM Parties.Brokers
SELECT * FROM Lookups.PackageStatuses
SELECT * FROM Lookups.OrderStatuses

select top (200) p.PackageId, p.PackageStatusId, ps.Description, b.BrokerId, b.BrokerName, o.OrderId, o.OrderStatusId, os.Description, *
from packages.packages p
join Lookups.PackageStatuses ps on p.PackageStatusId = ps.PackageStatusId
join orders.orders o on o.orderid= p.OrderId
join Lookups.OrderStatuses os on o.OrderStatusId = os.OrderStatusId
Join Parties.Brokers b on p.BrokerId = b.BrokerId
where b.BrokerId = 1
--and p.PackageStatusId = 1
and o.OrderTypeId <> 4
ORDER BY p.LastUpdateTime DESC

eCron Test

TestFileProcessing

TestBrokerManifestOutFile

For local testing,
un-comment:

\BusinessObjects\esw.BusinessObjects.Objects\EmailBpc.cs

GetSmtpClient(...)

//DEBUG ONLY! REPLACE username AND password WITH YOUR GMAIL ACCOUNT TO TEST THIS FUNCTIONALITY LOCALLY!//host = "smtp.gmail.com";
//port = 587;
//username = "esw5574@gmail.com";
//password = "eshopworld";
//client.EnableSsl = true;