forked from DNNCommunity/DNN.Repository
-
Notifications
You must be signed in to change notification settings - Fork 2
/
DataProvider.cs
145 lines (123 loc) · 6.45 KB
/
DataProvider.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
//
// DotNetNuke® - http://www.dotnetnuke.com
// Copyright (c) 2002-2005
// by Perpetual Motion Interactive Systems Inc. ( http://www.perpetualmotion.ca )
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
// to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
using System.Web.Caching;
using System.Reflection;
using DotNetNuke;
using DotNetNuke.Framework.Providers;
using DotNetNuke.Common.Utilities;
namespace DotNetNuke.Modules.Repository
{
public abstract class DataProvider
{
#region "Shared/Static Methods"
// singleton reference to the instantiated object
private static DataProvider objProvider = null;
// constructor
static DataProvider()
{
CreateProvider();
}
// dynamically create provider
private static void CreateProvider()
{
objProvider = (DataProvider)DotNetNuke.Framework.Reflection.CreateObject("data", "DotNetNuke.Modules.Repository", "");
}
// return the provider
public static new DataProvider Instance()
{
return objProvider;
}
#endregion
#region "Repository"
// -- Retrieval functions
public abstract IDataReader GetRepositoryObjects(int ModuleId, string sFilter, string sSort, int Approved, string CategoryId, string Attributes, int RowCount);
public abstract IDataReader GetSingleRepositoryObject(int ItemId);
// -- Add/Update/Delete functions
public abstract int AddRepositoryObject(string UserName, int ModuleId, string Name, string Description, string Author, string AuthorEMail, string FileSize, string PreviewImage, string Image, string FileName,
int Approved, int ShowEMail, string Summary, string SecurityRoles);
public abstract void UpdateRepositoryObject(int ItemId, string UserName, string Name, string Description, string Author, string AuthorEMail, string FileSize, string PreviewImage, string Image, string FileName,
int Approved, int ShowEMail, string Summary, string SecurityRoles);
public abstract void DeleteRepositoryObject(int ItemID);
// -- Miscellaneous functions
public abstract void UpdateRepositoryClicks(int ItemId);
public abstract void UpdateRepositoryRating(int ObjectId, string rating);
public abstract void ApproveRepositoryObject(int itemid);
public abstract IDataReader GetRepositoryModules(int PortalId);
public abstract void ChangeRepositoryModuleDefId(int moduleId, int oldValue, int newValue);
public abstract void DeleteRepositoryModuleDefId(int moduleId);
#endregion
#region "RepositoryComments"
// -- Retrieval functions
public abstract IDataReader GetRepositoryComments(int ItemId, int moduleid);
public abstract IDataReader GetSingleRepositoryComment(int ItemId, int moduleid);
// -- Add/Update/Delete functions
public abstract int AddRepositoryComment(int ItemId, int moduleid, string UserName, string Comment);
public abstract void UpdateRepositoryComment(int ItemId, int moduleid, string UserName, string Comment);
public abstract void DeleteRepositoryComment(int ItemID, int moduleid);
#endregion
#region "RepositoryCategory"
// -- Retrieval functions
public abstract IDataReader GetRepositoryCategories(int ModuleId, int RootID);
public abstract IDataReader GetSingleRepositoryCategory(int ItemId);
// -- Add/Update/Delete functions
public abstract int AddRepositoryCategory(int ItemId, int ModuleId, string CategoryName, int Parent, int ViewOrder);
public abstract void UpdateRepositoryCategory(int ItemId, string CategoryName, int Parent, int ViewOrder);
public abstract void DeleteRepositoryCategory(int ItemID);
#endregion
#region "RepositoryAttributes"
// -- Retrieval functions
public abstract IDataReader GetRepositoryAttributes(int ModuleID);
public abstract IDataReader GetSingleRepositoryAttributes(int ItemID);
// -- Add/Update/Delete functions
public abstract int AddRepositoryAttributes(int moduleID, string attributeName);
public abstract void UpdateRepositoryAttributes(int itemID, int moduleID, string attributeName);
public abstract void DeleteRepositoryAttributes(int itemID);
#endregion
#region "RepositoryAttributeValues"
// -- Retrieval functions
public abstract IDataReader GetRepositoryAttributeValues(int AttributeID);
public abstract IDataReader GetSingleRepositoryAttributeValues(int itemID);
// -- Add/Update/Delete functions
public abstract int AddRepositoryAttributeValues(int attributeID, string valueName);
public abstract void UpdateRepositoryAttributeValues(int itemID, int attributeID, string valueName);
public abstract void DeleteRepositoryAttributeValues(int itemID);
#endregion
#region "RepositoryObjectCategories"
public abstract IDataReader GetRepositoryObjectCategories(int objectID);
public abstract IDataReader GetSingleRepositoryObjectCategories(int objectID, int categoryId);
public abstract int AddRepositoryObjectCategories(int objectID, int categoryID);
public abstract void UpdateRepositoryObjectCategories(int itemID, int objectID, int categoryID);
public abstract void DeleteRepositoryObjectCategories(int objectID);
#endregion
#region "RepositoryObjectValues"
public abstract IDataReader GetRepositoryObjectValues(int objectID);
public abstract IDataReader GetSingleRepositoryObjectValues(int objectID, int valueId);
public abstract int AddRepositoryObjectValues(int objectID, int valueID);
public abstract void UpdateRepositoryObjectValues(int itemID, int objectID, int valueID);
public abstract void DeleteRepositoryObjectValues(int objectID);
#endregion
}
}