// // 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; using System.Data; using DotNetNuke; namespace DotNetNuke.Modules.Survey { public abstract class DataProvider { // singleton reference to the instantiated object private static DataProvider objProvider = null; // constructor static DataProvider() { CreateProvider(); } // dynamically create provider private static void CreateProvider() { objProvider = ((DataProvider)(Framework.Reflection.CreateObject("data", "DotNetNuke.Modules.Survey", ""))); } // return the provider public static DataProvider Instance() { return objProvider; } // all core methods defined below public abstract IDataReader GetSurveys(int ModuleId); public abstract IDataReader GetSurvey(int SurveyID, int ModuleId); public abstract int AddSurvey(int ModuleId, string Question, int ViewOrder, string OptionType, int UserId); public abstract void UpdateSurvey(int SurveyId, string Question, int ViewOrder, string OptionType, int UserId, int ModuleId); public abstract void DeleteSurvey(int SurveyID, int ModuleId); public abstract IDataReader GetSurveyOptions(int SurveyId); public abstract int AddSurveyOption(int SurveyId, string OptionName, int ViewOrder, bool IsCorrect); public abstract void UpdateSurveyOption(int SurveyOptionId, string OptionName, int ViewOrder, bool IsCorrect); public abstract void DeleteSurveyOption(int SurveyOptionID); public abstract void AddSurveyResult(int SurveyOptionId, int UserId); } }