/// <summary> /// Domain to data access converter for FileAttributes /// </summary> /// <param name="AuditDomainObject"></param> /// <param name="AuditRecord"></param> /// <returns></returns> public static Audit ConvertFileAttributes(AuditObject AuditDomainObject, Audit AuditRecord) { var recordsToDelete = new List<string>(); foreach (var attachmentObject in AuditDomainObject.AuditAttributes.Where(P => P.Value is FileAuditAttributeObject)) { var attachment = attachmentObject.Value as FileAuditAttributeObject; if (attachment != null) { var fileAttribute = new FileAttribute { Key = attachmentObject.Key, DateCreated = attachment.DateCreated == DateTime.MinValue ? DateTime.Now : attachment.DateCreated, DateDeleted = attachment.DateDeleted, DateUpdated = attachment.DateUpdated, FileName = attachment.Name, Extension = attachment.Extension, Value = attachment.Value }; AuditRecord.Attribute.Add(fileAttribute); } recordsToDelete.Add(attachmentObject.Key); } recordsToDelete.ForEach(I => AuditDomainObject.AuditAttributes.Remove(I)); return AuditRecord; }
/// <summary> /// Create a new FileAttribute object. /// </summary> /// <param name="id">Initial value of the Id property.</param> /// <param name="key">Initial value of the Key property.</param> /// <param name="dateCreated">Initial value of the DateCreated property.</param> /// <param name="value">Initial value of the Value property.</param> /// <param name="extension">Initial value of the Extension property.</param> /// <param name="fileName">Initial value of the FileName property.</param> public static FileAttribute CreateFileAttribute(global::System.Int32 id, global::System.String key, global::System.DateTime dateCreated, global::System.Byte[] value, global::System.String extension, global::System.String fileName) { FileAttribute fileAttribute = new FileAttribute(); fileAttribute.Id = id; fileAttribute.Key = key; fileAttribute.DateCreated = dateCreated; fileAttribute.Value = value; fileAttribute.Extension = extension; fileAttribute.FileName = fileName; return fileAttribute; }