case 3994

This commit is contained in:
2021-09-30 20:24:48 +00:00
parent 772a47842f
commit 18c9d2e7d4
11 changed files with 175 additions and 16 deletions

View File

@@ -373,6 +373,40 @@ namespace AyaNova.Biz
o.HeadOfficeViz = await ct.HeadOffice.AsNoTracking().Where(x => x.Id == o.HeadOfficeId).Select(x => x.Name).FirstOrDefaultAsync();
if (o.ContractId != null)
o.ContractViz = await ct.Contract.AsNoTracking().Where(x => x.Id == o.ContractId).Select(x => x.Name).FirstOrDefaultAsync();
/*
last completed work order stuff, way to complex to fetch via EF Core so dropping to raw sql
SELECT serial AS LASTWORKORDERSERIAL,
SERVICEDATE AS LASTWORKORDERSERVICEDATE,
AWORKORDER.ID AS LASTWORKORDERID
FROM AWORKORDER
LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID
WHERE AWORKORDERSTATUS.COMPLETED = TRUE
AND AWORKORDER.CUSTOMERID = ACUSTOMER.ID
ORDER BY AWORKORDER.ID DESC
LIMIT 1
*/
using (var command = ct.Database.GetDbConnection().CreateCommand())
{
await ct.Database.OpenConnectionAsync();
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
SERVICEDATE AS LASTWORKORDERSERVICEDATE
FROM AWORKORDER
LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID
WHERE AWORKORDERSTATUS.COMPLETED = TRUE
AND AWORKORDER.CUSTOMERID = {o.Id}
ORDER BY AWORKORDER.ID DESC
LIMIT 1";
using (var dr = await command.ExecuteReaderAsync())
if (await dr.ReadAsync())
{
o.LastCompletedWorkOrderViz = dr.GetInt64(0);
o.LastCompletedServiceDateViz = dr.GetDateTime(1);
}
await ct.Database.CloseConnectionAsync();
}
}

View File

@@ -308,6 +308,45 @@ namespace AyaNova.Biz
}
}
/*
last completed work order stuff, way to complex to fetch via EF Core so dropping to raw sql
SELECT serial AS LASTWORKORDERSERIAL,
SERVICEDATE AS LASTWORKORDERSERVICEDATE,
AWORKORDERITEMUNIT.UNITID AS LASTWORKORDERUNITID,
AWORKORDERITEMUNIT.ID AS LASTWORKORDERITEMUNITID
FROM AWORKORDER
LEFT JOIN AWORKORDERITEM ON AWORKORDER.ID = AWORKORDERITEM.WORKORDERID
LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID
LEFT JOIN AWORKORDERITEMUNIT ON AWORKORDERITEM.ID = AWORKORDERITEMUNIT.WORKORDERITEMID
WHERE AWORKORDERITEMUNIT.ID = AMAINUNIT.ID
AND AWORKORDERSTATUS.COMPLETED = TRUE
ORDER BY AWORKORDER.ID DESC
LIMIT 1
*/
using (var command = ct.Database.GetDbConnection().CreateCommand())
{
await ct.Database.OpenConnectionAsync();
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
SERVICEDATE AS LASTWORKORDERSERVICEDATE
FROM AWORKORDER
LEFT JOIN AWORKORDERITEM ON AWORKORDER.ID = AWORKORDERITEM.WORKORDERID
LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID
LEFT JOIN AWORKORDERITEMUNIT ON AWORKORDERITEM.ID = AWORKORDERITEMUNIT.WORKORDERITEMID
WHERE AWORKORDERITEMUNIT.ID = {o.Id}
AND AWORKORDERSTATUS.COMPLETED = TRUE
ORDER BY AWORKORDER.ID DESC
LIMIT 1";
using (var dr = await command.ExecuteReaderAsync())
if (await dr.ReadAsync())
{
o.LastCompletedWorkOrderViz = dr.GetInt64(0);
o.LastCompletedServiceDateViz = dr.GetDateTime(1);
}
await ct.Database.CloseConnectionAsync();
}
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -558,7 +597,7 @@ namespace AyaNova.Biz
}
}
}//Contract expiry event
}