EnVisageOnline/Main/Source/TimeTracker/WebSites/TimeTracker1/App_Code/DAL/DataAcess.cs

155 lines
8.1 KiB
C#

using System;
using System.Configuration;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using ASPNET.StarterKit.BusinessLogicLayer;
using System.Web.Security;
namespace ASPNET.StarterKit.DataAccessLayer {
public abstract class DataAccess {
/*** PROPERTIES ***/
protected string ConnectionString {
get {
if (ConfigurationManager.ConnectionStrings["aspnet_staterKits_TimeTracker"] == null)
throw (new NullReferenceException("ConnectionString configuration is missing from you web.config. It should contain <connectionStrings> <add key=\"aspnet_staterKits_TimeTracker\" value=\"Server=(local);Integrated Security=True;Database=Issue_Tracker\" </connectionStrings>"));
string connectionString = ConfigurationManager.ConnectionStrings["aspnet_staterKits_TimeTracker"].ConnectionString;
if (String.IsNullOrEmpty(connectionString))
throw (new NullReferenceException("ConnectionString configuration is missing from you web.config. It should contain <connectionStrings> <add key=\"aspnet_staterKits_TimeTracker\" value=\"Server=(local);Integrated Security=True;Database=Issue_Tracker\" </connectionStrings>"));
else
return (connectionString);
}
}
protected string PrevuConnectionString
{
get
{
if (ConfigurationManager.ConnectionStrings["Prevu"] == null)
throw (new NullReferenceException("ConnectionString configuration is missing from you web.config. It should contain <connectionStrings> <add key=\"Prevu\" value=\"Server=(local);Integrated Security=True;Database=Prevu\" </connectionStrings>"));
string connectionString = ConfigurationManager.ConnectionStrings["Prevu"].ConnectionString;
if (String.IsNullOrEmpty(connectionString))
throw (new NullReferenceException("ConnectionString configuration is missing from you web.config. It should contain <connectionStrings> <add key=\"Prevu\" value=\"Server=(local);Integrated Security=True;Database=Prevu\" </connectionStrings>"));
else
return (connectionString);
}
}
/*** METHODS ***/
//Category
public abstract int CreateNewCategory(Category newCategory);
public abstract bool DeleteCategory(int categoryId);
public abstract List<Category> GetAllCategories();
public abstract Category GetCategoryByCategoryId(int Id);
public abstract List<Category> GetCategoriesByProjectId(int projectId);
public abstract Category GetCategoryByCategoryNameandProjectId(string categoryName, int projectId);
public abstract bool UpdateCategory(Category newCategory);
//TimeEntry
public abstract int CreateNewTimeEntry(TimeEntry newTimeEntry);
public abstract bool DeleteTimeEntry(int timeEntryId);
public abstract List<TimeEntry> GetAllTimeEntries();
public abstract List<TimeEntry> GetTimeEntries(int projectId, string userName);
public abstract List<TimeEntry> GetTimeEntries( string userName,DateTime WeekStart);
public abstract List<DaysInPeriod> GetWeekEndingForStartDate(DateTime Start);
public abstract TimeEntry GetTimeEntryById(int timeEntryId);
public abstract List<TimeEntry> GetTimeEntriesByUserNameAndDates(string userName,
DateTime startingDate, DateTime endDate);
public abstract List<TimeEntry> GetTimeEntriesByUserNameForDuration(string userName,
DateTime startingDate);
public abstract List<WeekEnding> GetWeekEndingDates(string userName);
public abstract bool UpdateTimeEntry(TimeEntry timeEntry);
public abstract List<TimeEntry> GetAllUnSubmittedTimeEntries();
// Project
public abstract bool AddUserToProject(int projectId, string userName);
public abstract int CreateNewProject(Project newProject);
public abstract bool DeleteProject(int projectID);
public abstract List<Project> GetAllProjects();
public abstract List<Project> GetAllProjects(DateTime StartDate);
public abstract Project GetProjectById(int projectId, bool includeInactive);
public abstract Project GetProjectByNumber(string projectNbr, bool includeInactive);
public abstract Project GetProjectByName(string projectName,bool includeInactive);
public abstract List<Project> GetProjectsByManagerUserName(string userName);
public abstract List<string> GetProjectMembers(int Id);
public abstract List<Project> GetProjectsByUserName(string userName);
public abstract bool RemoveUserFromProject(int projectId, string userName);
public abstract bool UpdateProject(Project projectToUpdate);
//User report
public abstract List<UserReport> GetUserReportsByProjectId(int projectId);
public abstract List<UserReport> GetUserReportsByCategoryId(int categoryId);
// UserTotalDurationReport
public abstract List<UserTotalDurationReport> GetUserReportsByUserName(string userName);
// import data from 3rd party
public abstract List<ImportProject> ImportProjects();
public abstract bool CacheImportFile(string filename, string type, int size, byte[] image,string username);
// settings and profiles
public abstract List<Profiles> GetAllSettings();
public abstract bool UpdateSetting(string setting,string value,int settingId);
public abstract int AddSetting(Profiles p);
public abstract bool DeleteProfile(int id);
public abstract List<Profiles> GetAllSecurityLevels();
//load user info
public abstract MembershipAppUser GetUser(string username, bool userIsOnline);
public abstract MembershipAppUser GetUser(object providerUserKey, bool userIsOnline);
public abstract int updateUser(MembershipAppUser u);
public abstract bool RegisterUser(string UserName, string pwd, string salt, string question, string answer, bool isApproved,
DateTime CreateDate, int PwdFormat, Guid UserId);
public abstract bool ChangePassword(string username, string password, string passwordAnswer);
public abstract int CreateUser(MembershipAppUser u);
public abstract bool Delete(string username, bool deleteAllRelatedData);
public abstract List<MembershipAppUser> GetAllUsers(int PageSize, int PageIndex);
public abstract void UpdateFailureCount(string username, string type);
public abstract string GetUserByEmail(string email);
public abstract bool ResetPassword(string pwd);
public abstract bool UnlockUser(string userName);
public abstract bool ChangePasswordQuestionAndAnswer(string username, string newPasswordQuestion,
string newPasswordAnswer);
//team
public abstract bool DeleteTeam(int id);
public abstract int CreateNewTeam(Team t);
public abstract bool UpdateTeam(Team t);
public abstract bool AddUserToTeam(int TeamId, string userName, int role);
public abstract List<Team> GetAllTeams();
public abstract Team GetTeamById(int Id );
public abstract Team GetTeamByName(string name);
public abstract List<MembershipAppUser> GetTeamMembers(int id);
public abstract List<MembershipAppUser> GetTeamMembersByManager(string managerName);
public abstract List<Team> GetTeamsByManagerUserName(string username);
public abstract bool RemoveUserFromTeam(int ID, string UserName);
//AppUsers
public abstract List<AppUser> GetAllAppUsers();
public abstract AppUser GetAppUserByEmail(string email);
public abstract AppUser GetUserById(Guid userId);
public abstract AppUser GetUserByUserName(string userName);
public abstract bool UpdateAppUser(AppUser u,bool islocked);
public abstract bool UpdateAppUser(AppUser u);
public abstract Guid AddAppUser(AppUser u);
//page-control security profiles
public abstract ControlSecurity GetPageSecurity(string name);
}
}