/// <summary> /// Adds the Feedback. /// </summary> internal void AddFeedback(SPList feedbackList, string userID, Feedback feedbackInfo) { try { SPSecurity.RunWithElevatedPrivileges(delegate() { //Adds the new Feedback to the current folder. SPFolder currentFolder = feedbackList.Folders[feedbackList.Folders.Count - 1].Folder; ; SPListItem newItem = feedbackList.Items.Add(currentFolder.ServerRelativeUrl, SPFileSystemObjectType.File, null); newItem["Title"] = userID + "_" + DateTime.Now.ToString("MMM-dd-yyyy"); newItem["Rating"] = feedbackInfo.Rating; newItem["Reason for Rating"] = feedbackInfo.Reason; newItem["Additional Information"] = feedbackInfo.AdditionalInformation; newItem["Type of Feedback"] = feedbackInfo.TypeofFeedback; newItem["Page Level Comment"] = feedbackInfo.Comment; if(feedbackInfo.TypeofFeedback.ToString() == GENERALFEEDBACK) newItem["Page Name"] = string.Empty; else newItem["Page Name"] = feedbackInfo.PageName; if(feedbackInfo.FileAttached != null) { newItem.Attachments.Add(feedbackInfo.FileName, feedbackInfo.FileAttached); } newItem.Update(); }); } catch(Exception) { throw; } }
/// <summary> /// Updates the feedback. /// </summary> /// <param name="userID">The user ID.</param> /// <param name="feedbackInfo">The feedback info.</param> /// <returns></returns> public bool UpdateFeedback(string userID, Feedback feedbackInfo) { bool blnIsUpdated = false; FeedbackHandler objFeedbackHandler = null; try { objFeedbackHandler = new FeedbackHandler(); //updates the Feedback and sets the Flag. blnIsUpdated = objFeedbackHandler.UpdateFeedback(userID, feedbackInfo); } catch(Exception) { throw; } return blnIsUpdated; }
/// <summary> /// Updates the Feedback. /// </summary> /// <param name="userID">The user ID.</param> /// <param name="FeedbackInfo">The feedback submitted by user.</param> /// <param name="action">The action.</param> /// <returns> /// boolean returns whether update is success /// </returns> internal bool UpdateFeedback(string userID, Feedback feedbackInfo) { #region Method Variables bool blnIsSuccess = false; SPList feedbackList; SPFolder currentFolder; #endregion try { string strStorageURL = SPContext.Current.Site.Url; SPSecurity.RunWithElevatedPrivileges(delegate() { using(SPSite site = new SPSite(strStorageURL)) { using(SPWeb web = site.OpenWeb()) { web.AllowUnsafeUpdates = true; feedbackList = web.Lists[FEEDBACKLIST]; /// This condition will check any folders aleady exist inside list or not. if(feedbackList.Folders.Count == 0) { string strFolderName = "Feedbacks(1-" + Convert.ToString(((feedbackList.Folders.Count) * RECORDSLIMIT) + RECORDSLIMIT) + ")"; SPListItem newFolder = feedbackList.Items.Add(string.Empty, SPFileSystemObjectType.Folder, strFolderName); newFolder.Update(); AddFeedback(feedbackList, userID, feedbackInfo); blnIsSuccess = true; } else { currentFolder = feedbackList.Folders[feedbackList.Folders.Count - 1].Folder; int intLimit = ((feedbackList.Folders.Count - 1) * RECORDSLIMIT) + RECORDSLIMIT; /// This condition will check for items in current folder exceeded the limit or not. if(feedbackList.Items.Count < intLimit) { AddFeedback(feedbackList, userID, feedbackInfo); blnIsSuccess = true; } else { /// This will get the current folder in list. currentFolder = feedbackList.Folders[feedbackList.Folders.Count - 1].Folder; string strFolderName; /// Validates the folder name to be created with the correct bounderies. if(((Convert.ToInt32((currentFolder.Name.Split('-')[1].Split(')')[0]))) / RECORDSLIMIT) != feedbackList.Folders.Count) { int intRecordCount = ((Convert.ToInt32((currentFolder.Name.Split('-')[1].Split(')'))[0])) / RECORDSLIMIT); strFolderName = "Feedbacks(" + Convert.ToString((intRecordCount) * RECORDSLIMIT) + "-" + Convert.ToString(((intRecordCount) * RECORDSLIMIT) + RECORDSLIMIT) + ")"; } else { strFolderName = "Feedbacks(" + Convert.ToString((feedbackList.Folders.Count) * RECORDSLIMIT) + "-" + Convert.ToString(((feedbackList.Folders.Count) * RECORDSLIMIT) + RECORDSLIMIT) + ")"; } SPListItem newFolder = feedbackList.Items.Add(string.Empty, SPFileSystemObjectType.Folder, strFolderName); newFolder.Update(); AddFeedback(feedbackList, userID, feedbackInfo); blnIsSuccess = true; } } } } }); } catch(Exception) { throw; } return blnIsSuccess; }