Beispiel #1
0
        public static void RemoveFromCourse(int userID, int courseID)
        {
            DatabaseCall dbc = new DatabaseCall("Users_Purge", DBCallType.Execute);

            dbc.AddParameter("@UserID", userID);
            dbc.AddParameter("@CourseID", courseID);
            dbc.Execute();
        }
        private void AddFile(string filename)
        {
            DatabaseCall dbc = new DatabaseCall("StudentAssignments_AddFile", DBCallType.Execute);

            dbc.AddParameter("@UserAssignmentID", _userAssignmentID);
            dbc.AddParameter("@FileName", filename);
            dbc.Execute();
        }
Beispiel #3
0
        public void ImportToCourse(int courseID, string importID)
        {
            DatabaseCall dbc = new DatabaseCall("Users_ImportToCourse", DBCallType.Execute);

            dbc.AddParameter("@UserID", _userID);
            dbc.AddParameter("@CourseID", courseID);
            dbc.AddParameter("@ImportID", importID);
            dbc.Execute();
        }
        public void ClearSubmissions()
        {
            DatabaseCall dbc = new DatabaseCall("StudentAssignments_ClearSubmissions", DBCallType.Execute);

            dbc.AddParameter("@UserID", _userID);
            dbc.AddParameter("@AssignmentID", _assignmentID);

            dbc.Execute();
        }
Beispiel #5
0
        public void AddResource(string name, string resourceValue)
        {
            DatabaseCall dbc = new DatabaseCall("Courses_AddResource", DBCallType.Execute);

            dbc.AddParameter("@CourseID", _courseID);
            dbc.AddParameter("@Name", name);
            dbc.AddParameter("@ResourceValue", resourceValue);
            dbc.Execute();
        }
Beispiel #6
0
        public static void SetRoleInCourse(int userID, int courseID, int roleID)
        {
            DatabaseCall dbc = new DatabaseCall("Roles_UpdateRoleInCourse", DBCallType.Execute);

            dbc.AddParameter("@UserID", userID);
            dbc.AddParameter("@CourseID", courseID);
            dbc.AddParameter("@RoleID", roleID);
            dbc.Execute();
        }
Beispiel #7
0
        internal void AddToCourse(int courseID, PermissionsID roleID)
        {
            DatabaseCall dbc = new DatabaseCall("Users_AddToCourse", DBCallType.Execute);

            dbc.AddParameter("@UserID", _userID);
            dbc.AddParameter("@CourseID", courseID);
            dbc.AddParameter("RoleID", (int)roleID);
            dbc.Execute();
        }
        public static AssignmentList GetStudentAssignmentListForCourse(int userID, int CourseID)
        {
            //****

            DatabaseCall   dbc        = new DatabaseCall("Courses_GetStudentAssignmentList", DBCallType.Select);
            AssignmentList assignList = new AssignmentList();

            dbc.AddParameter("@UserID", userID);
            dbc.AddParameter("@CourseID", CourseID);

            dbc.Fill(assignList.assignmentDS);
            return(assignList);
        }
Beispiel #9
0
        public void DeleteResource(int resourceID)
        {
            DatabaseCall dbc = new DatabaseCall("Courses_DeleteResource", DBCallType.Execute);

            dbc.AddParameter("@CourseResourceID", resourceID);
            dbc.Execute();
        }
        internal static void Delete(int assignid)
        {
            DatabaseCall dbc = new DatabaseCall("Assignments_Purge", DBCallType.Execute);

            dbc.AddParameter("@AssignmentID", assignid);
            dbc.Execute();
        }
Beispiel #11
0
        internal static bool CommitImport(string importID)
        {
            DatabaseCall dbc = new DatabaseCall("Import_LoadPendingImport", DBCallType.Select);

            dbc.AddParameter("@ImportID", importID);
            System.Data.DataSet ds = new System.Data.DataSet();
            dbc.Fill(ds);

            if ((ds.Tables.Count <= 0) || (ds.Tables[0].Rows.Count <= 0))
            {
                return(false);
            }

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                try
                {
                    UserM user = UserM.Load(Convert.ToInt32(ds.Tables[0].Rows[i]["UserID"]));
                    user.GenerateNewPassword();
                    user.AddToCourse(Convert.ToInt32(ds.Tables[0].Rows[i]["CourseID"]));
                }
                catch
                {
                }
            }
            return(true);
        }
Beispiel #12
0
        public static CourseM Load(System.Guid courseGUID)
        {
            DatabaseCall dbc = new DatabaseCall("Courses_LoadCourseByGUID", DBCallType.Select);

            dbc.AddParameter("@CourseGUID", courseGUID);
            return(LoadCourseFromDatabase(dbc));
        }
Beispiel #13
0
        public static CourseM Load(string courseName)
        {
            DatabaseCall dbc = new DatabaseCall("Courses_LoadCourseByName", DBCallType.Select);

            dbc.AddParameter("@ShortName", courseName);
            return(LoadCourseFromDatabase(dbc));
        }
        public void ClearStarter()
        {
            DatabaseCall dbc = new DatabaseCall("Assignments_ClearStarter", DBCallType.Execute);

            dbc.AddParameter("@AssignmentID", _assignmentID);
            dbc.Execute();
        }
Beispiel #15
0
        internal void Delete()
        {
            DatabaseCall dbc = new DatabaseCall("Courses_DeleteCourse", DBCallType.Execute);

            dbc.AddParameter("@CourseID", this._courseID);
            dbc.Execute();
        }
Beispiel #16
0
        public static UserM Load(int userID)
        {
            DatabaseCall dbc = new DatabaseCall("Users_LoadUserByUserID", DBCallType.Select);

            dbc.AddParameter("@UserID", userID);

            return(LoadUserFromDatabase(dbc));
        }
Beispiel #17
0
        public static UserM LoadByUniversityID(string universityID)
        {
            DatabaseCall dbc = new DatabaseCall("Users_LoadUserByUniversityID", DBCallType.Select);

            dbc.AddParameter("@UniversityID", universityID);

            return(LoadUserFromDatabase(dbc));
        }
Beispiel #18
0
        public static UserM LoadByEmail(string email)
        {
            DatabaseCall dbc = new DatabaseCall("Users_LoadUserByEmail", DBCallType.Select);

            dbc.AddParameter("@Email", email);

            return(LoadUserFromDatabase(dbc));
        }
Beispiel #19
0
        public static UserM LoadByUserName(string username)
        {
            DatabaseCall dbc = new DatabaseCall("Users_LoadUserByUsername", DBCallType.Select);

            dbc.AddParameter("@UserName", username);

            return(LoadUserFromDatabase(dbc));
        }
        public static StudentAssignmentM Load(int userID, int assignmentID)
        {
            System.Data.DataSet ds = new System.Data.DataSet();

            DatabaseCall dbc = new DatabaseCall("StudentAssignments_LoadAssignment", DBCallType.Select);

            dbc.AddParameter("@UserID", userID);
            dbc.AddParameter("@AssignmentID", assignmentID);

            dbc.Fill(ds);

            if (ds.Tables.Count <= 0 || ds.Tables[0].Rows.Count <= 0)
            {
                return(null);
            }
            return(PopulateNewAssignment(ds));
        }
Beispiel #21
0
        internal static void AbortImport(string importID)
        {
            DatabaseCall dbc = new DatabaseCall("Import_AbortImport", DBCallType.Execute);

            dbc.AddParameter("@ImportID", importID);

            dbc.Execute();
        }
        public string StarterFilesXML(System.Guid guid)
        {
            try
            {
                DataSet     ds              = new DataSet();
                string      downloadRoot    = SharedSupport.AddBackSlashToDirectory(System.Web.HttpContext.Current.Request.MapPath(String.Empty, Constants.ASSIGNMENTMANAGER_DOWNLOAD_DIRECTORY, true));
                string      storageLocation = String.Empty;
                AssignmentM assign          = AssignmentM.Load(_assignmentID);
                storageLocation = SharedSupport.AddBackSlashToDirectory(assign.StorageDirectory + Constants.STARTER_PROJECT_PATH);

                //add unique guid to download path
                downloadRoot = downloadRoot + SharedSupport.AddBackSlashToDirectory(guid.ToString());

                DatabaseCall dbc = new DatabaseCall("Assignments_GetFiles", DBCallType.Select);
                dbc.AddParameter("@AssignmentID", _assignmentID);
                dbc.Fill(ds);

                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    string source      = String.Empty;
                    string destination = String.Empty;

                    string filename = ds.Tables[0].Rows[i]["FileName"].ToString().Trim();
                    filename    = filename.Replace(@"\", @"/");
                    source      = SharedSupport.RemoveIllegalFilePathCharacters(storageLocation + filename);
                    destination = SharedSupport.RemoveIllegalFilePathCharacters(downloadRoot + filename);
                    //check to see if destination directory exists
                    string destinationDir = destination.Substring(0, destination.LastIndexOf("\\") + 1);
                    if (!Directory.Exists(destinationDir))
                    {
                        Directory.CreateDirectory(destinationDir);
                    }
                    //check if file is there
                    if (System.IO.File.Exists(source))
                    {
                        System.IO.File.Copy(source, destination, true);
                    }
                    else
                    {
                        throw new System.IO.FileNotFoundException(SharedSupport.GetLocalizedString("Assignment_UploadedFileNotFound"));
                    }

                    if (filename.StartsWith(@"/"))
                    {
                        ds.Tables[0].Rows[i]["FileName"] = guid + filename;
                    }
                    else
                    {
                        ds.Tables[0].Rows[i]["FileName"] = guid + @"/" + filename;
                    }
                }
                return(ds.GetXml());
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
        public static AssignmentList GetSubmissionsForAssignment(int AssignmentID)
        {
            DatabaseCall   dbc        = new DatabaseCall("Courses_GetSubmissionsList", DBCallType.Select);
            AssignmentList assignList = new AssignmentList();

            dbc.AddParameter("@AssignmentID", AssignmentID);
            dbc.Fill(assignList.assignmentDS);
            return(assignList);
        }
Beispiel #24
0
        public static UserList GetListFromCourse(int courseID)
        {
            UserList     userList = new UserList();
            DatabaseCall dbc      = new DatabaseCall("Courses_GetUserList", DBCallType.Select);

            dbc.AddParameter("@CourseID", courseID);

            dbc.Fill(userList.ds);
            return(userList);
        }
Beispiel #25
0
        public void SetPassword(string password, bool hasChanged)
        {
            Byte[] passwd         = SharedSupport.ConvertStringToByteArray(password.Trim());
            byte[] hashValue      = ((HashAlgorithm)CryptoConfig.CreateFromName(Constants.HashMethod)).ComputeHash(passwd);
            string hashedPassword = BitConverter.ToString(hashValue);


            DatabaseCall dbc = new DatabaseCall("Users_ChangePassword", DBCallType.Execute);

            dbc.AddParameter("@UserID", _userID);
            dbc.AddParameter("@Password", hashedPassword);
            dbc.AddParameter("@ChangedPassword", hasChanged);
            dbc.Execute();

            // This is only true when a faculty member updated someone else's password
            if (!hasChanged)
            {
                SendPasswordToUser(password);
            }
        }
Beispiel #26
0
        public static RoleM GetUsersRoleInCourse(int userID, int courseID)
        {
            DatabaseCall dbc = new DatabaseCall("Roles_GetRoleForUserInCourse", DBCallType.Select);

            dbc.AddParameter("@UserID", userID);
            dbc.AddParameter("@CourseID", courseID);
            System.Data.DataSet ds = new System.Data.DataSet();

            dbc.Fill(ds);

            if (ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
            {
                return(new RoleM(0, ""));
            }
            else
            {
                int    roleID   = Convert.ToInt32(ds.Tables[0].Rows[0]["RoleID"]);
                string roleName = ds.Tables[0].Rows[0]["Name"].ToString();
                return(new RoleM(roleID, roleName));
            }
        }
Beispiel #27
0
        /// <summary>
        /// Sets value in Settings table
        /// </summary>
        /// <param name="settingName"> </param>
        /// <param name="settingValue"> </param>
        internal static void SetSetting(string settingName, string settingValue)
        {
            try
            {
                // validate parameters
                if (settingName.Equals(null) || settingName == String.Empty)
                {
                    throw new ArgumentNullException(SharedSupport.GetLocalizedString("SharedSupport_SettingNameField"), SharedSupport.GetLocalizedString("SharedSupport_Missing_SettingName"));
                }
                if (settingValue.Equals(null) || settingValue == String.Empty)
                {
                    throw new ArgumentNullException(SharedSupport.GetLocalizedString("SharedSupport_SettingValueField"), SharedSupport.GetLocalizedString("SharedSupport_Missing_SettingValue"));
                }

                // if they are changing the AutoBuild/AutoCheck update the Service Status
                if ((settingName.Equals(Constants.AUTOBUILD_SETTING)) || (settingName.Equals(Constants.AUTOCHECK_SETTING)))
                {
                    // change the service status
                    if (!changeServiceStatus(settingValue, Constants.ACTION_SERVICE_NAME))
                    {
                        // throw an exception b/c we couldn't update the service
                        throw new System.Exception(GetLocalizedString("Setting_UnableToUpdateService_Error"));
                    }
                    // no database interaction for the Actions Service
                }
                else
                {
                    //We're changing a setting stored in the database
                    DatabaseCall dbc = new DatabaseCall("Settings_UpdateSetting", DBCallType.Execute);
                    dbc.AddParameter("@Setting", settingName);
                    dbc.AddParameter("@Value", settingValue);
                    dbc.Execute();
                }
            }
            catch (System.Exception e)
            {
                SharedSupport.HandleError(e);
            }
        }
Beispiel #28
0
        internal static bool SecurityIsAllowed(int userID, int courseID, SecurityAction action)
        {
            DatabaseCall dbc = new DatabaseCall("Security_IsAllowed", DBCallType.Select);

            dbc.AddParameter("@UserID", userID);
            dbc.AddParameter("@CourseID", courseID);
            dbc.AddParameter("@ActionID", (int)action);
            System.Data.DataSet ds = new System.Data.DataSet();
            dbc.Fill(ds);
            try
            {
                if (Convert.ToInt32(ds.Tables[0].Rows[0]["UserID"]) == userID)
                {
                    return(true);
                }
            }
            catch
            {
                return(false);
            }
            return(false);
        }
Beispiel #29
0
        private int saveCourseToDatabase(CourseStoredProcType sprocType)
        {
            DatabaseCall dbc;
            int          retID = 0;

            if (sprocType == CourseStoredProcType.Add)
            {
                dbc = new DatabaseCall("Courses_AddNewCourse", DBCallType.Execute);
                dbc.AddOutputParameter("@CourseID");
            }
            else if (sprocType == CourseStoredProcType.Update)
            {
                dbc = new DatabaseCall("Courses_UpdateExistingCourse", DBCallType.Execute);
                dbc.AddParameter("@CourseID", this._courseID);
            }
            else
            {
                throw new Exception("Unknown Stored Procedure Type");
            }

            dbc.AddParameter("@CourseGUID", _courseGUID);
            dbc.AddParameter("@ShortName", _courseName);
            dbc.AddNTextParameter("@Description", _description);
            dbc.AddParameter("@LastUpdatedDate", System.DateTime.Now);
            dbc.AddParameter("@LastUpdatedUserID", _lastUpdatedUserID);
            dbc.AddParameter("@HomepageURL", _homepageURL);
            dbc.AddParameter("@MultipleSubmitsFlag", false);
            dbc.AddParameter("@SendEmailRemindersFlag", _sendEmailRemindersFlag);
            dbc.AddParameter("@StartDate", _startDate);
            dbc.AddParameter("@EndDate", _endDate);
            dbc.AddParameter("@RootStoragePath", _rootStoragePath);

            dbc.Execute();

            if (sprocType == CourseStoredProcType.Add)
            {
                try
                {
                    retID          = Convert.ToInt32(dbc.GetOutputParam("@CourseID"));
                    this._courseID = retID;
                }
                catch
                {
                }
            }
            //Write course data to file
            saveCourseXML();
            return(retID);
        }
        private void SaveToDatabase(StoredProcType procType)
        {
            DatabaseCall dbc;

            switch (procType)
            {
            case StoredProcType.New:

                dbc = new DatabaseCall("StudentAssignments_AddNewAssignment", DBCallType.Execute);
                dbc.AddOutputParameter("@UserAssignmentID");
                break;

            case StoredProcType.Update:
                dbc = new DatabaseCall("StudentAssignments_UpdateExistingAssignment", DBCallType.Execute);
                break;

            default:
                throw new Exception("Invalid Stored Procedure");
            }

            dbc.AddParameter("@UserID", this._userID);
            dbc.AddParameter("@AssignmentID", this._assignmentID);
            dbc.AddParameter("@LastSubmitDate", this._lastSubmitDate);
            dbc.AddParameter("@LastUpdatedDate", this._lastUpdatedDate);
            dbc.AddParameter("@OverallGrade", this._overallGrade);
            dbc.AddNTextParameter("@GradeComments", this._gradeComments);
            dbc.AddParameter("@AutoCompileStatus", this._autoCompileStatus);
            dbc.AddParameter("@AutoGradeStatus", this._autoGradeStatus);
            dbc.AddNTextParameter("@BuildDetails", this._buildDetails);
            dbc.AddNTextParameter("@CheckDetails", this._checkDetails);
            dbc.AddParameter("@BuildResultCode", this._buildResultCode);
            dbc.AddParameter("@CheckResultCode", this._checkResultCode);

            dbc.Execute();

            if (procType == StoredProcType.New)
            {
                this._userAssignmentID = Convert.ToInt32(dbc.GetOutputParam("@UserAssignmentID"));
            }
        }