Ejemplo n.º 1
0
        public DataQuery Search(DataQueryInput input)
        {
            DataQuery data = new DataQuery();
            SubCategoriaQueryInput queryInput = (SubCategoriaQueryInput)input;

            SqlParameter[] sqlParams =
            {
                new SqlParameter("@tamanio", queryInput.tamanio),
                new SqlParameter("@pagina",  queryInput.pagina)
            };
            data = _repository.ExecuteProcedureQuery(Consultas.DboSubCategoriaBuscar, sqlParams, Mensaje.SubCategoriaPlural);
            return(data);
        }
        public DataQuery Search(DataQueryInput input)
        {
            DataQuery          data       = new DataQuery();
            ProductoQueryInput queryInput = (ProductoQueryInput)input;

            SqlParameter[] sqlParams =
            {
                new SqlParameter("@texto",             queryInput.texto),
                new SqlParameter("@idsubsubcategoria", queryInput.idSubSubCategoria),
                new SqlParameter("@tamanio",           queryInput.tamanio),
                new SqlParameter("@pagina",            queryInput.pagina)
            };

            data = _repository.ExecuteProcedureQuery(Consultas.DboBuscarProductoporIdSubSubCategoria, sqlParams, Mensaje.ProductoPlural);
            return(data);
        }
Ejemplo n.º 3
0
        public virtual DataQuery ExecuteProcedureQuery(String procedureCommand, DataQueryInput input, string entidadError)
        {
            SqlParameter OutputParam = new SqlParameter("@total", SqlDbType.Int);

            OutputParam.Direction = ParameterDirection.InputOutput;
            OutputParam.Value     = 0;
            SqlParameter[] parameters =
            {
                new SqlParameter("@texto",  input.texto),
                new SqlParameter("@pagina", input.pagina),
                OutputParam
            };

            DataQuery data = new DataQuery();

            int total = 0;
            var cmd   = _context.Database.GetDbConnection().CreateCommand();

            cmd.CommandText = procedureCommand;
            cmd.CommandType = System.Data.CommandType.StoredProcedure;

            cmd.Parameters.AddRange(parameters);
            _context.Database.OpenConnection();

            SqlParameter return_Value = new SqlParameter("@RETURN_VALUE", SqlDbType.Int);

            return_Value.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(return_Value);

            IList <IDictionary <string, object> > objDict = new List <IDictionary <string, object> >();

            using (DbDataReader dr = cmd.ExecuteReader())
            {
                while (dr.Read())
                {
                    Dictionary <string, object> objFilaDicy = new Dictionary <string, object>();

                    objFilaDicy = Enumerable.Range(0, dr.FieldCount).ToDictionary(dr.GetName, dr.GetValue);
                    objDict.Add(objFilaDicy);
                }
            }

            /* Output and return values are not available until here */
            if (OutputParam.Value != DBNull.Value)
            {
                total = Convert.ToInt32(OutputParam.Value);
            }

            if (objDict.Count != 0)
            {
                data.data  = objDict;
                data.total = total;
            }
            else
            {
                data.apiEstado = Status.Error;
                if (entidadError != null && String.IsNullOrEmpty(entidadError))
                {
                    data.apiMensaje = Mensaje.NoExisteDefecto;
                }
                else
                {
                    data.apiMensaje = String.Format(Mensaje.NoExiste, entidadError);
                }
            }
            _context.Database.CloseConnection();
            return(data);
        }