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)); } }
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); }