1: namespace GetAttachment
2: {
3: public partial class Activity1 : SequenceActivity
4: {
5: public Activity1()
6: {
7: InitializeComponent();
8: }
9:
10: #region DependencyProperties
11:
12:
13: public static DependencyProperty ListIdProperty = DependencyProperty.Register("ListId", typeof(string), typeof(Activity1));
14:
15: [Category("Cross Site Actions"), Browsable(true)]
16: [DesignerSerializationVisibility
17: (DesignerSerializationVisibility.Visible)]
18: public string ListId
19: {
20: get
21: {
22: return ((string)(base.GetValue(Activity1.ListIdProperty)));
23: }
24: set
25: {
26: base.SetValue(Activity1.ListIdProperty, value);
27: }
28: }
29:
30: public static DependencyProperty ListItemProperty = DependencyProperty.Register("ListItem", typeof(Int32), typeof(Activity1));
31:
32: [Category("Cross Site Actions"), Browsable(true)]
33: [DesignerSerializationVisibility
34: (DesignerSerializationVisibility.Visible)]
35: public int ListItem
36: {
37: get
38: {
39: return ((int)(base.GetValue(Activity1.ListItemProperty)));
40: }
41: set
42: {
43: base.SetValue(Activity1.ListItemProperty, value);
44: }
45: }
46:
47: public static DependencyProperty DestinationListProperty = DependencyProperty.Register("DestinationList", typeof(string), typeof(Activity1));
48:
49: [Category("Cross Site Actions"), Browsable(true)]
50: [DesignerSerializationVisibility
51: (DesignerSerializationVisibility.Visible)]
52: public string DestinationList
53: {
54: get
55: {
56: return ((string)(base.GetValue(Activity1.DestinationListProperty)));
57: }
58: set
59: {
60: base.SetValue(Activity1.DestinationListProperty, value);
61: }
62: }
63:
66: public static DependencyProperty __ContextProperty = DependencyProperty.Register("__Context",
67: typeof(WorkflowContext),
70: ));
71: [ValidationOption(ValidationOption.Required)]
72: [Browsable(true)]
73: [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
74: public WorkflowContext __Context
75: {
76: get { return ((WorkflowContext)(base.GetValue(Activity1.__ContextProperty))); }
77: set { base.SetValue(Activity1.__ContextProperty, value); }
78: }
79:
80:
81: #endregion
82:
83: protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
84: {
85: string str = null;
86: using (SPSite oSPSite = new SPSite(__Context.Site.ID))
87: {
88: using (SPWeb oSPWeb = oSPSite.RootWeb)
89: {
90: SPList list = oSPWeb.Lists[new Guid(ListId)];
91: SPFile oFile = list.Items.GetItemById(ListItem).File;
92:
93: SPList oList = oSPWeb.Lists[new Guid(DestinationList)];
94:
95: SPListItemCollection listColl = oList.Items;
96: Guid oguid = new Guid();
97: foreach (SPListItem itm in listColl)
98: {
99: if (itm.Name == ListItem.ToString())
100: {
101: oguid = itm.UniqueId;
102: break;
103: }
104:
105: }
106: SPListItem oListItem = oList.Items[oguid];
107: SPAttachmentCollection collAttachments = oListItem.Attachments;
108:
109: string strFileName = oFile.Name;
110:
111: byte[] binFile = oFile.OpenBinary();
112: collAttachments.Add(strFileName, binFile);
113: oListItem.Update();
114:
115: }
116: }
117: Console.WriteLine(str);
118:
119: return ActivityExecutionStatus.Closed;
120: }
121: }
122: }