Dfs sınıfında Temel özelliklerin metotlar halinde sunulduğu yapı mevcuttur.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Emc.Documentum.FS.DataModel.Core.Context;
using Emc.Documentum.FS.Runtime.Context;
using Emc.Documentum.FS.Services.Core;
using Emc.Documentum.FS.DataModel.Core;
using Emc.Documentum.FS.DataModel.Core.Profiles;
using Emc.Documentum.FS.DataModel.Core.Properties;
using Emc.Documentum.FS.DataModel.Core.Content;
using System.IO;
namespace WindowsFormsApplication3
{
class Dfs
{
string m_RepositoryName;
string m_Username;
string m_Password;
public string Password
{
get { return m_Password; }
set { m_Password = value; }
}
public string Username
{
get {return m_Username;}
set { m_Username = value;}
}
public string Repository
{
get{ return m_RepositoryName; }
set{m_RepositoryName = value;}
}
/// <summary>
/// Create ServiceContext
/// </summary>
/// <param name="repository"></param>
/// <param name="userName"></param>
/// <param name="password"></param>
/// <returns></returns>
public IServiceContext createContext(String repository, String userName, String password)
{
//build context factory and an empty context
ContextFactory cf = ContextFactory.Instance;
IServiceContext context = cf.NewContext();
//create a repository ID and seed it with the login credentials
RepositoryIdentity repoIdent = new RepositoryIdentity(repository, userName, password, "");
//seed the IServiceContext with the Repository ID
context.AddIdentity(repoIdent);
ContentTransferProfile ctp = new ContentTransferProfile();
ctp.TransferMode = ContentTransferMode.UCF;
context.SetProfile(ctp);
return context;
}
/// <summary>
/// Register the IServiceContent
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
public IObjectService createObjectService(IServiceContext context)
{
//create a service factory and instantiate the IObjectService
ServiceFactory sf = ServiceFactory.Instance;
IObjectService objectService =
sf.GetRemoteService<IObjectService>(context);
return objectService;
}
public void createDocument(IObjectService objectService,String objName,String filePath)
{
//build object identity
ObjectIdentity docIdent = new ObjectIdentity();
docIdent.RepositoryName = Repository;
//build data object, seed with object identity
DataObject dataObj = new DataObject(docIdent, "dm_document");
dataObj.Contents.Add(new FileContent(filePath, "jpeg"));
Console.Out.WriteLine("Creating new PropertySet instance...");
//build property set
PropertySet propertySet = new PropertySet();
propertySet.Set("object_name", objName);
//seed data object with property set
dataObj.Properties = propertySet;
//build data package, seed with data object
DataPackage dataPack = new DataPackage(dataObj);
OperationOptions options = null;
//call the create method
objectService.Create(dataPack, options);
}
public void getDocumentIdFromPath(IObjectService objectService, string filePath)
{
ObjectPath docPath = new ObjectPath(filePath);
ObjectIdentity docIdentity = new ObjectIdentity(docPath, "doc_rep");
ObjectIdentitySet docSet = new ObjectIdentitySet();
docSet.AddIdentity(docIdentity);
PropertyProfile profProfile = new PropertyProfile();
profProfile.FilterMode = PropertyFilterMode.ALL_NON_SYSTEM;
ContentProfile contentProfile = new ContentProfile();
contentProfile.FormatFilter = FormatFilter.ANY;
OperationOptions options = new OperationOptions();
options.PropertyProfile = profProfile;
options.ContentProfile = contentProfile;
DataPackage returnPack = objectService.Get(docSet, options);
DataObject docObject = returnPack.DataObjects.ElementAt(0);
/*
FileContent content = (FileContent)docObject.Contents.ElementAt(0);
byte[] file = content.GetAsByteArray();
String fileFormat = content.Format;
*/
byte[] file = docObject.Contents.ElementAt(0).GetAsByteArray();
using (FileStream fs = File.Create(@"c:\getirilenDosya.doc"))
{
fs.Write(file, 0, file.Length);
}
}
}
}
Implementasyon sınıfı olarak bir form uygulamasında butona tıklanıldığında dosya ekleyen ve verilen path'teki dosyayı bilgisayara kaydeden uygulama yapılmıştırusing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Emc.Documentum.FS.DataModel.Core.Query;
using Emc.Documentum.FS.DataModel.Core;
using Emc.Documentum.FS.Services.Core;
using Emc.Documentum.FS.Runtime.Context;
using Emc.Documentum.FS.Services.Search;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
Dfs dfs = new Dfs();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
dfs.Repository = "documentumRepository";
dfs.Username = "username";
dfs.Password = "password";
IServiceContext objServiceContext= dfs.createContext(dfs.Repository, dfs.Username, dfs.Password);
IObjectService objService= dfs.createObjectService(objServiceContext);
//Bilgisayardan alınan dosyanın documentuma atılması
String filePath = "C:\\test_picture.jpeg";
dfs.createDocument(objService, "DosyaAdi",filePath);
//Documentumda Path'i verilen dosyanın bilgilerini bilgisayarda belirttiğimiz yere aktarıyor.
dfs.getDocumentIdFromPath(objService, "/dmadmin/mstDocument");
}
}
}
Hiç yorum yok:
Yorum Gönder