This commit is contained in:
2020-04-22 14:41:57 +00:00
parent c9ec48fa8a
commit 2cbb977d38
5 changed files with 15 additions and 14 deletions

View File

@@ -221,7 +221,7 @@ namespace AyaNova.Api.Controllers
{ {
foreach (UploadedFileInfo a in uploadFormData.UploadedFiles) foreach (UploadedFileInfo a in uploadFormData.UploadedFiles)
{ {
var v = await FileUtil.StoreFileAttachmentAsync(a.InitialUploadedPathName, a.MimeType, a.OriginalFileName, attachToObject, ct); var v = await FileUtil.StoreFileAttachmentAsync(a.InitialUploadedPathName, a.MimeType, a.OriginalFileName, a.LastModified, attachToObject, ct);
returnList.Add(new NameIdItem() returnList.Add(new NameIdItem()
{ {
Name = v.DisplayFileName, Name = v.DisplayFileName,

View File

@@ -1,3 +1,4 @@
using System;
using AyaNova.Biz; using AyaNova.Biz;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
@@ -8,8 +9,8 @@ namespace AyaNova.Models
{ {
public long Id { get; set; } public long Id { get; set; }
public uint ConcurrencyToken { get; set; } public uint ConcurrencyToken { get; set; }
//----------------------------------------- //-----------------------------------------
[Required] [Required]
public long AttachToObjectId { get; set; } public long AttachToObjectId { get; set; }
@@ -21,7 +22,8 @@ namespace AyaNova.Models
public string DisplayFileName { get; set; } public string DisplayFileName { get; set; }
[Required] [Required]
public string ContentType { get; set; }//mime type public string ContentType { get; set; }//mime type
[Required]
public DateTime LastModified { get; set; }
public string Notes { get; set; } public string Notes { get; set; }
} }
} }

View File

@@ -1,3 +1,4 @@
using System;
namespace AyaNova.Models namespace AyaNova.Models
{ {
@@ -9,6 +10,7 @@ namespace AyaNova.Models
public string InitialUploadedPathName { get; set; } public string InitialUploadedPathName { get; set; }
public string OriginalFileName { get; set; } public string OriginalFileName { get; set; }
public string MimeType { get; set; } public string MimeType { get; set; }
public DateTime LastModified {get;set;}
} }
} }

View File

@@ -22,7 +22,7 @@ namespace AyaNova.Util
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!! //!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
private const int DESIRED_SCHEMA_LEVEL = 10; private const int DESIRED_SCHEMA_LEVEL = 10;
internal const long EXPECTED_COLUMN_COUNT = 103; internal const long EXPECTED_COLUMN_COUNT = 104;
internal const long EXPECTED_INDEX_COUNT = 31; internal const long EXPECTED_INDEX_COUNT = 31;
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!! //!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
@@ -236,7 +236,7 @@ namespace AyaNova.Util
await ExecQueryAsync("CREATE TABLE afileattachment (id BIGSERIAL PRIMARY KEY, " + await ExecQueryAsync("CREATE TABLE afileattachment (id BIGSERIAL PRIMARY KEY, " +
"attachtoobjectid bigint not null, attachtoobjecttype integer not null, " + "attachtoobjectid bigint not null, attachtoobjecttype integer not null, " +
"storedfilename text not null, displayfilename text not null, contenttype text, notes text)"); "storedfilename text not null, displayfilename text not null, contenttype text, lastmodified timestamp not null, notes text)");
//index required for ops that need to check if file already in db (delete, count refs etc) //index required for ops that need to check if file already in db (delete, count refs etc)
//LOOKAT: isn't this useless without the ID as well or is that not fetched? //LOOKAT: isn't this useless without the ID as well or is that not fetched?

View File

@@ -253,14 +253,10 @@ namespace AyaNova.Util
/// <summary> /// <summary>
/// Store a file attachment /// Store a file attachment
/// </summary> /// </summary>
/// <param name="tempFilePath"></param>
/// <param name="contentType"></param>
/// <param name="fileName"></param>
/// <param name="attachToObject"></param>
/// <param name="ct"></param>
/// <returns></returns> /// <returns></returns>
internal static async Task<FileAttachment> StoreFileAttachmentAsync(string tempFilePath, string contentType, string fileName, AyaTypeId attachToObject, AyContext ct) internal static async Task<FileAttachment> StoreFileAttachmentAsync(string tempFilePath, string contentType, string fileName, DateTime lastModified,
AyaTypeId attachToObject, AyContext ct)
{ {
//calculate hash //calculate hash
var hash = FileHash.GetChecksum(tempFilePath); var hash = FileHash.GetChecksum(tempFilePath);
@@ -291,7 +287,8 @@ namespace AyaNova.Util
Notes = string.Empty, Notes = string.Empty,
ContentType = contentType, ContentType = contentType,
AttachToObjectId = attachToObject.ObjectId, AttachToObjectId = attachToObject.ObjectId,
AttachToObjectType = attachToObject.ObjectType AttachToObjectType = attachToObject.ObjectType,
LastModified=lastModified
}; };
//Store in DB //Store in DB