This commit is contained in:
@@ -51,20 +51,36 @@ namespace rockfishCore.Controllers
|
|||||||
|
|
||||||
string LicenseKey = null;
|
string LicenseKey = null;
|
||||||
//check for a key for this dbid, first check licensed then check trial
|
//check for a key for this dbid, first check licensed then check trial
|
||||||
var PurchasedLicense = await ct.License.Where(z => z.DbId == FetchRequestDbId && z.Fetched == false).FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//NO! this is a bug, it causes older keys that weren't fetched to be sent over most recent keys that were fetched :(
|
||||||
|
//var PurchasedLicense = await ct.License.Where(z => z.DbId == FetchRequestDbId && z.Fetched == false).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
//Get the most recent licensed key for this dbid regardless if fetched or not, most recent is most recent and supersedes any other keys
|
||||||
|
var PurchasedLicense = await ct.License.OrderByDescending(z => z.Id).Where(z => z.DbId == FetchRequestDbId).FirstOrDefaultAsync();
|
||||||
if (PurchasedLicense != null)
|
if (PurchasedLicense != null)
|
||||||
{
|
{
|
||||||
LicenseKey = PurchasedLicense.Key;
|
//Found a recent purchased key, if not fetched then can be sent
|
||||||
PurchasedLicense.Fetched = true;
|
if (!PurchasedLicense.Fetched)
|
||||||
PurchasedLicense.DtFetched = DateUtil.NowAsEpoch();
|
{
|
||||||
await ct.SaveChangesAsync();
|
LicenseKey = PurchasedLicense.Key;
|
||||||
|
PurchasedLicense.Fetched = true;
|
||||||
|
PurchasedLicense.DtFetched = DateUtil.NowAsEpoch();
|
||||||
|
await ct.SaveChangesAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//is there an Approved UnFetched trial request for this DB ID?
|
//is there an Approved UnFetched trial request for this DB ID?
|
||||||
var req = await ct.TrialRequest.Where(z => z.DbId == FetchRequestDbId && z.DtFetched == null && z.Status == TrialRequest.TrialRequestStatus.Approved).FirstOrDefaultAsync();
|
//var req = await ct.TrialRequest.Where(z => z.DbId == FetchRequestDbId && z.DtFetched == null && z.Status == TrialRequest.TrialRequestStatus.Approved).FirstOrDefaultAsync();
|
||||||
if (req == null)
|
|
||||||
|
//only get most recent one if more than one
|
||||||
|
var req = await ct.TrialRequest.OrderByDescending(z => z.Id).Where(z => z.DbId == FetchRequestDbId && z.Status == TrialRequest.TrialRequestStatus.Approved).FirstOrDefaultAsync();
|
||||||
|
if (req == null || req.DtFetched != null)
|
||||||
{
|
{
|
||||||
|
//none found or at least the most recent one found has already been fetched
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
LicenseKey = req.Key;
|
LicenseKey = req.Key;
|
||||||
|
|||||||
Reference in New Issue
Block a user