/// <summary> /// Returns murmurs from Mingle /// </summary> /// <returns></returns> public IEnumerable <MingleMurmur> GetMurmurs() { var url = string.Format("/murmurs.xml"); return((from m in XElement.Parse(Mingle.Get(ProjectId, url)).Elements("murmur").ToList() select new MingleMurmur(m)).ToList()); }
/// <summary> /// Sends a murmur to Mingle /// </summary> /// <param name="murmur"></param> public MingleMurmur SendMurmur(string murmur) { var response = Mingle.Post(ProjectId, "/murmurs.xml", new Collection <string> { string.Format(CultureInfo.InvariantCulture, "murmur[body]={0}", murmur) }); return(new MingleMurmur(XElement.Parse(response.Body))); }
/// <summary> /// Returns the card for cardNo /// </summary> /// <param name="cardNo"></param> /// <returns>Card object</returns> public Card GetOneCard(int cardNo) { string cardStr = Mingle.Get(MingleSettings.Project, string.Format(CultureInfo.InvariantCulture, "/cards/{0}.xml", cardNo)); CurrentCardNumber = cardNo; CurrentCard = new Card(new MingleCard(cardStr, Project().MingleProject), this); return(CurrentCard); }
/// <summary> /// Returns comments for a card /// </summary> /// <param name="number"></param> /// <returns></returns> public IEnumerable <CardComment> GetCommentsForCard(int number) { string url = string.Format(CultureInfo.InvariantCulture, "/cards/{0}/comments.xml", number); var comments = new List <CardComment>(); XElement.Parse(Mingle.Get(ProjectId, url)).Elements("comment").ToList().ForEach(c => comments.Add( new CardComment(c.Element("content").Value, c.Element("created_by").Element("name").Value, c.Element("created_at").Value))); return(comments); }
/// <summary> /// Posts a comment to a card /// </summary> /// <param name="number"></param> /// <param name="comment"></param> /// <returns></returns> public void PostComment(int number, string comment) { var commentData = new Collection <string> { string.Format(CultureInfo.InvariantCulture, "comment[content]={0}", comment) }; string url = string.Format(CultureInfo.InvariantCulture, "/cards/{0}/comments.xml", number); Mingle.Post(ProjectId, url, commentData); }
/// <summary> /// Creates a new card /// </summary> /// <param name="type"></param> /// <param name="name"></param> /// <exception cref="NotImplementedException"></exception> public MingleCard CreateCard(string type, string name) { var data = new Collection <string> { string.Format("card[card_type_name]={0}", type), string.Format("card[name]={0}", name) }; var response = Mingle.Post(ProjectId, "/cards.xml", data); var segments = new Uri(response.Headers["Location"]).Segments; var sb = new StringBuilder(segments[segments.Count() - 2]); sb.Append(segments[segments.Count() - 1]); var card = Mingle.Get(ProjectId, sb.ToString()); return(new MingleCard(card, this)); }
/// <summary> /// Returns a card given a card number from this project /// </summary> /// <param name="number"></param> /// <returns></returns> public MingleCard GetCard(int number) { var url = string.Format("cards/{0}.xml", number); return(new MingleCard(Mingle.Get(ProjectId, url), this)); }