public OOB.ResultadoLista <OOB.LibInventario.Tool.AjusteNivelMinimoMaximoProducto.Capturar.Ficha> Tools_AjusteNivelMinimoMaximo_GetLista(OOB.LibInventario.Tool.AjusteNivelMinimoMaximoProducto.Capturar.Filtro filtro)
        {
            var rt = new OOB.ResultadoLista <OOB.LibInventario.Tool.AjusteNivelMinimoMaximoProducto.Capturar.Ficha>();

            var filtroDTO = new DtoLibInventario.Tool.AjusteNivelMinimoMaximo.Capturar.Filtro();

            filtroDTO.autoDeposito     = filtro.autoDeposito;
            filtroDTO.autoDepartamento = filtro.autoDepartamento;
            filtroDTO.cadena           = filtro.cadena;

            var r01 = MyData.Tools_AjusteNivelMinimoMaximo_GetLista(filtroDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                rt.Mensaje = r01.Mensaje;
                rt.Result  = OOB.Enumerados.EnumResult.isError;
                return(rt);
            }

            var list = new List <OOB.LibInventario.Tool.AjusteNivelMinimoMaximoProducto.Capturar.Ficha>();

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    list = r01.Lista.Select(s =>
                    {
                        var _estatus = "Activo";
                        if (s.esSuspendido == "1")
                        {
                            _estatus = "Suspendido";
                        }

                        return(new OOB.LibInventario.Tool.AjusteNivelMinimoMaximoProducto.Capturar.Ficha()
                        {
                            autoProducto = s.autoProducto,
                            codigoProducto = s.codigoProducto,
                            decimales = s.decimales,
                            fisica = s.fisica,
                            nivelMinimo = s.nivelMinimo,
                            nivelOptimo = s.nivelOptimo,
                            nombreProducto = s.nombreProducto,
                            referenciaProducto = s.referenciaProducto,
                            esPesado = s.esPesado == "S"?true:false,
                            Estatus = _estatus,
                        });
                    }).ToList();
                }
            }
            rt.Lista = list;

            return(rt);
        }
 public DtoLib.ResultadoLista <DtoLibInventario.Tool.AjusteNivelMinimoMaximo.Capturar.Ficha> Tools_AjusteNivelMinimoMaximo_GetLista(DtoLibInventario.Tool.AjusteNivelMinimoMaximo.Capturar.Filtro filtro)
 {
     return(ServiceProv.Tools_AjusteNivelMinimoMaximo_GetLista(filtro));
 }
        Tools_AjusteNivelMinimoMaximo_GetLista(DtoLibInventario.Tool.AjusteNivelMinimoMaximo.Capturar.Filtro filtro)
        {
            var result = new DtoLib.ResultadoLista <DtoLibInventario.Tool.AjusteNivelMinimoMaximo.Capturar.Ficha>();

            try
            {
                using (var cnn = new invEntities(_cnInv.ConnectionString))
                {
                    var cmd = "SELECT p.auto as autoProducto, p.codigo as codigoProducto, p.nombre as nombreProducto, " +
                              "p.referencia as referenciaProducto, p.estatus_cambio as esSuspendido, " +
                              "case p.estatus_pesado " +
                              "WHEN '0' THEN 'N' " +
                              "WHEN '1' THEN 'S' " +
                              "END as esPesado, " +
                              "dep.fisica as fisica, dep.nivel_minimo as nivelMinimo, dep.nivel_optimo as nivelOptimo, med.decimales " +
                              "FROM `productos_deposito` as dep " +
                              "JOIN productos as p on dep.auto_producto=p.auto " +
                              "JOIN productos_medida as med on p.auto_empaque_compra=med.auto " +
                              "where dep.auto_deposito=@dep and p.estatus='Activo' ";

                    var dep = new MySql.Data.MySqlClient.MySqlParameter("@dep", filtro.autoDeposito);
                    var p1  = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2  = new MySql.Data.MySqlClient.MySqlParameter();
                    if (filtro.autoDepartamento != "")
                    {
                        cmd += "and p.auto_departamento=@p1 ";
                        p1.ParameterName = "@p1";
                        p1.Value         = filtro.autoDepartamento;
                    }

                    if (filtro.cadena.Trim() != "")
                    {
                        var xcadena = filtro.cadena.Trim();
                        cmd += " and p.nombre like @p2 ";
                        p2.ParameterName = "@p2";
                        if (xcadena.Substring(0, 1) == "*")
                        {
                            if (xcadena.Length > 1)
                            {
                                p2.Value = "%" + filtro.cadena.Substring(1) + "%";
                            }
                            else
                            {
                                p2.Value = "%%";
                            }
                        }
                        else
                        {
                            p2.Value = xcadena + "%";
                        }
                    }

                    var list = cnn.Database.SqlQuery <DtoLibInventario.Tool.AjusteNivelMinimoMaximo.Capturar.Ficha>(cmd, dep, p1, p2).ToList();
                    result.Lista = list;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }