155 lines
8.1 KiB
C#
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);
|
|
|
|
}
|
|
}
|
|
|