Exemplo n.º 1
0
        public OOB.Resultado.Lista <OOB.Producto.Lista.Ficha> Producto_GetLista(OOB.Producto.Lista.Filtro filtro)
        {
            var result = new OOB.Resultado.Lista <OOB.Producto.Lista.Ficha>();

            var filtroDTO = new DtoLibPos.Producto.Lista.Filtro()
            {
                AutoDeposito    = filtro.autoDeposito,
                IdPrecioManejar = filtro.idPrecioManejar,
                Cadena          = filtro.cadena,
                IsPorPlu        = filtro.isPorPlu,
            };
            var r01 = MyData.Producto_GetLista(filtroDTO);

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

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

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    lst = r01.Lista.Select(s =>
                    {
                        var nr = new OOB.Producto.Lista.Ficha()
                        {
                            Auto             = s.Auto,
                            Codigo           = s.Codigo,
                            Contenido        = s.Contenido,
                            Decimales        = s.Decimales,
                            Empaque          = s.Empaque,
                            Estatus          = s.Estatus,
                            EstatusDivisa    = s.EstatusDivisa,
                            EstatusPesado    = s.EstatusPesado,
                            ExDisponible     = s.ExDisponible,
                            ExFisica         = s.ExFisica,
                            Nombre           = s.Nombre,
                            PrecioFullDivisa = s.PrecioFullDivisa,
                            PrecioNeto       = s.PrecioNeto,
                            TasaIva          = s.TasaIva,
                            PLU                 = s.PLU,
                            ContenidoMay        = s.contenidoMay,
                            DecimalesMay        = s.decimalesMay,
                            EmpaqueMay          = s.empaqueMay,
                            PrecioFullDivisaMay = s.precioFullDivisaMay,
                        };
                        return(nr);
                    }).ToList();
                }
            }
            result.ListaD = lst;

            return(result);
        }
        public DtoLib.ResultadoLista <DtoLibPos.Producto.Lista.Ficha> Producto_GetLista(DtoLibPos.Producto.Lista.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibPos.Producto.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, p.codigo, p.nombre, p.estatus, p.estatus_divisa as estatusDivisa, " +
                                "p.estatus_pesado as estatusPesado , p.tasa as tasaIva, p.plu, " +
                                "pd.fisica as exFisica, pd.disponible as exDisponible ";

                    var sql_2 = " from productos as p " +
                                " join productos_deposito as pd on p.auto=pd.auto_producto ";

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

                    if (filtro.Cadena.Trim() != "")
                    {
                        var cad = filtro.Cadena.Trim();
                        if (cad.Substring(0, 1) == "*")
                        {
                            cad = "%" + cad.Substring(1);
                        }
                        sql_3           += " and p.nombre like @p1 ";
                        p1.ParameterName = "@p1";
                        p1.Value         = cad + "%";
                    }

                    if (filtro.IsPorPlu)
                    {
                        sql_3 += " and p.plu<>'' ";
                    }

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

                    if (filtro.IdPrecioManejar.Trim() != "")
                    {
                        var idPrecio = filtro.IdPrecioManejar.Trim();
                        switch (idPrecio)
                        {
                        case "1":
                            sql_1 += " ,p.precio_1 as precioNeto, p.pdf_1 as precioFullDivisa, " +
                                     "p.contenido_1 as contenido, pm.decimales, pm.nombre as empaque ";
                            sql_2 += " join productos_medida as pm on p.auto_precio_1=pm.auto ";
                            break;

                        case "2":
                            sql_1 += " ,p.precio_2 as precioNeto, p.pdf_2 as precioFullDivisa, " +
                                     "p.contenido_2 as contenido, pm.decimales, pm.nombre as empaque ";
                            sql_2 += " join productos_medida as pm on p.auto_precio_2=pm.auto ";
                            break;

                        case "3":
                            sql_1 += " ,p.precio_3 as precioNeto, p.pdf_3 as precioFullDivisa, " +
                                     "p.contenido_3 as contenido, pm.decimales, pm.nombre as empaque ";
                            sql_2 += " join productos_medida as pm on p.auto_precio_3=pm.auto ";
                            break;

                        case "4":
                            sql_1 += " ,p.precio_4 as precioNeto, p.pdf_4 as precioFullDivisa, " +
                                     "p.contenido_4 as contenido, pm.decimales, pm.nombre as empaque ";
                            sql_2 += " join productos_medida as pm on p.auto_precio_4=pm.auto ";
                            break;

                        case "5":
                            sql_1 += " ,p.precio_pto as precioNeto, p.pdf_pto as precioFullDivisa, " +
                                     "p.contenido_pto as contenido, pm.decimales, pm.nombre as empaque ";
                            sql_2 += " join productos_medida as pm on p.auto_precio_pto=pm.auto ";
                            break;
                        }
                    }
                    else
                    {
                        sql_1 += " ,p.precio_1 as precioNeto, p.pdf_1 as precioFullDivisa, " +
                                 "p.contenido_1 as contenido, pm.decimales, pm.nombre as empaque ";
                        sql_2 += " join productos_medida as pm on p.auto_precio_1=pm.auto ";
                    }
                    sql_1 += @" ,pe.pdmf_1 as precioFullDivisaMay, pe.contenido_may_1 contenidoMay ";
                    sql_2 += @" join productos_ext as pe on p.auto=pe.auto_producto ";
                    var sql = sql_1 + sql_2 + sql_3 + sql_4;
                    var q   = cnn.Database.SqlQuery <DtoLibPos.Producto.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);
        }
 public DtoLib.ResultadoLista <DtoLibPos.Producto.Lista.Ficha> Producto_GetLista(DtoLibPos.Producto.Lista.Filtro filtro)
 {
     return(ServiceProv.Producto_GetLista(filtro));
 }