public OOB.ResultadoLista <OOB.LibInventario.Visor.CostoExistencia.Ficha> Visor_CostoExistencia(OOB.LibInventario.Visor.CostoExistencia.Filtro filtro)
        {
            var rt = new OOB.ResultadoLista <OOB.LibInventario.Visor.CostoExistencia.Ficha>();

            var filtroDto = new DtoLibInventario.Visor.CostoExistencia.Filtro();

            filtroDto.autoDepartamento = filtro.autoDepartamento;
            filtroDto.autoDeposito     = filtro.autoDeposito;
            var r01 = MyData.Visor_CostoExistencia(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.Visor.CostoExistencia.Ficha>();

            if (r01.Lista != null)
            {
                var se = r01.Lista;
                if (se.Count > 0)
                {
                    list = se.Select(s =>
                    {
                        var estatus = "Activo";
                        if (s.estatusActivo == "1")
                        {
                            estatus = "Inactivo";
                        }
                        else
                        if (s.estatusSuspendido == "1")
                        {
                            estatus = "Suspendido";
                        }

                        return(new OOB.LibInventario.Visor.CostoExistencia.Ficha()
                        {
                            autoDepart = s.autoDepart,
                            autoDeposito = s.autoDeposito,
                            autoPrd = s.autoPrd,
                            cntFisica = s.cntFisica,
                            codigoDepart = s.codigoDepart,
                            codigoDeposito = s.codigoDeposito,
                            codigoPrd = s.codigoPrd,
                            decimales = s.decimales,
                            nombreDepart = s.nombreDepart,
                            nombreDeposito = s.nombreDeposito,
                            nombrePrd = s.nombrePrd,
                            costoUnd = s.costoUnd,
                            fechaUltActCosto = s.fechaUltActCosto,
                            costoDivisaUnd = s.costoDivisaUnd,
                            esAdmDivisa = s.esAdmDivisa,
                            esPesado = s.esPesado,
                            estatus = estatus,
                        });
                    }).ToList();
                }
                rt.Lista = list;
            }

            return(rt);
        }
 public DtoLib.ResultadoLista <DtoLibInventario.Visor.CostoExistencia.Ficha> Visor_CostoExistencia(DtoLibInventario.Visor.CostoExistencia.Filtro filtro)
 {
     return(ServiceProv.Visor_CostoExistencia(filtro));
 }
        public DtoLib.ResultadoLista <DtoLibInventario.Visor.CostoExistencia.Ficha> Visor_CostoExistencia(DtoLibInventario.Visor.CostoExistencia.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibInventario.Visor.CostoExistencia.Ficha>();

            try
            {
                using (var cnn = new invEntities(_cnInv.ConnectionString))
                {
                    var sql = "SELECT p.nombre as nombrePrd, p.codigo as codigoPrd, p.auto as autoPrd, p.divisa as costoDivisa, " +
                              "p.contenido_compras as contenidoCompras, " +
                              "case when p.estatus='Activo' then '0' else '1' end as estatusActivo, " +
                              "p.estatus_cambio as estatusSuspendido, " +
                              "case when p.estatus_pesado='0' then 'N' when p.estatus_pesado='1' then 'S' end as esPesado, " +
                              "case when p.estatus_divisa='0' then 'N' when p.estatus_divisa='1' then 'S' end as esAdmDivisa, " +
                              "pdep.fisica as cntFisica, pdep.nivel_minimo as nivelMinimo, pdep.nivel_optimo as nivelOptimo, " +
                              "edep.auto as autoDeposito, edep.nombre as nombreDeposito, edep.codigo as codigoDeposito, " +
                              "edepart.auto as autoDepart, edepart.codigo as codigoDepart, edepart.nombre as nombreDepart, " +
                              "pmed.decimales, p.costo_und as costoUnd, p.fecha_ult_costo as fechaUltActCosto, p.fecha_ult_venta as fechaUltVenta  " +
                              "FROM `productos_deposito` as pdep " +
                              "join empresa_depositos as edep on pdep.auto_deposito=edep.auto " +
                              "join productos as p on pdep.auto_producto=p.auto " +
                              "join empresa_departamentos as edepart on p.auto_departamento=edepart.auto " +
                              "join productos_medida as pmed on p.auto_empaque_compra=pmed.auto " +
                              "WHERE 1 = 1 and (pdep.fisica<>0) ";

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

                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    if (filtro.autoDeposito != "")
                    {
                        sql += " and pdep.auto_deposito=@autoDeposito ";
                        p2.ParameterName = "@autoDeposito";
                        p2.Value         = filtro.autoDeposito;
                    }

                    var lst = cnn.Database.SqlQuery <DtoLibInventario.Visor.CostoExistencia.Ficha>(sql, p1, p2).ToList();
                    rt.Lista = lst;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }