case 4388

This commit is contained in:
2023-01-24 23:01:13 +00:00
parent ca25d096ed
commit 184a58e8df
5 changed files with 38 additions and 27 deletions

View File

@@ -8,6 +8,17 @@ See the [upgrade instructions](ops-upgrade.md) section of this manual for detail
## 2023
### AyaNova 8.0.33 (2023-01-24)
#### Fixed
- Server, v8-migrate: Fix for issue preventing erasing database when Customer notification set to a custom translation
#### Changed
- Server: improved server error logging when unexpected exception prevents erasing database
- Server, UI: Quote, PM, WorkOrderItemXXX collections (labors, travels etc) now fetch and display in edit form in fixed order by "start" / "sent" / "request" dates if dated otherwise in order created
### AyaNova 8.0.32 (2023-01-10)
#### Changed

View File

@@ -7,7 +7,7 @@ theme:
site_name: AyaNova manual
site_dir: '../../../server/AyaNova/wwwroot/docs'
strict: true
copyright: Copyright © 2023 Ground Zero Tech-Works Inc. REV-2023-01-10
copyright: Copyright © 2023 Ground Zero Tech-Works Inc. REV-2023-01-24
extra:
generator: false
# Extensions

View File

@@ -169,23 +169,23 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
return await ct.PM.AsSplitQuery().AsNoTracking()
.Include(w => w.Items.OrderBy(item => item.Sequence))
.ThenInclude(wi => wi.Expenses)
.ThenInclude(wi => wi.Expenses.OrderBy(z => z.Id))
.Include(w => w.Items)
.ThenInclude(wi => wi.Labors)
.ThenInclude(wi => wi.Labors.OrderBy(l => l.ServiceStartDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Loans)
.ThenInclude(wi => wi.Loans.OrderBy(z => z.OutDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Parts)
.ThenInclude(wi => wi.Parts.OrderBy(z => z.Id))
.Include(w => w.Items)
.ThenInclude(wi => wi.ScheduledUsers)
.ThenInclude(wi => wi.ScheduledUsers.OrderBy(z => z.StartDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Tasks.OrderBy(t => t.Sequence))
.Include(w => w.Items)
.ThenInclude(wi => wi.Travels)
.ThenInclude(wi => wi.Travels.OrderBy(z => z.TravelStartDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Units)
.ThenInclude(wi => wi.Units.OrderBy(z => z.Id))
.Include(w => w.Items)
.ThenInclude(wi => wi.OutsideServices)
.ThenInclude(wi => wi.OutsideServices.OrderBy(z => z.SentDate))
.SingleOrDefaultAsync(z => z.Id == id);
}

View File

@@ -176,23 +176,23 @@ namespace AyaNova.Biz
return await ct.Quote.AsSplitQuery().AsNoTracking()
.Include(s => s.States.OrderBy(item => item.Id))
.Include(w => w.Items.OrderBy(item => item.Sequence))
.ThenInclude(wi => wi.Expenses)
.ThenInclude(wi => wi.Expenses.OrderBy(z => z.Id))
.Include(w => w.Items)
.ThenInclude(wi => wi.Labors)
.ThenInclude(wi => wi.Labors.OrderBy(l => l.ServiceStartDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Loans)
.ThenInclude(wi => wi.Loans.OrderBy(z => z.OutDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Parts)
.ThenInclude(wi => wi.Parts.OrderBy(z => z.Id))
.Include(w => w.Items)
.ThenInclude(wi => wi.ScheduledUsers)
.ThenInclude(wi => wi.ScheduledUsers.OrderBy(z => z.StartDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Tasks.OrderBy(t => t.Sequence))
.Include(w => w.Items)
.ThenInclude(wi => wi.Travels)
.ThenInclude(wi => wi.Travels.OrderBy(z => z.TravelStartDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Units)
.ThenInclude(wi => wi.Units.OrderBy(z => z.Id))
.Include(w => w.Items)
.ThenInclude(wi => wi.OutsideServices)
.ThenInclude(wi => wi.OutsideServices.OrderBy(z => z.SentDate))
.SingleOrDefaultAsync(z => z.Id == id);
}

View File

@@ -197,25 +197,25 @@ namespace AyaNova.Biz
return await ct.WorkOrder.AsSplitQuery().AsNoTracking()
.Include(s => s.States.OrderBy(item => item.Id))
.Include(w => w.Items.OrderBy(item => item.Sequence))
.ThenInclude(wi => wi.Expenses)
.ThenInclude(wi => wi.Expenses.OrderBy(z => z.Id))
.Include(w => w.Items)
.ThenInclude(wi => wi.Labors)
.ThenInclude(wi => wi.Labors.OrderBy(z => z.ServiceStartDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Loans)
.ThenInclude(wi => wi.Loans.OrderBy(z => z.OutDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Parts)
.ThenInclude(wi => wi.Parts.OrderBy(z => z.Id))
.Include(w => w.Items)
.ThenInclude(wi => wi.PartRequests)
.ThenInclude(wi => wi.PartRequests.OrderBy(z => z.RequestDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.ScheduledUsers)
.ThenInclude(wi => wi.ScheduledUsers.OrderBy(z => z.StartDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Tasks.OrderBy(t => t.Sequence))
.Include(w => w.Items)
.ThenInclude(wi => wi.Travels)
.ThenInclude(wi => wi.Travels.OrderBy(z => z.TravelStartDate))
.Include(w => w.Items)
.ThenInclude(wi => wi.Units)
.ThenInclude(wi => wi.Units.OrderBy(z => z.Id))
.Include(w => w.Items)
.ThenInclude(wi => wi.OutsideServices)
.ThenInclude(wi => wi.OutsideServices.OrderBy(z => z.SentDate))
.SingleOrDefaultAsync(z => z.Id == id);
}