public IHttpActionResult GetSearch() { var name = GetHttpResult(Name); var cognome = GetHttpResult(LastName); var solution = GetHttpResult(Solution); var posizione = GetHttpResult(Position); var societa = GetHttpResult(Society); var final = string.Empty; IList <ItemSqlParams> @params = new List <ItemSqlParams>(); const string template = "SELECT " + StringSelect + " FROM " + TableQuery + " WHERE {0}"; if (!name.IsEmpty()) { final = string.Format(template, "NOME LIKE @" + Name + " "); @params.Add(new ItemSqlParams { Name = Name, Value = name + "%" }); } final = AddWhere(cognome, LastName, final, @params, template); final = AddWhere(solution, Solution, final, @params, template); final = AddWhere(posizione, Position, final, @params, template); final = AddWhere(societa, Society, final, @params, template); if (final.IsEmpty()) { return(Ok(new List <UserModelSearch>())); } try { _DATA_BASE.Command(final, @params); } catch (System.Exception) { return(Ok(new List <UserModelSearch>())); } var model = _DATA_BASE.GetObject <UserModelSearch[]>(); return(Ok(model.OrderBy(x => x.Name).ThenBy(x => x.Lastname))); }