예제 #1
0
        ///<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);
        }
예제 #2
0
        ///<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);
        }