This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -53,7 +53,7 @@
|
||||
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
|
||||
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
|
||||
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
|
||||
"AYANOVA_SERVER_TEST_MODE": "true",
|
||||
"AYANOVA_SERVER_TEST_MODE": "false",
|
||||
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
|
||||
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
|
||||
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"
|
||||
|
||||
@@ -291,32 +291,56 @@ namespace AyaNova.Api.Controllers
|
||||
//Recent workorders
|
||||
//arbitrarily returning last 3 work orders to account for one of them being the current active work order and not wanting to try to filter in closed status workorders for reasons
|
||||
//limiting to three because there is already an all workorders option from unit itself if they are really researching the history and it's about three clicks away from this info
|
||||
|
||||
List<RecentWorkOrder> RecentWorkOrders = new List<RecentWorkOrder>();
|
||||
var lastWoItemIds = await ct.WorkOrderItemUnit.AsNoTracking().Where(z => z.UnitId == id).OrderByDescending(z => z.Id).Take(3).Select(z => z.WorkOrderItemId).ToListAsync();
|
||||
foreach (long woitemid in lastWoItemIds)
|
||||
|
||||
//List<RecentWorkOrder> RecentWorkOrders = new List<RecentWorkOrder>();
|
||||
|
||||
string q = "select distinct(aworkorder.serial), aworkorder.id, aworkorder.servicedate from aworkorder "
|
||||
+ "left join aworkorderitem on aworkorder.id=aworkorderitem.workorderid "
|
||||
+ "left join aworkorderitemunit on aworkorderitemunit.workorderitemid=aworkorderitem.id "
|
||||
+ $"where aworkorderitemunit.unitid={id} "
|
||||
+ "order by aworkorder.serial DESC "
|
||||
+ "limit 3";
|
||||
using (var cmd = ct.Database.GetDbConnection().CreateCommand())
|
||||
{
|
||||
var woid = await ct.WorkOrderItem.AsNoTracking().Where(x => x.Id == woitemid).OrderByDescending(x => x.WorkOrderId).Select(x => x.WorkOrderId).FirstOrDefaultAsync();
|
||||
ret.RecentWorkOrders.Add(
|
||||
await ct.WorkOrder.AsNoTracking().Where(x => x.Id == woid).Select(x => new RecentWorkOrder(x.Serial, x.Id, x.ServiceDate)).FirstOrDefaultAsync()
|
||||
);
|
||||
await ct.Database.OpenConnectionAsync();
|
||||
cmd.CommandText = q;
|
||||
using (var dr = await cmd.ExecuteReaderAsync())
|
||||
{
|
||||
while (dr.Read())
|
||||
{
|
||||
ret.RecentWorkOrders.Add(new RecentWorkOrder(dr.GetInt64(0), dr.GetInt64(1), dr.GetDateTime(2)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// var lastWoItemIds = await ct.WorkOrderItemUnit.AsNoTracking().Where(z => z.UnitId == id).OrderByDescending(z => z.Id).Take(10).Select(z => z.WorkOrderItemId).ToListAsync();
|
||||
// foreach (long woitemid in lastWoItemIds)
|
||||
// {
|
||||
// var woid = await ct.WorkOrderItem.AsNoTracking().Where(x => x.Id == woitemid).OrderByDescending(x => x.WorkOrderId).Select(x => x.WorkOrderId).FirstOrDefaultAsync();
|
||||
// ret.RecentWorkOrders.Add(
|
||||
// await ct.WorkOrder.AsNoTracking().Where(x => x.Id == woid).Select(x => new RecentWorkOrder(x.Serial, x.Id, x.ServiceDate)).FirstOrDefaultAsync()
|
||||
// );
|
||||
// }
|
||||
|
||||
return Ok(ApiOkResponse.Response(ret));
|
||||
}
|
||||
|
||||
internal record RecentWorkOrder(long? Serial, long? Id, DateTime? ServiceDate);
|
||||
public record RecentWorkOrder(long? Serial, long? Id, DateTime? ServiceDate);
|
||||
|
||||
internal class UnitServiceWarrantyInfo
|
||||
public class UnitServiceWarrantyInfo
|
||||
{
|
||||
internal List<RecentWorkOrder> RecentWorkOrders { get; set; }
|
||||
internal DateTime? PurchaseDate { get; set; }
|
||||
internal string PurchasedFromVendor { get; set; }
|
||||
internal long? PurchaseFromVendorId { get; set; }
|
||||
internal string PurchaseReceiptNumber { get; set; }
|
||||
internal bool LifeTimeWarranty { get; set; }
|
||||
internal DateTime? WarrantyExpiryDate { get; set; }
|
||||
internal string WarrantyTerms { get; set; }
|
||||
public UnitServiceWarrantyInfo()
|
||||
{
|
||||
RecentWorkOrders = new List<RecentWorkOrder>();
|
||||
}
|
||||
public List<RecentWorkOrder> RecentWorkOrders { get; set; }
|
||||
public DateTime? PurchaseDate { get; set; }
|
||||
public string PurchasedFromVendor { get; set; }
|
||||
public long? PurchaseFromVendorId { get; set; }
|
||||
public string PurchaseReceiptNumber { get; set; }
|
||||
public bool LifeTimeWarranty { get; set; }
|
||||
public DateTime? WarrantyExpiryDate { get; set; }
|
||||
public string WarrantyTerms { get; set; }
|
||||
}
|
||||
|
||||
}//eoc
|
||||
|
||||
Reference in New Issue
Block a user