Storing batch ID when saving any images as well stop storing base64 in database
This commit is contained in:
parent
ba1e644fd8
commit
b77a5b16cd
@ -90,29 +90,35 @@ namespace Marco.Pms.Model.Mapper
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Document ToDocumentFromForumAttachmentDto(this ForumAttachmentDto AttachmentDto, string objectKey, string thumbS3Key, DateTime uploadedAt, Guid tenantId)
|
public static Document ToDocumentFromForumAttachmentDto(this ForumAttachmentDto AttachmentDto, string objectKey, string thumbS3Key, DateTime uploadedAt,
|
||||||
|
Guid tenantId, Guid batchId, Guid loggedInEmployeeId)
|
||||||
{
|
{
|
||||||
return new Document
|
return new Document
|
||||||
{
|
{
|
||||||
|
BatchId = batchId,
|
||||||
|
UploadedById = loggedInEmployeeId,
|
||||||
FileName = AttachmentDto.FileName,
|
FileName = AttachmentDto.FileName,
|
||||||
ContentType = AttachmentDto.ContentType,
|
ContentType = AttachmentDto.ContentType,
|
||||||
S3Key = objectKey,
|
S3Key = objectKey,
|
||||||
ThumbS3Key = thumbS3Key,
|
ThumbS3Key = thumbS3Key,
|
||||||
Base64Data = AttachmentDto.Base64Data,
|
//Base64Data = AttachmentDto.Base64Data,
|
||||||
FileSize = AttachmentDto.FileSize,
|
FileSize = AttachmentDto.FileSize,
|
||||||
UploadedAt = uploadedAt,
|
UploadedAt = uploadedAt,
|
||||||
TenantId = tenantId
|
TenantId = tenantId
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
public static Document ToDocumentFromUpdateAttachmentDto(this UpdateAttachmentDto AttachmentDto, string objectKey, string thumbS3Key, DateTime uploadedAt, Guid tenantId)
|
public static Document ToDocumentFromUpdateAttachmentDto(this UpdateAttachmentDto AttachmentDto, string objectKey, string thumbS3Key, DateTime uploadedAt,
|
||||||
|
Guid tenantId, Guid batchId, Guid loggedInEmployeeId)
|
||||||
{
|
{
|
||||||
return new Document
|
return new Document
|
||||||
{
|
{
|
||||||
|
BatchId = batchId,
|
||||||
|
UploadedById = loggedInEmployeeId,
|
||||||
FileName = AttachmentDto.FileName,
|
FileName = AttachmentDto.FileName,
|
||||||
ContentType = AttachmentDto.ContentType,
|
ContentType = AttachmentDto.ContentType,
|
||||||
S3Key = objectKey,
|
S3Key = objectKey,
|
||||||
ThumbS3Key = thumbS3Key,
|
ThumbS3Key = thumbS3Key,
|
||||||
Base64Data = AttachmentDto.Base64Data,
|
//Base64Data = AttachmentDto.Base64Data,
|
||||||
FileSize = AttachmentDto.FileSize,
|
FileSize = AttachmentDto.FileSize,
|
||||||
UploadedAt = uploadedAt,
|
UploadedAt = uploadedAt,
|
||||||
TenantId = tenantId
|
TenantId = tenantId
|
||||||
|
@ -603,7 +603,8 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
Guid tenantId = GetTenantId();
|
Guid tenantId = GetTenantId();
|
||||||
var currentEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
var batchId = Guid.NewGuid();
|
||||||
|
|
||||||
using var transaction = await _context.Database.BeginTransactionAsync();
|
using var transaction = await _context.Database.BeginTransactionAsync();
|
||||||
try
|
try
|
||||||
@ -704,10 +705,12 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
|
|
||||||
document = new Document
|
document = new Document
|
||||||
{
|
{
|
||||||
|
BatchId = batchId,
|
||||||
|
UploadedById = loggedInEmployee.Id,
|
||||||
FileName = recordAttendanceDot.Image.FileName ?? "",
|
FileName = recordAttendanceDot.Image.FileName ?? "",
|
||||||
ContentType = recordAttendanceDot.Image.ContentType,
|
ContentType = recordAttendanceDot.Image.ContentType,
|
||||||
S3Key = objectKey,
|
S3Key = objectKey,
|
||||||
Base64Data = recordAttendanceDot.Image.Base64Data,
|
//Base64Data = recordAttendanceDot.Image.Base64Data,
|
||||||
FileSize = recordAttendanceDot.Image.FileSize,
|
FileSize = recordAttendanceDot.Image.FileSize,
|
||||||
UploadedAt = recordAttendanceDot.Date,
|
UploadedAt = recordAttendanceDot.Date,
|
||||||
TenantId = tenantId
|
TenantId = tenantId
|
||||||
@ -728,7 +731,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
Longitude = recordAttendanceDot.Longitude,
|
Longitude = recordAttendanceDot.Longitude,
|
||||||
DocumentId = document?.Id,
|
DocumentId = document?.Id,
|
||||||
TenantId = tenantId,
|
TenantId = tenantId,
|
||||||
UpdatedBy = recordAttendanceDot.EmployeeID,
|
UpdatedBy = loggedInEmployee.Id,
|
||||||
UpdatedOn = recordAttendanceDot.Date
|
UpdatedOn = recordAttendanceDot.Date
|
||||||
};
|
};
|
||||||
_context.AttendanceLogs.Add(attendanceLog);
|
_context.AttendanceLogs.Add(attendanceLog);
|
||||||
@ -755,7 +758,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
|
|
||||||
var notification = new
|
var notification = new
|
||||||
{
|
{
|
||||||
LoggedInUserId = currentEmployee.Id,
|
LoggedInUserId = loggedInEmployee.Id,
|
||||||
Keyword = "Attendance",
|
Keyword = "Attendance",
|
||||||
Activity = recordAttendanceDot.Id == Guid.Empty ? 1 : 0,
|
Activity = recordAttendanceDot.Id == Guid.Empty ? 1 : 0,
|
||||||
ProjectId = attendance.ProjectID,
|
ProjectId = attendance.ProjectID,
|
||||||
|
@ -48,6 +48,8 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400));
|
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400));
|
||||||
}
|
}
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
var batchId = Guid.NewGuid();
|
||||||
TicketForum ticketForum = createTicketDto.ToTicketForumFromCreateTicketDto(tenantId);
|
TicketForum ticketForum = createTicketDto.ToTicketForumFromCreateTicketDto(tenantId);
|
||||||
_context.Tickets.Add(ticketForum);
|
_context.Tickets.Add(ticketForum);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
@ -79,7 +81,7 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
string objectKey = $"tenant-{tenantId}/project-{createTicketDto.LinkedProjectId}/froum/{fileName}";
|
string objectKey = $"tenant-{tenantId}/project-{createTicketDto.LinkedProjectId}/froum/{fileName}";
|
||||||
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
||||||
|
|
||||||
Document document = attachmentDto.ToDocumentFromForumAttachmentDto(objectKey, objectKey, createTicketDto.CreatedAt, tenantId);
|
Document document = attachmentDto.ToDocumentFromForumAttachmentDto(objectKey, objectKey, createTicketDto.CreatedAt, tenantId, batchId, loggedInEmployee.Id);
|
||||||
_context.Documents.Add(document);
|
_context.Documents.Add(document);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
@ -162,7 +164,15 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400));
|
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400));
|
||||||
}
|
}
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
var existingTicket = await _context.Tickets.Include(t => t.TicketTypeMaster).Include(t => t.TicketStatusMaster).Include(t => t.Priority).AsNoTracking().FirstOrDefaultAsync(t => t.Id == updateTicketDto.Id);
|
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
var batchId = Guid.NewGuid();
|
||||||
|
|
||||||
|
var existingTicket = await _context.Tickets
|
||||||
|
.Include(t => t.TicketTypeMaster)
|
||||||
|
.Include(t => t.TicketStatusMaster)
|
||||||
|
.Include(t => t.Priority)
|
||||||
|
.AsNoTracking()
|
||||||
|
.FirstOrDefaultAsync(t => t.Id == updateTicketDto.Id);
|
||||||
if (existingTicket != null)
|
if (existingTicket != null)
|
||||||
{
|
{
|
||||||
TicketForum ticketForum = updateTicketDto.ToTicketForumFromUpdateTicketDto(existingTicket);
|
TicketForum ticketForum = updateTicketDto.ToTicketForumFromUpdateTicketDto(existingTicket);
|
||||||
@ -202,7 +212,7 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
string objectKey = $"tenant-{tenantId}/project-{updateTicketDto.LinkedProjectId}/froum/{fileName}";
|
string objectKey = $"tenant-{tenantId}/project-{updateTicketDto.LinkedProjectId}/froum/{fileName}";
|
||||||
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
||||||
|
|
||||||
Document document = attachmentDto.ToDocumentFromUpdateAttachmentDto(objectKey, objectKey, updateTicketDto.CreatedAt, tenantId);
|
Document document = attachmentDto.ToDocumentFromUpdateAttachmentDto(objectKey, objectKey, updateTicketDto.CreatedAt, tenantId, batchId, loggedInEmployee.Id);
|
||||||
_context.Documents.Add(document);
|
_context.Documents.Add(document);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
@ -344,6 +354,9 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
var batchId = Guid.NewGuid();
|
||||||
|
|
||||||
List<TicketAttachment> attachments = new List<TicketAttachment>();
|
List<TicketAttachment> attachments = new List<TicketAttachment>();
|
||||||
List<Document> documents = new List<Document>();
|
List<Document> documents = new List<Document>();
|
||||||
|
|
||||||
@ -381,7 +394,7 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
string objectKey = $"tenant-{tenantId}/project-{ticket.LinkedProjectId}/froum/{fileName}";
|
string objectKey = $"tenant-{tenantId}/project-{ticket.LinkedProjectId}/froum/{fileName}";
|
||||||
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
||||||
|
|
||||||
Document document = attachmentDto.ToDocumentFromForumAttachmentDto(objectKey, objectKey, addCommentDto.SentAt, tenantId);
|
Document document = attachmentDto.ToDocumentFromForumAttachmentDto(objectKey, objectKey, addCommentDto.SentAt, tenantId, batchId, loggedInEmployee.Id);
|
||||||
_context.Documents.Add(document);
|
_context.Documents.Add(document);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
@ -429,6 +442,9 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
var batchId = Guid.NewGuid();
|
||||||
|
|
||||||
List<TicketAttachment> attachments = new List<TicketAttachment>();
|
List<TicketAttachment> attachments = new List<TicketAttachment>();
|
||||||
|
|
||||||
TicketForum? ticket = await _context.Tickets.FirstOrDefaultAsync(t => t.Id == updateCommentDto.TicketId);
|
TicketForum? ticket = await _context.Tickets.FirstOrDefaultAsync(t => t.Id == updateCommentDto.TicketId);
|
||||||
@ -473,7 +489,7 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
string objectKey = $"tenant-{tenantId}/project-{ticket.LinkedProjectId}/froum/{fileName}";
|
string objectKey = $"tenant-{tenantId}/project-{ticket.LinkedProjectId}/froum/{fileName}";
|
||||||
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
||||||
|
|
||||||
Document document = attachmentDto.ToDocumentFromUpdateAttachmentDto(objectKey, objectKey, existingComment.SentAt, tenantId);
|
Document document = attachmentDto.ToDocumentFromUpdateAttachmentDto(objectKey, objectKey, existingComment.SentAt, tenantId, batchId, loggedInEmployee.Id);
|
||||||
_context.Documents.Add(document);
|
_context.Documents.Add(document);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
@ -541,6 +557,9 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
var batchId = Guid.NewGuid();
|
||||||
|
|
||||||
List<TicketAttachmentVM> ticketAttachmentVMs = new List<TicketAttachmentVM>();
|
List<TicketAttachmentVM> ticketAttachmentVMs = new List<TicketAttachmentVM>();
|
||||||
|
|
||||||
List<Guid> ticketIds = forumAttachmentDtos.Select(f => f.TicketId.HasValue ? f.TicketId.Value : Guid.Empty).ToList();
|
List<Guid> ticketIds = forumAttachmentDtos.Select(f => f.TicketId.HasValue ? f.TicketId.Value : Guid.Empty).ToList();
|
||||||
@ -579,7 +598,7 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
string objectKey = $"tenant-{tenantId}/project-{ticket?.LinkedProjectId}/froum/{fileName}";
|
string objectKey = $"tenant-{tenantId}/project-{ticket?.LinkedProjectId}/froum/{fileName}";
|
||||||
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
await _s3Service.UploadFileAsync(base64, fileType, objectKey);
|
||||||
|
|
||||||
Document document = forumAttachmentDto.ToDocumentFromForumAttachmentDto(objectKey, objectKey, forumAttachmentDto.SentAt, tenantId);
|
Document document = forumAttachmentDto.ToDocumentFromForumAttachmentDto(objectKey, objectKey, forumAttachmentDto.SentAt, tenantId, batchId, loggedInEmployee.Id);
|
||||||
_context.Documents.Add(document);
|
_context.Documents.Add(document);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
@ -204,6 +204,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
|
|
||||||
var building = await _context.Buildings
|
var building = await _context.Buildings
|
||||||
.FirstOrDefaultAsync(b => b.Id == buildingId);
|
.FirstOrDefaultAsync(b => b.Id == buildingId);
|
||||||
|
var batchId = Guid.NewGuid();
|
||||||
|
|
||||||
foreach (var image in reportTask.Images)
|
foreach (var image in reportTask.Images)
|
||||||
{
|
{
|
||||||
@ -225,10 +226,12 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
|
|
||||||
var document = new Document
|
var document = new Document
|
||||||
{
|
{
|
||||||
|
BatchId = batchId,
|
||||||
|
UploadedById = loggedInEmployee.Id,
|
||||||
FileName = image.FileName ?? "",
|
FileName = image.FileName ?? "",
|
||||||
ContentType = image.ContentType ?? "",
|
ContentType = image.ContentType ?? "",
|
||||||
S3Key = objectKey,
|
S3Key = objectKey,
|
||||||
Base64Data = image.Base64Data,
|
//Base64Data = image.Base64Data,
|
||||||
FileSize = image.FileSize,
|
FileSize = image.FileSize,
|
||||||
UploadedAt = DateTime.UtcNow,
|
UploadedAt = DateTime.UtcNow,
|
||||||
TenantId = tenantId
|
TenantId = tenantId
|
||||||
@ -265,7 +268,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
_logger.LogInfo("AddCommentForTask called for TaskAllocationId: {TaskId}", createComment.TaskAllocationId);
|
_logger.LogInfo("AddCommentForTask called for TaskAllocationId: {TaskId}", createComment.TaskAllocationId);
|
||||||
|
|
||||||
var tenantId = GetTenantId();
|
var tenantId = GetTenantId();
|
||||||
var employee = await _userHelper.GetCurrentEmployeeAsync();
|
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
|
||||||
// Validate Task Allocation and associated WorkItem
|
// Validate Task Allocation and associated WorkItem
|
||||||
var taskAllocation = await _context.TaskAllocations
|
var taskAllocation = await _context.TaskAllocations
|
||||||
@ -287,13 +290,14 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
var building = await _context.Buildings.FirstOrDefaultAsync(b => b.Id == buildingId);
|
var building = await _context.Buildings.FirstOrDefaultAsync(b => b.Id == buildingId);
|
||||||
|
|
||||||
// Save comment
|
// Save comment
|
||||||
var comment = createComment.ToCommentFromCommentDto(tenantId, employee.Id);
|
var comment = createComment.ToCommentFromCommentDto(tenantId, loggedInEmployee.Id);
|
||||||
_context.TaskComments.Add(comment);
|
_context.TaskComments.Add(comment);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
_logger.LogInfo("Comment saved with Id: {CommentId}", comment.Id);
|
_logger.LogInfo("Comment saved with Id: {CommentId}", comment.Id);
|
||||||
|
|
||||||
// Process image uploads
|
// Process image uploads
|
||||||
var images = createComment.Images;
|
var images = createComment.Images;
|
||||||
|
var batchId = Guid.NewGuid();
|
||||||
|
|
||||||
if (images != null && images.Any())
|
if (images != null && images.Any())
|
||||||
{
|
{
|
||||||
@ -319,10 +323,12 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
|
|
||||||
var document = new Document
|
var document = new Document
|
||||||
{
|
{
|
||||||
|
BatchId = batchId,
|
||||||
|
UploadedById = loggedInEmployee.Id,
|
||||||
FileName = image.FileName ?? string.Empty,
|
FileName = image.FileName ?? string.Empty,
|
||||||
ContentType = image.ContentType ?? fileType,
|
ContentType = image.ContentType ?? fileType,
|
||||||
S3Key = objectKey,
|
S3Key = objectKey,
|
||||||
Base64Data = image.Base64Data,
|
//Base64Data = image.Base64Data,
|
||||||
FileSize = image.FileSize,
|
FileSize = image.FileSize,
|
||||||
UploadedAt = DateTime.UtcNow,
|
UploadedAt = DateTime.UtcNow,
|
||||||
TenantId = tenantId
|
TenantId = tenantId
|
||||||
@ -731,6 +737,8 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
var building = await _context.Buildings
|
var building = await _context.Buildings
|
||||||
.FirstOrDefaultAsync(b => b.Id == buildingId);
|
.FirstOrDefaultAsync(b => b.Id == buildingId);
|
||||||
|
|
||||||
|
var batchId = Guid.NewGuid();
|
||||||
|
|
||||||
foreach (var image in approveTask.Images)
|
foreach (var image in approveTask.Images)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(image.Base64Data))
|
if (string.IsNullOrEmpty(image.Base64Data))
|
||||||
@ -749,10 +757,12 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
|
|
||||||
var document = new Document
|
var document = new Document
|
||||||
{
|
{
|
||||||
|
BatchId = batchId,
|
||||||
|
UploadedById = loggedInEmployee.Id,
|
||||||
FileName = fileName,
|
FileName = fileName,
|
||||||
ContentType = image.ContentType ?? string.Empty,
|
ContentType = image.ContentType ?? string.Empty,
|
||||||
S3Key = objectKey,
|
S3Key = objectKey,
|
||||||
Base64Data = image.Base64Data,
|
//Base64Data = image.Base64Data,
|
||||||
FileSize = image.FileSize,
|
FileSize = image.FileSize,
|
||||||
UploadedAt = DateTime.UtcNow,
|
UploadedAt = DateTime.UtcNow,
|
||||||
TenantId = tenantId
|
TenantId = tenantId
|
||||||
|
Loading…
x
Reference in New Issue
Block a user