diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index 7e8a0a41..c1f60bbf 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -935,6 +935,7 @@ namespace AyaNova.Biz .Include(wi => wi.Tasks) .Include(wi => wi.Travels) .Include(wi => wi.Units) + .Include(wi => wi.OutsideServices) .SingleOrDefaultAsync(z => z.Id == id); if (logTheGetEvent && ret != null) await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItem, AyaEvent.Retrieved), ct); @@ -1012,6 +1013,7 @@ namespace AyaNova.Biz var TaskIds = await ct.WorkOrderItemTask.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync(); var TravelIds = await ct.WorkOrderItemTravel.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync(); var UnitIds = await ct.WorkOrderItemUnit.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync(); + var OutsideServiceIds = await ct.WorkOrderItemOutsideService.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync(); //Delete children foreach (long ItemId in ExpenseIds) @@ -1041,6 +1043,9 @@ namespace AyaNova.Biz foreach (long ItemId in UnitIds) if (!await UnitDeleteAsync(ItemId, transaction)) return false; + foreach (long ItemId in UnitIds) + if (!await OutsideServiceDeleteAsync(ItemId, transaction)) + return false; ct.WorkOrderItem.Remove(dbObject); await ct.SaveChangesAsync(); diff --git a/server/AyaNova/models/WorkOrderItemOutsideService.cs b/server/AyaNova/models/WorkOrderItemOutsideService.cs index 07c9d387..156defdf 100644 --- a/server/AyaNova/models/WorkOrderItemOutsideService.cs +++ b/server/AyaNova/models/WorkOrderItemOutsideService.cs @@ -13,7 +13,7 @@ namespace AyaNova.Models public uint Concurrency { get; set; } public string Notes { get; set; } - public long? UnitId { get; set; } + public long UnitId { get; set; } public long? VendorSentToId { get; set; } public long? VendorSentViaId { get; set; } public string RMANumber { get; set; } diff --git a/server/AyaNova/util/AySchema.cs b/server/AyaNova/util/AySchema.cs index af6ef253..9405132d 100644 --- a/server/AyaNova/util/AySchema.cs +++ b/server/AyaNova/util/AySchema.cs @@ -833,7 +833,7 @@ $BODY$ LANGUAGE PLPGSQL STABLE"); //WORKORDERITEM OUTSIDE SERVICE await ExecQueryAsync("CREATE TABLE aworkorderitemoutsideservice (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " - + "notes TEXT, unitid BIGINT REFERENCES aunit, vendorsenttoid BIGINT REFERENCES avendor, vendorsentviaid BIGINT REFERENCES avendor, rmanumber text, trackingnumber text, " + + "notes TEXT, unitid BIGINT NOT NULL REFERENCES aunit, vendorsenttoid BIGINT REFERENCES avendor, vendorsentviaid BIGINT REFERENCES avendor, rmanumber text, trackingnumber text, " + "repaircost DECIMAL(38,18) NOT NULL default 0, shippingcost DECIMAL(38,18) NOT NULL default 0, shippingprice DECIMAL(38,18) NOT NULL default 0, " + "SentDate TIMESTAMP, etadate TIMESTAMP, returndate TIMESTAMP" + ")");