Ejemplo n.º 1
0
        /// <summary>
        /// Answer to questions about credits(e.g. how many Credits is glob prok Iron ?)
        /// using RomanNumber claculator method and AlianToRomanDictionary ToRomanNumber method
        /// </summary>
        /// <param name="questions"></param>
        /// <returns></returns>
        private List <string> _QCreditHandler(List <string> questions)
        {
            var res = new List <string>();

            questions.ForEach(item =>
            {
                List <string> parts = item.Split(' ').ToList();
                var alianNumber     = parts.Skip(4).Take(parts.Count - 6).ToList();

                var romanNumber = alianToRomanDictionary.ToRomanNumber(alianNumber);
                var romanAmount = new RomanNumber().Calculate(romanNumber);

                var creditName = parts[parts.Count - 2];
                var thisCredit = credit.CreditValues[creditName];
                if (romanAmount != -1)
                {
                    res.Add(alianNumber.Aggregate((i, j) => i + " " + j) + " " + creditName + " is " + romanAmount * System.Convert.ToInt32(thisCredit) + " Credits");
                }
                else
                {
                    res.Add(alianNumber.Aggregate((i, j) => i + " " + j) + " " + creditName + " is invalid !!!");
                }
            });
            return(res);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Calculate Credit values by translating creditStatements and using AlianNumberDictionary
 /// </summary>
 /// <param name="creditStatements"></param>
 /// <param name="alianNumberDictionary"></param>
 internal void CalculateCreditValues(List <string> creditStatements, Dictionary <string, string> alianNumberDictionary)
 {
     creditStatements.ForEach(item =>
     {
         List <string> parts = item.Split(' ').ToList();
         var romanNumber     = new AlianToRomanDictionary(alianNumberDictionary).ToRomanNumber(parts.Take(parts.Count - 4).ToList());
         var romanAmount     = new RomanNumber().Calculate(romanNumber);
         CreditValues.Add(parts[parts.Count - 4], (System.Convert.ToInt32(parts[parts.Count - 2]) / romanAmount).ToString());
     });
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Calculate Credit values by translating creditStatements and using AlianNumberDictionary 
 /// </summary>
 /// <param name="creditStatements"></param>
 /// <param name="alianNumberDictionary"></param>
 internal void CalculateCreditValues(List<string> creditStatements,Dictionary<string,string> alianNumberDictionary)
 {
     creditStatements.ForEach(item =>
     {
         List<string> parts = item.Split(' ').ToList();
         var romanNumber = new AlianToRomanDictionary(alianNumberDictionary).ToRomanNumber(parts.Take(parts.Count - 4).ToList());
         var romanAmount = new RomanNumber().Calculate(romanNumber);
         CreditValues.Add(parts[parts.Count-4], (System.Convert.ToInt32(parts[parts.Count - 2]) / romanAmount).ToString());
     });
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Answer to questions about currency(e.g. how much is pish tegj glob glob ?)
        /// using RomanNumber claculator method and AlianToRomanDictionary ToRomanNumber method
        /// </summary>
        /// <param name="questions"></param>
        /// <returns></returns>
        private List <string> _QCurrencyHandler(List <string> questions)
        {
            var res = new List <string>();

            questions.ForEach(item =>
            {
                List <string> parts = item.Split(' ').ToList();

                var alianNumber = parts.Skip(3).Take(parts.Count - 4).ToList();

                var romanNumber = alianToRomanDictionary.ToRomanNumber(alianNumber);
                var romanAmount = new RomanNumber().Calculate(romanNumber);

                if (romanAmount != -1)
                {
                    res.Add(alianNumber.Aggregate((i, j) => i + " " + j) + " is " + romanAmount);
                }
                else
                {
                    res.Add(alianNumber.Aggregate((i, j) => i + " " + j) + " is invalid !!!");
                }
            });
            return(res);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Answer to questions about credits(e.g. how many Credits is glob prok Iron ?)
        /// using RomanNumber claculator method and AlianToRomanDictionary ToRomanNumber method
        /// </summary>
        /// <param name="questions"></param>
        /// <returns></returns>
        private List<string> _QCreditHandler(List<string> questions)
        {
            var res = new List<string>();
            questions.ForEach(item =>
            {
                List<string> parts = item.Split(' ').ToList();
                var alianNumber = parts.Skip(4).Take(parts.Count - 6).ToList();

                var romanNumber = alianToRomanDictionary.ToRomanNumber(alianNumber);
                var romanAmount = new RomanNumber().Calculate(romanNumber);

                var creditName=parts[parts.Count - 2];
                var thisCredit = credit.CreditValues[creditName];
                if (romanAmount!=-1)
                    res.Add(alianNumber.Aggregate((i, j) => i + " " + j) + " " + creditName + " is " + romanAmount * System.Convert.ToInt32(thisCredit) + " Credits");
                else
                    res.Add(alianNumber.Aggregate((i, j) => i + " " + j) + " " + creditName + " is invalid !!!");

            });
            return res;
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Answer to questions about currency(e.g. how much is pish tegj glob glob ?)
        /// using RomanNumber claculator method and AlianToRomanDictionary ToRomanNumber method
        /// </summary>
        /// <param name="questions"></param>
        /// <returns></returns>
        private List<string> _QCurrencyHandler(List<string> questions)
        {
            var res = new List<string>();
            questions.ForEach(item =>
              {
                  List<string> parts = item.Split(' ').ToList();

                  var alianNumber = parts.Skip(3).Take(parts.Count - 4).ToList();

                  var romanNumber = alianToRomanDictionary.ToRomanNumber(alianNumber);
                  var romanAmount = new RomanNumber().Calculate(romanNumber);

                  if (romanAmount != -1)
                  res.Add(alianNumber.Aggregate((i,j)=>i +" " +j) + " is " + romanAmount);
                  else
                    res.Add(alianNumber.Aggregate((i, j) => i + " " + j) + " is invalid !!!");
              });
            return res;
        }