public ActionResult RomanNumeralInput(RomanNumeralModel request)
        {
            if (ModelState.IsValid)
            {
                var romanConverter = new RomanNumeralConverter();
                var romanData      = new RomanNumeralRequest();
                romanData.UserNumber = request.UserNumber;

                var result = romanConverter.ConvertNumber(romanData);
                return(View("RomanNumeralOutput", result));
            }
            else
            {
                return(View(request));
            }
        }
Example #2
0
        public RomanNumeralResponse ConvertNumber(RomanNumeralRequest request)
        {
            var response = new RomanNumeralResponse();

            response.UserNumber   = request.UserNumber;
            response.RomanNumeral = "";
            var temp = new StringBuilder();

            foreach (var item in response.NumberToNumeralDictionary)
            {
                while (response.UserNumber >= item.Key)
                {
                    temp.Append(item.Value);
                    response.UserNumber -= item.Key;
                }
            }
            response.RomanNumeral = temp.ToString();
            return(response);
        }