public OOB.ResultadoLista <OOB.LibCompra.Proveedor.Data.Ficha> Proveedor_GetLista(OOB.LibCompra.Proveedor.Lista.Filtro filtro)
        {
            var rt = new OOB.ResultadoLista <OOB.LibCompra.Proveedor.Data.Ficha>();

            var filtroDto = new DtoLibCompra.Proveedor.Lista.Filtro()
            {
                autoEstado     = filtro.autoEstado,
                autoGrupo      = filtro.autoGrupo,
                cadena         = filtro.cadena,
                MetodoBusqueda = (DtoLibCompra.Proveedor.Enumerados.EnumMetodoBusqueda)filtro.MetodoBusqueda,
                estatus        = (DtoLibCompra.Proveedor.Enumerados.EnumEstatus)filtro.estatus,
            };
            var r01 = MyData.Proveedor_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.LibCompra.Proveedor.Data.Ficha>();

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    list = r01.Lista.Select(s =>
                    {
                        var nr = new OOB.LibCompra.Proveedor.Data.Ficha();
                        var id = new OOB.LibCompra.Proveedor.Data.Identificacion()
                        {
                            auto              = s.auto,
                            ciRif             = s.ciRif,
                            codigo            = s.codigo,
                            dirFiscal         = s.dirFiscal,
                            estatus           = (OOB.LibCompra.Proveedor.Enumerados.EnumEstatus)s.estatusPrv,
                            nombreContacto    = s.nombreContacto,
                            nombreEstado      = s.nombreEstado,
                            nombreGrupo       = s.nombreGrupo,
                            nombreRazonSocial = s.nombreRazonSocial,
                            telefono          = s.telefono,
                            fechaAlta         = s.fechaAlta,
                            fechaUltCompra    = s.fechaUltCompra,
                            fechaBaja         = s.fechaBaja,
                        };
                        nr.identidad = id;
                        return(nr);
                    }).ToList();
                }
            }
            rt.Lista = list;

            return(rt);
        }
        public DtoLib.ResultadoLista <DtoLibCompra.Proveedor.Lista.Resumen> Proveedor_GetLista(DtoLibCompra.Proveedor.Lista.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibCompra.Proveedor.Lista.Resumen>();

            try
            {
                using (var cnn = new compraEntities(_cnCompra.ConnectionString))
                {
                    var sql = @"select p.auto, p.codigo, p.razon_social as nombreRazonSocial, p.ci_rif as ciRif, 
                        p.dir_fiscal as dirFiscal, p.telefono, p.contacto as nombreContacto, p.estatus , 
                        g.nombre as nombreGrupo, e.nombre as nombreEstado, p.fecha_alta as fechaAlta, 
                        p.fecha_ult_compra as fechaUltCompra, p.fecha_baja as fechaBaja 
                        FROM proveedores as p 
                        join proveedores_grupo as g on p.auto_grupo=g.auto 
                        join sistema_estados as e on p.auto_estado=e.auto 
                        where 1=1 ";

                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p4 = new MySql.Data.MySqlClient.MySqlParameter();

                    var valor = "";
                    if (filtro.cadena != "")
                    {
                        if (filtro.MetodoBusqueda == DtoLibCompra.Proveedor.Enumerados.EnumMetodoBusqueda.Codigo)
                        {
                            var cad = filtro.cadena.Trim().ToUpper();
                            if (cad.Substring(0, 1) == "*")
                            {
                                cad   = cad.Substring(1);
                                sql  += " and p.codigo like @p";
                                valor = "%" + cad + "%";
                            }
                            else
                            {
                                sql  += " and p.codigo like @p";
                                valor = cad + "%";
                            }
                        }
                        if (filtro.MetodoBusqueda == DtoLibCompra.Proveedor.Enumerados.EnumMetodoBusqueda.Nombre)
                        {
                            var cad = filtro.cadena.Trim().ToUpper();
                            if (cad.Substring(0, 1) == "*")
                            {
                                cad   = cad.Substring(1);
                                sql  += " and p.razon_social like @p";
                                valor = "%" + cad + "%";
                            }
                            else
                            {
                                sql  += " and p.razon_social like @p";
                                valor = cad + "%";
                            }
                        }
                        if (filtro.MetodoBusqueda == DtoLibCompra.Proveedor.Enumerados.EnumMetodoBusqueda.CiRif)
                        {
                            var cad = filtro.cadena.Trim().ToUpper();
                            if (cad.Substring(0, 1) == "*")
                            {
                                cad   = cad.Substring(1);
                                sql  += " and p.ci_rif like @p";
                                valor = "%" + cad + "%";
                            }
                            else
                            {
                                sql  += " and p.ci_rif like @p";
                                valor = cad + "%";
                            }
                        }
                        p1.ParameterName = "@p";
                        p1.Value         = valor;
                    }

                    if (filtro.autoGrupo != "")
                    {
                        sql += " and p.auto_grupo=@autoGrupo ";
                        p2.ParameterName = "@autoGrupo";
                        p2.Value         = filtro.autoGrupo;
                    }
                    if (filtro.autoEstado != "")
                    {
                        sql += " and p.auto_estado=@autoEstado ";
                        p3.ParameterName = "@autoEstado";
                        p3.Value         = filtro.autoEstado;
                    }
                    if (filtro.estatus != DtoLibCompra.Proveedor.Enumerados.EnumEstatus.SnDefinir)
                    {
                        var f = "Activo";
                        if (filtro.estatus == DtoLibCompra.Proveedor.Enumerados.EnumEstatus.Inactivo)
                        {
                            f = "Inactivo";
                        }
                        sql += " and p.estatus=@estatus ";
                        p4.ParameterName = "@estatus";
                        p4.Value         = f;
                    }
                    var list = cnn.Database.SqlQuery <DtoLibCompra.Proveedor.Lista.Resumen>(sql, p1, p2, p3, p4).ToList();
                    rt.Lista = list;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
 public DtoLib.ResultadoLista <DtoLibCompra.Proveedor.Lista.Resumen> Proveedor_GetLista(DtoLibCompra.Proveedor.Lista.Filtro filtro)
 {
     return(ServiceProv.Proveedor_GetLista(filtro));
 }