public DtoLib.ResultadoEntidad <DtoLibInventario.Kardex.Movimiento.Detalle.Ficha> Producto_Kardex_Movimiento_Lista_Detalle(DtoLibInventario.Kardex.Movimiento.Detalle.Filtro filtro) { var result = new DtoLib.ResultadoEntidad <DtoLibInventario.Kardex.Movimiento.Detalle.Ficha>(); try { using (var cnn = new invEntities(_cnInv.ConnectionString)) { var fechaServidor = cnn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); DateTime?desde = fechaServidor.Date; if (filtro.ultDias != DtoLibInventario.Kardex.Enumerados.EnumMovUltDias.SinDefinir) { switch (filtro.ultDias) { case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias.Hoy: desde = desde.Value.AddDays(-1); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias.Ayer: desde = desde.Value.AddDays(-2); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._7Dias: desde = desde.Value.AddDays(-7); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._15Dias: desde = desde.Value.AddDays(-15); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._30Dias: desde = desde.Value.AddDays(-30); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._45Dias: desde = desde.Value.AddDays(-45); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._60Dias: desde = desde.Value.AddDays(-60); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._90Dias: desde = desde.Value.AddDays(-90); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._120Dias: desde = desde.Value.AddDays(-120); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias.Todo: desde = desde.Value.AddDays(-365); break; } } var entPrd = cnn.productos.Find(filtro.autoProducto); if (entPrd == null) { result.Mensaje = "[ ID ] PRODUCTO NO ENCOTRADO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var _empaqueCompra = ""; var _decimales = "0"; var _existencia = 0.0m; var entPrdEx = cnn.productos_deposito.Where(w => w.auto_producto == filtro.autoProducto && w.auto_deposito == filtro.autoDeposito).ToList(); var entPrdEmp = cnn.productos_medida.Find(entPrd.auto_empaque_compra); if (entPrdEx.Count > 0) { _existencia = entPrdEx.Sum(s => s.fisica); } if (entPrdEmp != null) { _empaqueCompra = entPrdEmp.nombre; _decimales = entPrdEmp.decimales; } var q = cnn.productos_kardex.Where(f => f.auto_producto == filtro.autoProducto && f.auto_deposito == filtro.autoDeposito && f.auto_concepto == filtro.autoConcepto && f.modulo == filtro.modulo && f.fecha > desde ).ToList(); var list = new List <DtoLibInventario.Kardex.Movimiento.Detalle.Data>(); if (q != null) { if (q.Count() > 0) { list = q.Select(s => { var _isAnulado = s.estatus_anulado.Trim().ToUpper() == "1" ? true : false; var _modulo = DtoLibInventario.Kardex.Enumerados.EnumModulo.SinDefinir; switch (s.modulo.Trim().ToUpper()) { case "INVENTARIO": _modulo = DtoLibInventario.Kardex.Enumerados.EnumModulo.Inventario; break; case "COMPRAS": _modulo = DtoLibInventario.Kardex.Enumerados.EnumModulo.Compra; break; case "VENTAS": _modulo = DtoLibInventario.Kardex.Enumerados.EnumModulo.Venta; break; } var _siglas = DtoLibInventario.Kardex.Enumerados.EnumSiglas.SinDefinir; switch (s.siglas.Trim().ToUpper()) { case "FAC": _siglas = DtoLibInventario.Kardex.Enumerados.EnumSiglas.Factura; break; case "NCR": _siglas = DtoLibInventario.Kardex.Enumerados.EnumSiglas.NCredito; break; case "NDB": _siglas = DtoLibInventario.Kardex.Enumerados.EnumSiglas.NDebito; break; case "NEN": _siglas = DtoLibInventario.Kardex.Enumerados.EnumSiglas.NEntrega; break; case "CAR": _siglas = DtoLibInventario.Kardex.Enumerados.EnumSiglas.Cargo; break; case "DES": _siglas = DtoLibInventario.Kardex.Enumerados.EnumSiglas.Descargo; break; case "TRA": _siglas = DtoLibInventario.Kardex.Enumerados.EnumSiglas.Traslado; break; case "AJU": _siglas = DtoLibInventario.Kardex.Enumerados.EnumSiglas.Ajuste; break; } var r = new DtoLibInventario.Kardex.Movimiento.Detalle.Data() { autoConcepto = s.auto_concepto, autoDeposito = s.auto_deposito, autoDocumento = s.auto_documento, cantidad = s.cantidad, cantidadBono = s.cantidad_bono, cantidadUnd = s.cantidad_und, codigoDoc = s.codigo, codigoSucursal = s.codigo_sucursal, costoUnd = s.costo_und, documento = s.documento, entidad = s.entidad, fecha = s.fecha, hora = s.hora, isAnulado = _isAnulado, Modulo = _modulo, moduloDoc = s.modulo, nota = s.nota, precioUnd = s.precio_und, Siglas = _siglas, siglasDoc = s.siglas, signoDoc = s.signo, total = s.total, }; return(r); }).ToList(); var rt = new DtoLibInventario.Kardex.Movimiento.Detalle.Ficha() { codigoProducto = entPrd.codigo, contenidoEmp = entPrd.contenido_compras, EmpaqueCompra = _empaqueCompra, existencia = _existencia, nombreProducto = entPrd.nombre, referenciaProducto = entPrd.referencia, decimales = _decimales, Data = list, }; result.Entidad = rt; } } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibInventario.Kardex.Movimiento.Detalle.Ficha> Producto_Kardex_Movimiento_Lista_Detalle(DtoLibInventario.Kardex.Movimiento.Detalle.Filtro filtro) { return(ServiceProv.Producto_Kardex_Movimiento_Lista_Detalle(filtro)); }
public OOB.ResultadoEntidad <OOB.LibInventario.Kardex.Movimiento.Detalle.Ficha> Producto_Kardex_Movimiento_Lista_Detalle(OOB.LibInventario.Kardex.Movimiento.Detalle.Filtro filtro) { var rt = new OOB.ResultadoEntidad <OOB.LibInventario.Kardex.Movimiento.Detalle.Ficha>(); var filtroDTO = new DtoLibInventario.Kardex.Movimiento.Detalle.Filtro() { autoProducto = filtro.autoProducto, ultDias = (DtoLibInventario.Kardex.Enumerados.EnumMovUltDias)filtro.ultDias, autoConcepto = filtro.autoConcepto, autoDeposito = filtro.autoDeposito, modulo = filtro.modulo, }; var r01 = MyData.Producto_Kardex_Movimiento_Lista_Detalle(filtroDTO); if (r01.Result == DtoLib.Enumerados.EnumResult.isError) { rt.Mensaje = r01.Mensaje; rt.Result = OOB.Enumerados.EnumResult.isError; return(rt); } var s = r01.Entidad; var nr = new OOB.LibInventario.Kardex.Movimiento.Detalle.Ficha() { codigoProducto = s.codigoProducto, contenidoEmp = s.contenidoEmp, EmpaqueCompra = s.EmpaqueCompra, existencia = s.existencia, nombreProducto = s.nombreProducto, referenciaProducto = s.referenciaProducto, decimales = s.decimales, }; var lst = s.Data.Select(ss => { var reg = new OOB.LibInventario.Kardex.Movimiento.Detalle.Data() { autoConcepto = ss.autoConcepto, autoDeposito = ss.autoDeposito, autoDocumento = ss.autoDocumento, cantidad = ss.cantidad, cantidadBono = ss.cantidadBono, cantidadUnd = ss.cantidadUnd, codigoDoc = ss.codigoDoc, codigoSucursal = ss.codigoSucursal, costoUnd = ss.costoUnd, documento = ss.documento, entidad = ss.entidad, fecha = ss.fecha, hora = ss.hora, isAnulado = ss.isAnulado, Modulo = (OOB.LibInventario.Kardex.Enumerados.EnumModulo)ss.Modulo, moduloDoc = ss.moduloDoc, nota = ss.nota, precioUnd = ss.precioUnd, Siglas = (OOB.LibInventario.Kardex.Enumerados.EnumSiglas)ss.Siglas, siglasDoc = ss.siglasDoc, signoDoc = ss.signoDoc, total = ss.total, }; return(reg); }).ToList(); nr.Data = lst; rt.Entidad = nr; return(rt); }