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);
                    }
                }
            }
        }
Пример #2
0
 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;
                 }
             }
         }
     }
 }