public HttpResponseMessage CreateNewMaze(MazeInitModel model) { Guid mazeId = Guid.Empty; if (ModelState.IsValid) { try { var maze = new Maze(model); mazeId = MemoryCacher.AddMazeInCache(maze); } catch (Exception ex) { throw CreateResponseException(HttpStatusCode.InternalServerError, ex.Message); } return(Request.CreateResponse(HttpStatusCode.OK, mazeId.ToString())); } else { var message = string.Join(" | ", ModelState.Values .SelectMany(v => v.Errors) .Select(e => e.ErrorMessage)); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, message)); } }