protected void AddFiles(string[] fileNames) { foreach (var str in FilterFileNames(fileNames)) { using (var fileStream = new FileStream(str, FileMode.Open, FileAccess.Read, FileShare.Read)) { var member = View.ObjectTypeInfo.FindMember(View.ObjectTypeInfo.FindAttribute <FileAttachmentAttribute>( ).FileDataPropertyName); var @object = ObjectSpace.CreateObject <ArchivoAdjunto>( ); ArchivosAdjuntosController.SetupNewObject(@object, ObjectSpace, ( ListView )View); var fileData = member.GetValue(@object) as IFileData; if (fileData == null) { fileData = FileAttachmentsWindowsFormsModule.CreateFileData(ObjectSpace, member); member.SetValue(@object, fileData); } FileDataHelper.LoadFromStream(fileData, Path.GetFileName(str), fileStream, str); if (View.IsRoot) { ObjectSpace.CommitChanges( ); } (( ListView )View).CollectionSource.Add(@object); if (!View.IsRoot) { ObjectSpace.SetModified(@object); } } } }
public void FileSelected(string fileName) { if (!string.IsNullOrEmpty(fileName)) { base.Focus(); if (base.ContainsFocus) { using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read)) { if (this.FileData == null) { this.EditValue = this.OnCreateCustomFileDataObject(); this.IsModified = true; this.DoValidate(); } if (this.FileData != null) { FileDataHelper.LoadFromStream(this.FileData, Path.GetFileName(fileName), fileStream, fileName); this.UpdateEditValue(); this.IsModified = true; } } } } }