public bool InsertInProgressDraft(InProgressPost Post)
 {
     try
     {
         return(XmlManager.InsertInProgressPost(Server.MapPath("~/App_Data/InProgressPosts.xml"), Post, false));
     }
     catch (Exception ex)
     {
         string Body = "An error was encountered: " + Environment.NewLine + ex.ToString();
         Utils.SendEmail("*****@*****.**", "*****@*****.**", "error encountered", Body);
         return(false);
     }
 }
 public static bool InsertInProgressPost(string Path, InProgressPost Post, bool Active)
 {
     try
     {
         List <InProgressPost> posts = new List <InProgressPost>();
         Post.Id   = Generate.NewUniqueID;
         Post.Link = "archive/InProgress/" + String.Format("{0:yyyy/MM/dd}", DateTime.Now) + "/" +
                     Utils.GetSafeTitleString(Post.Title);
         Post.DatePublished = DateTime.Now.ToString();
         Post.Active        = false;
         System.Xml.Serialization.XmlSerializer Serializer = new System.Xml.Serialization.XmlSerializer(posts.GetType());
         if (System.IO.File.Exists(Path))
         {
             Stream       PathStream      = File.Open(Path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
             StreamReader objStreamReader = new StreamReader(PathStream);
             posts = (List <InProgressPost>)Serializer.Deserialize(objStreamReader);
             objStreamReader.Close();
             PathStream.Close();
             PathStream.Dispose();
             PathStream = File.Open(Path, FileMode.Truncate, FileAccess.Write, FileShare.Write);
             StreamWriter objStreamWriter = new StreamWriter(PathStream);
             posts.Reverse();
             posts.Add(Post);
             Serializer.Serialize(objStreamWriter, posts);
             objStreamWriter.Close();
         }
         else
         {
             posts.Add(Post);
             Stream       PathStream      = File.Open(Path, FileMode.Create, FileAccess.Write, FileShare.Write);
             StreamWriter objStreamWriter = new StreamWriter(PathStream);
             Serializer.Serialize(objStreamWriter, posts);
             objStreamWriter.Close();
             PathStream.Close();
             PathStream.Dispose();
         }
         return(true);
     }
     catch (Exception ex)
     {
         string Body = "An error was encountered: " + Environment.NewLine + ex.ToString();
         Utils.SendEmail("*****@*****.**", "*****@*****.**", "error encountered", Body);
         return(false);
     }
 }