public OOB.ResultadoEntidad <OOB.LibInventario.Visor.CostoEdad.Ficha> Visor_CostoEdad(OOB.LibInventario.Visor.CostoEdad.Filtro filtro)
        {
            var rt = new OOB.ResultadoEntidad <OOB.LibInventario.Visor.CostoEdad.Ficha>();

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

            filtroDto.autoDepartamento = filtro.autoDepartamento;
            filtroDto.autoDeposito     = filtro.autoDeposito;

            var r01 = MyData.Visor_CostoEdad(filtroDto);

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

            rt.Entidad = new OOB.LibInventario.Visor.CostoEdad.Ficha();
            rt.Entidad.fechaServidor = DateTime.Now.Date;
            var list = new List <OOB.LibInventario.Visor.CostoEdad.FichaDetalle>();

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

                            return(new OOB.LibInventario.Visor.CostoEdad.FichaDetalle()
                            {
                                autoDepart = s.autoDepart,
                                autoDeposito = s.autoDeposito,
                                autoPrd = s.autoPrd,
                                cntFisica = s.cntFisica,
                                codigoDepart = s.codigoDepart,
                                codigoDeposito = s.codigoDeposito,
                                codigoPrd = s.codigoPrd,
                                decimales = s.decimales,
                                nivelMinimo = s.nivelMinimo,
                                nivelOptimo = s.nivelOptimo,
                                nombreDepart = s.nombreDepart,
                                nombreDeposito = s.nombreDeposito,
                                nombrePrd = s.nombrePrd,
                                costoUnd = s.costoUnd,
                                fechaUltActCosto = s.fechaUltActCosto,
                                fechaUltVenta = s.fechaUltVenta,
                                costoDivisaUnd = s.costoDivisaUnd,
                                esAdmDivisa = s.esAdmDivisa,
                                esPesado = s.esPesado,
                                estatus = estatus,
                            });
                        }).ToList();
                    }
                }
                rt.Entidad.fechaServidor = se.fechaServidor;
            }
            rt.Entidad.detalles = list;

            return(rt);
        }
 public DtoLib.ResultadoEntidad <DtoLibInventario.Visor.CostoEddad.Ficha> Visor_CostoEdad(DtoLibInventario.Visor.CostoEddad.Filtro filtro)
 {
     return(ServiceProv.Visor_CostoEdad(filtro));
 }
        public DtoLib.ResultadoEntidad <DtoLibInventario.Visor.CostoEddad.Ficha> Visor_CostoEdad(DtoLibInventario.Visor.CostoEddad.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoEntidad <DtoLibInventario.Visor.CostoEddad.Ficha>();

            try
            {
                using (var cnn = new invEntities(_cnInv.ConnectionString))
                {
                    var fechaSistema = cnn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault();

                    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();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    if (filtro.autoDepartamento != "")
                    {
                        sql += " and p.auto_departamento=@autoDepartamento ";
                        p1.ParameterName = "@autoDepartamento";
                        p1.Value         = filtro.autoDepartamento;
                    }
                    if (filtro.autoDeposito != "")
                    {
                        sql += " and pdep.auto_deposito=@autoDeposito";
                        p2.ParameterName = "@autoDeposito";
                        p2.Value         = filtro.autoDeposito;
                    }

                    var lst = cnn.Database.SqlQuery <DtoLibInventario.Visor.CostoEddad.FichaDetalle>(sql, p1, p2).ToList();
                    rt.Entidad = new DtoLibInventario.Visor.CostoEddad.Ficha();
                    rt.Entidad.fechaServidor = fechaSistema.Date;
                    rt.Entidad.detalles      = lst;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }