/// <summary> /// setupViewModel initializes the OSBLECommunity view with current user and course id /// </summary> /// <returns>viewmodel for an osble community</returns> private OSBLECommunityViewModel setupViewModel() { OSBLECommunityViewModel vm = new OSBLECommunityViewModel(); vm.UserProfileId = ActiveCourseUser.UserProfileID; vm.AbstractCourseId = ActiveCourseUser.AbstractCourseID; return(vm); }
/// <summary> /// SaveGrid: saves a single grid to the db /// </summary> /// <param name="courseId"></param> /// <param name="userProfileId"></param> /// <param name="gridType"></param> /// <param name="gridOptions"></param> /// <param name="gridLayout"></param> /// <returns></returns> public int SaveGrid(int courseId, int userProfileId, string gridType, string gridOptions, string gridLayout) { //TODO: update this to work with new 'widget' setup. OSBLECommunityViewModel vm = new OSBLECommunityViewModel(); OSBLECommunityGrid gridItem = new OSBLECommunityGrid(); gridItem.GridLayout = "a grid layout"; gridItem.GridOptions = "grid options"; gridItem.GridType = "test type"; vm.Grids.Add(gridItem); vm.AbstractCourseId = 1; vm.UserProfileId = 1; try { using (var sqlConnection = new SqlConnection(StringConstants.ConnectionString)) { sqlConnection.Open(); //insert into OSBLECommunityGrids table string query = "INSERT INTO OSBLECommunityGrids values (@type, @options, @layout); SELECT CAST(SCOPE_IDENTITY() as int)"; int gridId = sqlConnection.Query <int>(query, new { type = gridType, options = gridOptions, layout = gridLayout }).Single(); //now insert into linking table OSBLECommunityGridsUsers query = "INSERT INTO OSBLECommunityGridsUsers values (@UserProfileId, @AbstractCourseId, @OSBLECommunityGridId)"; sqlConnection.Query <int>(query, new { UserProfileId = userProfileId, AbstractCourseId = courseId, GridId = gridId }).Single(); sqlConnection.Close(); } } catch (Exception e) { //TODO: handle exception logging return(0); //failure } return(1); //success }