///<summary>Does not save to DB. Return null if listName does not exist. ///Pass in the userod.UserNum of the user that is making the change. Typically Security.CurUser.UserNum. ///Security.CurUser cannot be used within this method due to the server side of middle tier.</summary> public static WikiListHist GenerateFromName(string listName, long userNum) { if (RemotingClient.RemotingRole == RemotingRole.ClientWeb) { return(Meth.GetObject <WikiListHist>(MethodBase.GetCurrentMethod(), listName, userNum)); } if (!WikiLists.CheckExists(listName)) { return(null); } WikiListHist retVal = new WikiListHist(); retVal.UserNum = userNum; retVal.ListName = listName; retVal.DateTimeSaved = DateTime.Now; DataTable table = WikiLists.GetByName(listName); table.TableName = listName; //required for xmlwriter using (var writer = new StringWriter()) { table.WriteXml(writer, XmlWriteMode.WriteSchema); retVal.ListContent = writer.ToString(); } List <WikiListHeaderWidth> listHeaders = WikiListHeaderWidths.GetForList(listName); if (listHeaders.Count > 0) { retVal.ListHeaders = string.Join(";", listHeaders.Select(x => x.ColName + "," + x.ColWidth)); } return(retVal); }
///<summary>Does not save to DB. Return null if listName does not exist. ///Pass in the userod.UserNum of the user that is making the change. Typically Security.CurUser.UserNum. ///Security.CurUser cannot be used within this method due to the server side of middle tier.</summary> public static WikiListHist GenerateFromName(string listName, long userNum) { if (RemotingClient.RemotingRole == RemotingRole.ClientWeb) { return(Meth.GetObject <WikiListHist>(MethodBase.GetCurrentMethod(), listName, userNum)); } if (!WikiLists.CheckExists(listName)) { return(null); } WikiListHist retVal = new WikiListHist(); retVal.UserNum = userNum; retVal.ListName = listName; retVal.DateTimeSaved = DateTime.Now; DataTable table = WikiLists.GetByName(listName); table.TableName = listName; //required for xmlwriter using (var writer = new System.IO.StringWriter()) { table.WriteXml(writer); retVal.ListContent = writer.ToString(); } List <WikiListHeaderWidth> listHeaders = WikiListHeaderWidths.GetForList(listName); StringBuilder sb = new StringBuilder(); for (int i = 0; i < listHeaders.Count; i++) { if (i > 0) { sb.Append(";"); } sb.Append(listHeaders[i].ColName + "," + listHeaders[i].ColWidth); } retVal.ListHeaders = sb.ToString(); using (var writer = new StringWriter()) { table.WriteXml(writer, XmlWriteMode.WriteSchema); retVal.ListContent = writer.ToString(); } return(retVal); }