public LowercaseResponse ProcessRequest(LowercaseRequest request) { LowercaseResponse response = new LowercaseResponse(); HelperFunctions helper = new HelperFunctions(); String changeString = request.stringToModify; if (request.firstCharOnly) { int count = 0; //Find the total amount of white spaces for (int i = 0; i < changeString.Length; i++) { if (changeString[i] == ' ') { count++; } else { break; } } changeString = changeString.TrimStart(); Console.WriteLine(changeString); if (changeString.Length >= 1) { char changeStringChar = changeString[0]; changeStringChar = Char.ToLower(changeStringChar); changeString = changeString.Remove(0, 1); changeString = changeString.Insert(0, changeStringChar.ToString()); } for (int x = 0; x < count; x++) { //reinsert white spaces changeString = changeString.Insert(0, " "); //changeString = " " + changeString; } } else { changeString = changeString.ToLower(); } if (request.trimPrecedingWhiteSpace) { changeString = changeString.TrimStart(); } if (request.trimTrailingWhiteSpace) { changeString = changeString.TrimEnd(); } response.modifiedString = changeString; response.originalString = request.stringToModify; return(response); }
public void ValidateRequest(LowercaseRequest request) { if (request.firstCharOnly && request.stringToModify.StartsWith(' ') && !request.trimPrecedingWhiteSpace) { throw new Exception("Cannot convert the first char to lowercase if it is a space. Set Trim Preceding White Space true, or remove the preceding spaces from the request"); } }
public IActionResult LowercaseControl([FromBody] LowercaseRequest lowercaseRequest) { LowercaseResponse lowResponse; try { _low.ValidateRequest(lowercaseRequest); string[] words = lowercaseRequest.stringToModify.Split(' '); Thread thread1 = new Thread(() => ControllerHelperFunctions.databaseWordTransaction(words, _DB)); thread1.Start(); lowResponse = _low.ProcessRequest(lowercaseRequest); } catch (Exception e) { return(StatusCode(500, e.Message)); } return(StatusCode(200, lowResponse)); }
public void Setup() { request = new LowercaseRequest(); cap = new Lowercase(); response = new LowercaseResponse(); }