This commit is contained in:
@@ -106,47 +106,7 @@ namespace AyaNova.Biz
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
//UPDATE
|
|
||||||
//this is how it was roughly
|
|
||||||
internal async Task<PartAssembly> PutAsync(PartAssembly putObject)
|
|
||||||
{
|
|
||||||
// PartAssembly dbObject = await ct.PartAssembly.SingleOrDefaultAsync(m => m.Id == putObject.Id);
|
|
||||||
PartAssembly dbObject = await GetAsync(putObject.Id, false);
|
|
||||||
if (dbObject == null)
|
|
||||||
{
|
|
||||||
AddError(ApiErrorCode.NOT_FOUND, "id");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
PartAssembly SnapshotOfOriginalDBObj = new PartAssembly();
|
|
||||||
CopyObject.Copy(dbObject, SnapshotOfOriginalDBObj);
|
|
||||||
CopyObject.Copy(putObject, dbObject, "Id");
|
|
||||||
dbObject.Tags = TagBiz.NormalizeTags(dbObject.Tags);
|
|
||||||
dbObject.CustomFields = JsonUtil.CompactJson(dbObject.CustomFields);
|
|
||||||
ct.Entry(dbObject).OriginalValues["Concurrency"] = putObject.Concurrency;
|
|
||||||
await ValidateAsync(dbObject, SnapshotOfOriginalDBObj);
|
|
||||||
if (HasErrors) return null;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
await ct.SaveChangesAsync();
|
|
||||||
}
|
|
||||||
catch (DbUpdateConcurrencyException)
|
|
||||||
{
|
|
||||||
if (!await ExistsAsync(putObject.Id))
|
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
|
||||||
else
|
|
||||||
AddError(ApiErrorCode.CONCURRENCY_CONFLICT);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObject.Id, BizType, AyaEvent.Modified), ct);
|
|
||||||
await SearchIndexAsync(dbObject, false);
|
|
||||||
await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, dbObject.Tags, SnapshotOfOriginalDBObj.Tags);
|
|
||||||
await HandlePotentialNotificationEvent(AyaEvent.Modified, dbObject, SnapshotOfOriginalDBObj);
|
|
||||||
return dbObject;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//UPDATE
|
//UPDATE
|
||||||
//
|
//
|
||||||
@@ -192,8 +152,7 @@ namespace AyaNova.Biz
|
|||||||
using (var transaction = await ct.Database.BeginTransactionAsync())
|
using (var transaction = await ct.Database.BeginTransactionAsync())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//PartAssembly dbObject = await ct.PartAssembly.SingleOrDefaultAsync(m => m.Id == id);
|
|
||||||
PartAssembly dbObject = await GetAsync(id, false);
|
PartAssembly dbObject = await GetAsync(id, false);
|
||||||
if (dbObject == null)
|
if (dbObject == null)
|
||||||
{
|
{
|
||||||
@@ -242,7 +201,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
|
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
|
||||||
{
|
{
|
||||||
var obj = await ct.PartAssembly.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await GetAsync(id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
DigestSearchText(obj, SearchParams);
|
DigestSearchText(obj, SearchParams);
|
||||||
return SearchParams;
|
return SearchParams;
|
||||||
@@ -324,7 +283,7 @@ namespace AyaNova.Biz
|
|||||||
var batch = idList.Take(IReportAbleObject.REPORT_DATA_BATCH_SIZE);
|
var batch = idList.Take(IReportAbleObject.REPORT_DATA_BATCH_SIZE);
|
||||||
idList = idList.Skip(IReportAbleObject.REPORT_DATA_BATCH_SIZE).ToArray();
|
idList = idList.Skip(IReportAbleObject.REPORT_DATA_BATCH_SIZE).ToArray();
|
||||||
//query for this batch, comes back in db natural order unfortunately
|
//query for this batch, comes back in db natural order unfortunately
|
||||||
var batchResults = await ct.PartAssembly.Where(z => batch.Contains(z.Id)).ToArrayAsync();
|
var batchResults = await ct.PartAssembly.AsNoTracking().Include(z=>z.Items).Where(z => batch.Contains(z.Id)).ToArrayAsync();
|
||||||
//order the results back into original
|
//order the results back into original
|
||||||
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
|
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
|
||||||
foreach (PartAssembly w in orderedList)
|
foreach (PartAssembly w in orderedList)
|
||||||
@@ -413,7 +372,7 @@ namespace AyaNova.Biz
|
|||||||
if (jobData.ContainsKey("idList"))
|
if (jobData.ContainsKey("idList"))
|
||||||
idList = ((JArray)jobData["idList"]).ToObject<List<long>>();
|
idList = ((JArray)jobData["idList"]).ToObject<List<long>>();
|
||||||
else
|
else
|
||||||
idList = await ct.PartAssembly.Select(z => z.Id).ToListAsync();
|
idList = await ct.PartAssembly.AsNoTracking().Select(z => z.Id).ToListAsync();
|
||||||
bool SaveIt = false;
|
bool SaveIt = false;
|
||||||
foreach (long id in idList)
|
foreach (long id in idList)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user