case 4477

This commit is contained in:
2023-03-08 21:23:16 +00:00
parent bf1b78ebe9
commit 93dd8f5e49
5 changed files with 65 additions and 10 deletions

View File

@@ -402,17 +402,19 @@ namespace AyaNova.Biz
}
//Too slow and complex for EF Core
using (var command = ct.Database.GetDbConnection().CreateCommand())
{
await ct.Database.OpenConnectionAsync();
//Most recent workorder of any status
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";
SERVICEDATE AS LASTWORKORDERSERVICEDATE
FROM AWORKORDER
WHERE AWORKORDER.CUSTOMERID = {o.Id}
ORDER BY AWORKORDER.ID DESC
LIMIT 1";
using (var dr = await command.ExecuteReaderAsync())
if (await dr.ReadAsync())
{
@@ -420,6 +422,25 @@ namespace AyaNova.Biz
o.LastServiceDateViz = dr.GetDateTime(1);
}
//Most recent workorder of Completed=true status
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.LastWorkOrderCompletedViz = dr.GetInt64(0);
o.LastServiceDateCompletedViz = dr.GetDateTime(1);
}
await ct.Database.CloseConnectionAsync();
}
}

View File

@@ -384,6 +384,25 @@ namespace AyaNova.Biz
using (var command = ct.Database.GetDbConnection().CreateCommand())
{
await ct.Database.OpenConnectionAsync();
//Most recent workorder of any status
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
SERVICEDATE AS LASTWORKORDERSERVICEDATE
FROM AWORKORDER
LEFT JOIN AWORKORDERITEM ON AWORKORDER.ID = AWORKORDERITEM.WORKORDERID
LEFT JOIN AWORKORDERITEMUNIT ON AWORKORDERITEM.ID = AWORKORDERITEMUNIT.WORKORDERITEMID
WHERE AWORKORDERITEMUNIT.UNITID = {o.Id}
ORDER BY AWORKORDER.ID DESC
LIMIT 1";
using (var dr = await command.ExecuteReaderAsync())
if (await dr.ReadAsync())
{
o.LastWorkOrderViz = dr.GetInt64(0);
o.LastServiceDateViz = dr.GetDateTime(1);
}
//Most recent workorder of Completed=true status
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
SERVICEDATE AS LASTWORKORDERSERVICEDATE
FROM AWORKORDER
@@ -397,10 +416,11 @@ namespace AyaNova.Biz
using (var dr = await command.ExecuteReaderAsync())
if (await dr.ReadAsync())
{
o.LastWorkOrderViz = dr.GetInt64(0);
o.LastServiceDateViz = dr.GetDateTime(1);
o.LastWorkOrderCompletedViz = dr.GetInt64(0);
o.LastServiceDateCompletedViz = dr.GetDateTime(1);
}
await ct.Database.CloseConnectionAsync();
}

View File

@@ -43,7 +43,11 @@ namespace AyaNova.Models
[NotMapped]
public long? LastWorkOrderViz { get; set; }
[NotMapped]
public long? LastWorkOrderCompletedViz { get; set; }
[NotMapped]
public DateTime? LastServiceDateViz { get; set; }
[NotMapped]
public DateTime? LastServiceDateCompletedViz { get; set; }
public string Phone1 { get; set; }
public string Phone2 { get; set; }
public string Phone3 { get; set; }

View File

@@ -62,7 +62,11 @@ namespace AyaNova.Models
[NotMapped]
public long? LastWorkOrderViz { get; set; }
[NotMapped]
public long? LastWorkOrderCompletedViz { get; set; }
[NotMapped]
public DateTime? LastServiceDateViz { get; set; }
[NotMapped]
public DateTime? LastServiceDateCompletedViz { get; set; }
[NotMapped]
public string LastMeterNotesViz { get; set; }
@@ -76,7 +80,7 @@ namespace AyaNova.Models
public string Address { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string Country { get; set; }
public string Country { get; set; }
public string AddressPostal { get; set; }
public decimal? Latitude { get; set; }
public decimal? Longitude { get; set; }