Пример #1
0
        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)));
        }