Geeks With Blogs

News My Blog has been MOVED to https://mfreidge.wordpress.com
Michael Freidgeim's OLD Blog My Blog has been MOVED to https://mfreidge.wordpress.com

The class below is used to create adjustable messages

using System;

    /// Summary description for EnglishGrammerHelper.
    /// </summary>
    public class EnglishGrammerHelper
    {
        public EnglishGrammerHelper()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        /// <summary>
        /// Compiles sentence with person,verb and rest of the sentence
        /// </summary>
        /// <param name="person"></param>
        /// <param name="verb"></param>
        /// <param name="restSentence"></param>
        /// <returns></returns>
        public static string PersonMessage(string person, string verb, string restSentence)
        {
             switch(person.ToLower())
             {
                 case "you":
                    verb=Verb(verb,true);
                    break;
                 default://not you -he/she
                    verb=Verb(verb,false);
                    break;
             }//switch person
            return string.Format("{0} {1} {2}",person,verb, restSentence);
        }
        //may be better to make private?
        public static string Verb( string verb, bool bPlural)
        {
          if((bPlural))
          {
               switch(verb.ToLower())
               {
                   case "has":
                       verb="have";
                       break;
                   case "does":
                       verb="do";
                       break;
                   case "was":
                       verb="were";
                       break;
                   default://leave as it is
                       break;
               }
          }
          else
          {
               switch(verb.ToLower())
               {
                   case "have":
                       verb="has";
                       break;
                   case "do":
                       verb="does";
                       break;
                   case "were":
                       verb="was";
                       break;
                   default://leave as it is
                       break;
               }
           }
            return verb;
        }
       public static string Plural(string item)
       {
           string sItemItems = item;
           if (!sItemItems.EndsWith("s"))
               sItemItems += 's'; //make it plural
            return sItemItems;
      }
       public static string NumberItems(int count, string item, string verb, string restSentence)
        {
            string sItemItems=item;
            if (count!=1)
            {
                if (!sItemItems.EndsWith("s"))
                    sItemItems+='s'; //make it plural
            }
            verb=Verb(verb,(count!=1));
            return string.Format("{0} {1} {2} {3}",count.ToString() , sItemItems,verb, restSentence);
        }
       /// <summary>
       ///
       /// </summary>
       /// <param name="EstimateWord">e.g "At least"</param>
       /// <param name="count"></param>
       /// <param name="item"></param>
       /// <param name="verb"></param>
       /// <param name="restSentence"></param>
       /// <returns></returns>
       public static string NumberItems(string EstimateWord, int count, string item, string verb, string restSentence)
       {
           if(String.IsNullOrEmpty(EstimateWord))
           {
              EstimateWord= StringHelper.EnsureEndsWith(EstimateWord, " ");
           }
           return string.Concat(EstimateWord + NumberItems( count,  item,  verb,  restSentence)) ;
       }

Posted on Sunday, May 15, 2011 2:03 AM | Back to top


Comments on this post: My EnglishGrammerHelper class

No comments posted yet.
Your comment:
 (will show your gravatar)


Copyright © Michael Freidgeim | Powered by: GeeksWithBlogs.net