public OOB.ResultadoEntidad <OOB.LibInventario.Costo.Historico.Ficha> HistoricoCosto_GetLista(OOB.LibInventario.Costo.Historico.Filtro filtro)
        {
            var rt = new OOB.ResultadoEntidad <OOB.LibInventario.Costo.Historico.Ficha>();

            var filtroDTO = new DtoLibInventario.Costo.Historico.Filtro()
            {
                autoProducto = filtro.autoProducto,
            };
            var r01 = MyData.HistoricoCosto_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.LibInventario.Costo.Historico.Data>();

            if (r01.Entidad.data != null)
            {
                if (r01.Entidad.data.Count > 0)
                {
                    list = r01.Entidad.data.Select(s =>
                    {
                        return(new OOB.LibInventario.Costo.Historico.Data()
                        {
                            estacion = s.estacion,
                            fecha = s.fecha,
                            hora = s.hora,
                            nota = s.nota,
                            usuario = s.usuario,
                            costo = s.costo,
                            costoDivisa = s.costoDivisa,
                            tasaDivisa = s.tasaDivisa,
                            serie = s.serie,
                            documento = s.documento,
                            modoCambio = (OOB.LibInventario.Costo.Enumerados.enumModoCambio)s.modoCambio,
                        });
                    }).ToList();
                }
            }
            rt.Entidad = new OOB.LibInventario.Costo.Historico.Ficha()
            {
                codigo      = r01.Entidad.codigo,
                descripcion = r01.Entidad.descripcion,
                data        = list,
            };

            return(rt);
        }
Exemplo n.º 2
0
 public DtoLib.ResultadoEntidad <DtoLibInventario.Costo.Historico.Resumen> HistoricoCosto_GetLista(DtoLibInventario.Costo.Historico.Filtro filtro)
 {
     return(ServiceProv.HistoricoCosto_GetLista(filtro));
 }
        public DtoLib.ResultadoEntidad <DtoLibInventario.Costo.Historico.Resumen> HistoricoCosto_GetLista(DtoLibInventario.Costo.Historico.Filtro filtro)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibInventario.Costo.Historico.Resumen>();

            try
            {
                using (var cnn = new invEntities(_cnInv.ConnectionString))
                {
                    var entprd = cnn.productos.Find(filtro.autoProducto);
                    if (entprd == null)
                    {
                        result.Result  = DtoLib.Enumerados.EnumResult.isError;
                        result.Mensaje = "[ ID ] PRODUCTO NO ENCONTRADO";
                        return(result);
                    }

                    var q    = cnn.productos_costos.Where(f => f.auto_producto == filtro.autoProducto && f.serie.Trim() != "").ToList();
                    var list = new List <DtoLibInventario.Costo.Historico.Data>();
                    if (q != null)
                    {
                        if (q.Count() > 0)
                        {
                            list = q.Select(s =>
                            {
                                var _modoCambio = DtoLibInventario.Costo.Enumerados.enumModoCambio.SinDefinir;
                                switch (s.serie.Trim().ToUpper())
                                {
                                case "FAC":
                                    _modoCambio = DtoLibInventario.Costo.Enumerados.enumModoCambio.PorCompra;
                                    break;

                                case "ORD":
                                    _modoCambio = DtoLibInventario.Costo.Enumerados.enumModoCambio.PorOrdenCompra;
                                    break;

                                case "MAN":
                                    _modoCambio = DtoLibInventario.Costo.Enumerados.enumModoCambio.ManualPorInventario;
                                    break;

                                case "LIS":
                                    _modoCambio = DtoLibInventario.Costo.Enumerados.enumModoCambio.PoListaPrecioProveedor;
                                    break;
                                }
                                var r = new DtoLibInventario.Costo.Historico.Data()
                                {
                                    costo       = s.costo,
                                    costoDivisa = s.costo_divisa,
                                    documento   = s.documento,
                                    estacion    = s.estacion,
                                    fecha       = s.fecha,
                                    hora        = s.hora,
                                    modoCambio  = _modoCambio,
                                    nota        = s.nota,
                                    serie       = s.serie,
                                    tasaDivisa  = s.divisa,
                                    usuario     = s.usuario,
                                };
                                return(r);
                            }).ToList();
                        }
                    }
                    var nr = new DtoLibInventario.Costo.Historico.Resumen();
                    nr.codigo      = entprd.codigo;
                    nr.descripcion = entprd.nombre;
                    nr.data        = list;
                    result.Entidad = nr;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }