From b7e770d5dc480aac1f0aefa2d1110a201ded60db Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 22 Apr 2020 18:57:24 +0000 Subject: [PATCH] --- .../Controllers/AttachmentController.cs | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/server/AyaNova/Controllers/AttachmentController.cs b/server/AyaNova/Controllers/AttachmentController.cs index 9d8cd75a..0ef9ffb6 100644 --- a/server/AyaNova/Controllers/AttachmentController.cs +++ b/server/AyaNova/Controllers/AttachmentController.cs @@ -76,7 +76,7 @@ namespace AyaNova.Api.Controllers if (!ModelState.IsValid) return BadRequest(new ApiErrorResponse(ModelState)); - var ret = await ct.FileAttachment.AsNoTracking().Where(m => m.AttachToObjectId == ayaId && m.AttachToObjectType == ayaType).OrderBy(m => m.DisplayFileName).Select(m => new { m.Id, m.ConcurrencyToken, m.ContentType, m.DisplayFileName, m.LastModified, m.Notes }).ToArrayAsync(); + var ret = await GetFileListForObjectAsync(ayaType, ayaId); return Ok(ApiOkResponse.Response(ret, true)); } @@ -99,8 +99,9 @@ namespace AyaNova.Api.Controllers if (!serverState.IsOpen) return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - var returnList = new List(); - + // var returnList = new List(); + object ret = null; + AyaTypeId attachToObject = null; try { if (!MultipartRequestHelper.IsMultipartContentType(Request.ContentType)) @@ -133,7 +134,7 @@ namespace AyaNova.Api.Controllers //Get type and id object from post paramters - AyaTypeId attachToObject = null; + if (!badRequest) { attachToObject = new AyaTypeId(AttachToObjectType, AttachToObjectId); @@ -195,11 +196,11 @@ namespace AyaNova.Api.Controllers foreach (UploadedFileInfo a in uploadFormData.UploadedFiles) { var v = await FileUtil.StoreFileAttachmentAsync(a.InitialUploadedPathName, a.MimeType, a.OriginalFileName, a.LastModified, attachToObject, Notes, ct); - returnList.Add(new NameIdItem() - { - Name = v.DisplayFileName, - Id = v.Id - }); + // returnList.Add(new NameIdItem() + // { + // Name = v.DisplayFileName, + // Id = v.Id + // }); //EVENT LOG await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, attachToObject.ObjectId, attachToObject.ObjectType, AyaEvent.AttachmentCreate, v.DisplayFileName), ct); @@ -211,6 +212,7 @@ namespace AyaNova.Api.Controllers } } + ret = await GetFileListForObjectAsync(attachToObject.ObjectType, attachToObject.ObjectId); } catch (InvalidDataException ex) { @@ -218,7 +220,7 @@ namespace AyaNova.Api.Controllers } //Return the list of attachment ids and filenames - return Ok(ApiOkResponse.Response(returnList, false)); + return Ok(ApiOkResponse.Response(ret, false)); } /// @@ -380,6 +382,10 @@ namespace AyaNova.Api.Controllers //////////////////////////////////////////////////////////////////////////////////// + async private Task GetFileListForObjectAsync(AyaType ayaType, long ayaId) + { + return await ct.FileAttachment.AsNoTracking().Where(m => m.AttachToObjectId == ayaId && m.AttachToObjectType == ayaType).OrderBy(m => m.DisplayFileName).Select(m => new { m.Id, m.ConcurrencyToken, m.ContentType, m.DisplayFileName, m.LastModified, m.Notes }).ToArrayAsync(); + } }//eoc }//eons