Beispiel #1
0
 public DtoLib.ResultadoLista <DtoLibPos.ProductoAdm.Lista.Ficha> ProductoAdm_GetLista(DtoLibPos.ProductoAdm.Lista.Filtro filtro)
 {
     return(ServiceProv.ProductoAdm_GetLista(filtro));
 }
        public OOB.Resultado.Lista <OOB.Producto.Lista.Ficha> Producto_GetLista(OOB.Producto.Lista.Filtro filtro)
        {
            var rt = new OOB.Resultado.Lista <OOB.Producto.Lista.Ficha>();

            var filtroDto = new DtoLibPos.ProductoAdm.Lista.Filtro()
            {
                AutoDeposito   = filtro.AutoDeposito,
                Cadena         = filtro.Cadena,
                MetodoBusqueda = (DtoLibPos.ProductoAdm.Lista.Enumerados.EnumMetodoBusqueda)filtro.MetodoBusqueda,
            };
            var r01 = MyData.ProductoAdm_GetLista(filtroDto);

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

            var list = new List <OOB.Producto.Lista.Ficha>();

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    var fechaNula = new DateTime(2000, 1, 1);
                    list = r01.Lista.Select(s =>
                    {
                        var nr = new OOB.Producto.Lista.Ficha()
                        {
                            Codigo           = s.Codigo,
                            Cont_1           = s.Cont_1,
                            Cont_2           = s.Cont_2,
                            Cont_3           = s.Cont_3,
                            Cont_4           = s.Cont_4,
                            Cont_5           = s.Cont_5,
                            ContMayor1       = s.ContMayor1,
                            ContMayor2       = s.ContMayor2,
                            Departamento     = s.Departamento,
                            Empq_1           = s.Empq_1,
                            Empq_2           = s.Empq_2,
                            Empq_3           = s.Empq_3,
                            Empq_4           = s.Empq_4,
                            Empq_5           = s.Empq_5,
                            EmpqMayor1       = s.EmpqMayor1,
                            EmpqMayor2       = s.EmpqMayor2,
                            Estatus          = s.Estatus,
                            EstatusDivisa    = s.EstatusDivisa,
                            EstatusPesado    = s.EstatusPesado,
                            ExDisponible     = s.ExDisponible,
                            ExFisica         = s.ExFisica,
                            FechaUltActCosto = s.FechaUltActCosto == fechaNula ? "" : s.FechaUltActCosto.ToShortDateString(),
                            FechaUltVenta    = s.FechaUltVenta == fechaNula ? "" : s.FechaUltVenta.ToShortDateString(),
                            Grupo            = s.Grupo,
                            Id          = s.Id,
                            Modelo      = s.Modelo,
                            Nombre      = s.Nombre,
                            PNeto1      = s.PNeto1,
                            PNeto2      = s.PNeto2,
                            PNeto3      = s.PNeto3,
                            PNeto4      = s.PNeto4,
                            PNeto5      = s.PNeto5,
                            PNetoMayor1 = s.PNetoMayor1,
                            PNetoMayor2 = s.PNetoMayor2,
                            Referencia  = s.Referencia,
                            TasaIva     = s.TasaIva,
                        };
                        return(nr);
                    }).ToList();
                }
            }
            rt.ListaD = list;

            return(rt);
        }
        public DtoLib.ResultadoLista <DtoLibPos.ProductoAdm.Lista.Ficha> ProductoAdm_GetLista(DtoLibPos.ProductoAdm.Lista.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibPos.ProductoAdm.Lista.Ficha>();

            try
            {
                using (var cnn = new PosEntities(_cnPos.ConnectionString))
                {
                    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 p5 = new MySql.Data.MySqlClient.MySqlParameter();

                    var sql_1 = @" select p.auto as id, p.codigo, p.nombre, p.modelo, p.referencia, 
                                depart.nombre as Departamento, pg.nombre as grupo, 
                                fecha_ult_venta as fechaUltVenta, fecha_ult_costo as fechaUltCosto,
                                p.estatus, p.estatus_divisa as estatusDivisa, 
                                p.estatus_pesado as estatusPesado , p.tasa as tasaIva,  
                                pd.fisica as exFisica, pd.disponible as exDisponible,
                                p.precio_1 as pNeto1, p.precio_2 as pNeto2, p.precio_3 as pNeto3, p.precio_4 as pNeto4, 
                                p.precio_pto as pNeto5, p.contenido_1 as cont_1, p.contenido_2 as cont_2, 
                                p.contenido_3 as cont_3, p.contenido_4 as cont_4, p.contenido_pto as cont_5, 
                                pm1.nombre as Empq_1, pm2.nombre as Empq_2, pm3.nombre as Empq_3, 
                                pm4.nombre as Empq_4, pm5.nombre as Empq_5,
                                pext.precio_may_1 as pNetoMayor1, pext.precio_may_2 as pNetoMayor2, 
                                pext.contenido_may_1 as contMayor1, pext.contenido_may_2 as contMayor2,
                                pmMay1.nombre as EmpqMayor1,pmMay2.nombre as EmpqMayor2 ";

                    var sql_2 = @" from productos as p 
                                   join empresa_departamentos as depart on depart.auto=p.auto_departamento
                                   join productos_grupo as pg on pg.auto=p.auto_grupo
                                   join productos_deposito as pd on p.auto=pd.auto_producto 
                                   join productos_medida as pm1 on pm1.auto=p.auto_precio_1 
                                   join productos_medida as pm2 on pm2.auto=p.auto_precio_2 
                                   join productos_medida as pm3 on pm3.auto=p.auto_precio_3 
                                   join productos_medida as pm4 on pm4.auto=p.auto_precio_4 
                                   join productos_medida as pm5 on pm5.auto=p.auto_precio_pto 
                                   join productos_ext as pExt on pExt.auto_producto=p.auto 
                                   join productos_medida as pmMay1 on pmMay1.auto=pext.auto_precio_may_1 
                                   join productos_medida as pmMay2 on pmMay2.auto=pext.auto_precio_may_2 ";

                    var sql_3 = " where 1=1 ";
                    var sql_4 = "";

                    var valor = "";
                    if (filtro.Cadena.Trim() != "")
                    {
                        if (filtro.MetodoBusqueda == DtoLibPos.ProductoAdm.Lista.Enumerados.EnumMetodoBusqueda.PorCodigo)
                        {
                            var cad = filtro.Cadena.Trim().ToUpper();
                            if (cad.Substring(0, 1) == "*")
                            {
                                cad    = cad.Substring(1);
                                sql_3 += " and p.codigo like @p";
                                valor  = "%" + cad + "%";
                            }
                            else
                            {
                                sql_3 += " and p.codigo like @p";
                                valor  = cad + "%";
                            }
                        }
                        if (filtro.MetodoBusqueda == DtoLibPos.ProductoAdm.Lista.Enumerados.EnumMetodoBusqueda.PorDescripcion)
                        {
                            var cad = filtro.Cadena.Trim().ToUpper();
                            if (cad.Substring(0, 1) == "*")
                            {
                                cad    = cad.Substring(1);
                                sql_3 += " and p.nombre like @p";
                                valor  = "%" + cad + "%";
                            }
                            else
                            {
                                sql_3 += " and p.nombre like @p";
                                valor  = cad + "%";
                            }
                        }
                        if (filtro.MetodoBusqueda == DtoLibPos.ProductoAdm.Lista.Enumerados.EnumMetodoBusqueda.PorReferencia)
                        {
                            var cad = filtro.Cadena.Trim().ToUpper();
                            if (cad.Substring(0, 1) == "*")
                            {
                                cad    = cad.Substring(1);
                                sql_3 += " and p.referencia like @p";
                                valor  = "%" + cad + "%";
                            }
                            else
                            {
                                sql_3 += " and p.referencia like @p";
                                valor  = cad + "%";
                            }
                        }
                        p1.ParameterName = "@p";
                        p1.Value         = valor;
                    }

                    if (filtro.AutoDeposito.Trim() != "")
                    {
                        sql_3           += " and pd.auto_deposito=@p2 ";
                        p2.ParameterName = "@p2";
                        p2.Value         = filtro.AutoDeposito;
                    }

                    var sql = sql_1 + sql_2 + sql_3 + sql_4;
                    var q   = cnn.Database.SqlQuery <DtoLibPos.ProductoAdm.Lista.Ficha>(sql, p1, p2, p3).ToList();
                    rt.Lista = q;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }