public OOB.ResultadoEntidad <OOB.LibVenta.PosOffline.Servidor.PrepararData.Ficha> Servidor_PrepararData() { var result = new OOB.ResultadoEntidad <OOB.LibVenta.PosOffline.Servidor.PrepararData.Ficha>(); var r01 = MyData.Servidor_RecogerDataEnviar(); if (r01.Result == DtoLib.Enumerados.EnumResult.isError) { result.Mensaje = r01.Mensaje; result.Result = OOB.Enumerados.EnumResult.isError; return(result); } var rt = new OOB.LibVenta.PosOffline.Servidor.PrepararData.Ficha();; if (r01.Entidad != null) { if (r01.Entidad.Series != null) { if (r01.Entidad.Series.Count > 0) { var ls = new List <OOB.LibVenta.PosOffline.Servidor.PrepararData.Serie>(); foreach (var rs in r01.Entidad.Series) { var nr = new OOB.LibVenta.PosOffline.Servidor.PrepararData.Serie() { Auto = rs.Auto, Control = rs.Control, Correlativo = rs.Correlativo, SerieNombre = rs.SerieNombre, }; ls.Add(nr); } rt.Series = ls; } } if (r01.Entidad.Jornadas != null) { if (r01.Entidad.Jornadas.Count > 0) { var listJor = r01.Entidad.Jornadas.Select(s => { var jor = new OOB.LibVenta.PosOffline.Servidor.PrepararData.Jornada() { Id = s.Id, Cierre = new OOB.LibVenta.PosOffline.Servidor.PrepararData.MovimientoCierre() { autoUsuario = s.Cierre.autoUsuario, codigoUsuario = s.Cierre.codigoUsuario, usuario = s.Cierre.usuario, fecha = s.Cierre.fecha, hora = s.Cierre.hora, prefijo = s.Cierre.prefijo, diferencia = s.Cierre.diferencia, efectivo = s.Cierre.efectivo, divisa = s.Cierre.divisa, tarjeta = s.Cierre.tarjeta, otros = s.Cierre.otros, devolucion = s.Cierre.devolucion, subTotal = s.Cierre.subTotal, total = s.Cierre.total, mEfectivo = s.Cierre.mEfectivo, mDivisa = s.Cierre.mDivisa, mTarjeta = s.Cierre.mTarjeta, mOtro = s.Cierre.otros, mSubTotal = s.Cierre.mSubTotal, mTotal = s.Cierre.mTotal, firma = s.Cierre.firma, mFirma = s.Cierre.mFirma, // cntDivisa = s.Cierre.cntDivisa, cntDivisaUsu = s.Cierre.cntDivisaUsu, cntDoc = s.Cierre.cntDoc, cntDocFac = s.Cierre.cntDocFac, cntDocNcr = s.Cierre.cntDocNcr, montoFac = s.Cierre.montoFac, montoNcr = s.Cierre.montoNcr, }, Documentos = s.Documentos.Select(d => { var doc = new OOB.LibVenta.PosOffline.Servidor.PrepararData.Documento() { AnoRelacion = d.AnoRelacion, Aplica = d.Aplica, Base1 = d.Base1, Base2 = d.Base2, Base3 = d.Base3, CambioDar = d.CambioDar, CargoMonto_1 = d.CargoMonto_1, CargoPorc_1 = d.CargoPorc_1, CiRif = d.CiRif, ClienteDirFiscal = d.ClienteDirFiscal, ClienteId = d.ClienteId, ClienteNombre = d.ClienteNombre, ClienteTelefono = d.ClienteTelefono, CobradorAuto = d.CobradorAuto, CobradorCodigo = d.CobradorCodigo, CobradorNombre = d.CobradorNombre, CodigoSucursal = d.CodigoSucursal, PrefijoSucursal = d.Prefijo, Control = d.Control, DepositoAuto = d.DepositoAuto, DepositoCodigo = d.DepositoCodigo, DepositoNombre = d.DepositoNombre, DesctoMonto_1 = d.DesctoMonto_1, DesctoMonto_2 = d.DesctoMonto_2, DesctoPorc_1 = d.DesctoPorc_1, DesctoPorc_2 = d.DesctoPorc_2, DocumentoNro = d.DocumentoNro, Estacion = d.Estacion, FactorCambio = d.FactorCambio, Fecha = d.Fecha, Hora = d.Hora, Id = d.Id, IdJornada = d.IdJornada, IdOperador = d.IdOperador, Impuesto1 = d.Impuesto1, Impuesto2 = d.Impuesto2, Impuesto3 = d.Impuesto3, IsActiva = d.IsActiva, IsCredito = d.IsCredito, MesRelacion = d.MesRelacion, MontoBase = d.MontoBase, MontoCostoVenta = d.MontoCostoVenta, MontoDivisa = d.MontoDivisa, MontoExento = d.MontoExento, MontoImpuesto = d.MontoImpuesto, MontoRecibido = d.MontoRecibido, MontoSubt = d.MontoSubt, MontoSubtImpuesto = d.MontoSubtImpuesto, MontoSubtNeto = d.MontoSubtNeto, MontoTotal = d.MontoTotal, MontoUtilidad = d.MontoUtilidad, MontoUtilidadPorc = d.MontoUtilidadPorc, MontoVentaNeta = d.MontoVentaNeta, Renglones = d.Renglones, Serie = d.Serie, Signo = d.Signo, TasaIva1 = d.TasaIva1, TasaIva2 = d.TasaIva2, TasaIva3 = d.TasaIva3, TipoDocumento = (OOB.LibVenta.PosOffline.Servidor.PrepararData.Enumerados.EnumTipoDocumento)d.TipoDocumento, TranporteAuto = d.TranporteAuto, TranporteCodigo = d.TranporteCodigo, TranporteNombre = d.TranporteNombre, UsuarioAuto = d.UsuarioAuto, UsuarioCodigo = d.UsuarioCodigo, UsuarioNombre = d.UsuarioNombre, VendedorAuto = d.VendedorAuto, VendedorCodigo = d.VendedorCodigo, VendedorNombre = d.VendedorNombre, Tarifa = d.Tarifa, SaldoPendiente = d.SaldoPendiente, AutoConceptoMov = d.AutoConceptoMov, CodigoConceptoMov = d.CodigoConceptoMov, NombreConceptoMov = d.NombreConceptoMov, Detalles = d.Detalles.Select(dt => { var detalle = new OOB.LibVenta.PosOffline.Servidor.PrepararData.DocumentoDetalle() { AutoDepartamento = dt.AutoDepartamento, AutoGrupo = dt.AutoGrupo, AutoProducto = dt.AutoProducto, AutoSubGrupo = dt.AutoSubGrupo, AutoTasa = dt.AutoTasa, Cantidad = dt.Cantidad, CantidadUnd = dt.CantidadUnd, Categoria = dt.Categoria, CodigoProducto = dt.CodigoProducto, CostoCompraUnd = dt.CostoCompraUnd, CostoPromedioUnd = dt.CostoPromedioUnd, CostoVenta = dt.CostoVenta, Decimales = dt.Decimales, DiaEmpaqueGarantia = dt.DiaEmpaqueGarantia, EmpaqueCodigo = dt.EmpaqueCodigo, EmpaqueContenido = dt.EmpaqueContenido, EmpaqueDescripcion = dt.EmpaqueDescripcion, EsPesado = dt.EsPesado, Id = dt.Id, MontoDscto_1 = dt.MontoDscto_1, MontoDscto_2 = dt.MontoDscto_2, MontoDscto_3 = dt.MontoDscto_3, MontoIva = dt.MontoIva, NombreProducto = dt.NombreProducto, Notas = dt.Notas, PorcDscto_1 = dt.PorcDscto_1, PorcDscto_2 = dt.PorcDscto_2, PorcDscto_3 = dt.PorcDscto_3, PrecioFinal = dt.PrecioFinal, PrecioItem = dt.PrecioItem, PrecioNeto = dt.PrecioNeto, PrecioSugerido = dt.PrecioSugerido, PrecioUnd = dt.PrecioUnd, Tarifa = dt.Tarifa, TasaIva = dt.TasaIva, TipoIva = dt.TipoIva, Total = dt.Total, TotalDescuento = dt.TotalDescuento, TotalNeto = dt.TotalNeto, UtilidadMonto = dt.UtilidadMonto, UtilidadPorct = dt.UtilidadPorct, CostoCompra = dt.CostoCompra, CostoPromedio = dt.CostoPromedio, }; return(detalle); }).ToList(), MetodosPago = d.MetodosPago.Select(p => { var pago = new OOB.LibVenta.PosOffline.Servidor.PrepararData.DocumentoPago() { AutoMedioCobro = p.AutoMedioCobro, CodigoMedioCobro = p.CodigoMedioCobro, Id = p.Id, LoteNro = p.LoteNro, MedioCobro = p.MedioCobro, MontoImporte = p.MontoImporte, MontoRecibido = p.MontoRecibido, ReferenciaNro = p.ReferenciaNro, Tasa = p.Tasa, }; return(pago); }).ToList(), }; return(doc); }).ToList(), }; return(jor); }).ToList(); rt.Jornadas = listJor; } } } result.Entidad = rt; return(result); }
public Ficha(OOB.LibVenta.PosOffline.Servidor.PrepararData.Ficha data) : this() { Jornadas = data.Jornadas.Select(s => { var nj = new OOB.LibVenta.PosOffline.Servidor.EnviarData.Jornada() { Id = s.Id, EstatusTransmitida = "T", }; return(nj); }).ToList(); Series = data.Series.Select(s => { var ns = new OOB.LibVenta.PosOffline.Servidor.EnviarData.Serie() { Auto = s.Auto, Correlativo = s.Correlativo, }; return(ns); }).ToList(); foreach (var jor in data.Jornadas) { var prefijo = jor.Cierre.prefijo; var c = jor.Cierre; var cierre = new OOB.LibVenta.PosOffline.Servidor.EnviarData.MovCierre() { autoUsuario = c.autoUsuario, codigoUsuario = c.codigoUsuario, usuario = c.usuario, fecha = c.fecha, hora = c.hora, diferencia = c.diferencia, efectivo = c.efectivo, divisa = c.divisa, debito = c.tarjeta, otros = c.otros, firma = c.firma, devolucion = c.devolucion, subTotal = c.subTotal, total = c.total, mfectivo = c.mEfectivo, mdivisa = c.mDivisa, mdebito = c.mTarjeta, motros = c.mOtro, mfirma = c.mFirma, msubtotal = c.mSubTotal, mtotal = c.mTotal, // cntDivisa = c.cntDivisa, cntDivisaUsuario = c.cntDivisaUsu, cntDoc = c.cntDoc, cntDocFac = c.cntDocFac, cntDocNcr = c.cntDocNcr, montoFac = c.montoFac, montoNcr = c.montoNcr, }; var listDoc = new List <Documento>(); listDoc = jor.Documentos.Where(w => w.IsActiva).Select(d => { var nd = new OOB.LibVenta.PosOffline.Servidor.EnviarData.Documento() { AnoRelacion = d.AnoRelacion, AnticipoIva = 0, Aplica = d.Aplica, AutoCliente = "0000000001", AutoCxC = "", AutoRecibo = "", AutoRemision = "", AutoTransporte = d.TranporteAuto, AutoUsuario = d.UsuarioAuto, AutoVendedor = d.VendedorAuto, Base1 = d.Base1, Base2 = d.Base2, Base3 = d.Base3, Cambio = d.CambioDar, Cargos = d.CargoMonto_1, Cargosp = d.CargoPorc_1, CiBeneficiario = "", Cierre = "", CiRif = d.CiRif, CiTitular = "", Clave = "", CodigoCliente = "01", CodigoSucursal = d.CodigoSucursal, CodigoTransporte = d.TranporteCodigo, CodigoUsuario = d.UsuarioCodigo, CodigoVendedor = d.VendedorCodigo, Columna = "1", ComprobanteRetencion = "", ComprobanteRetencionIslr = "", CondicionPago = d.CondicionPago, Control = d.Control, Costo = d.MontoCostoVenta, DenominacionFiscal = "No Contribuyente", Descuento1 = d.DesctoMonto_1, Descuento1p = d.DesctoPorc_1, Descuento2 = d.DesctoMonto_2, Descuento2p = d.DesctoPorc_2, Despachado = "", Dias = 0, DiasValidez = 0, DirDespacho = "", DirFiscal = d.ClienteDirFiscal, DocumentoNombre = d.DocumentoNombreVenta, DocumentoNro = d.DocumentoNro, DocumentoRemision = "", DocumentoTipo = "Ventas", Estacion = d.Estacion, EstatusAnulado = d.EstatusAnulado, EstatusCierreContable = "0", EstatusValidado = "0", Exento = d.MontoExento, Expendiente = "", FactorCambio = d.FactorCambio, Fecha = d.Fecha, FechaPedido = d.Fecha, FechaRegistro = d.Fecha, FechaRetencion = new DateTime(2000, 01, 01), FechaVencimiento = d.Fecha, Hora = d.Hora, Impuesto = d.MontoImpuesto, Impuesto1 = d.Impuesto1, Impuesto2 = d.Impuesto2, Impuesto3 = d.Impuesto3, MBase = d.MontoBase, MesRelacion = d.MesRelacion, MontoDivisa = d.MontoDivisa, Neto = d.MontoVentaNeta, NombreBeneficiario = "", NombreTitular = "", Nota = "", OrdenCompra = "", Pedido = "", Planilla = "", RazonSocial = d.ClienteNombre, Recibo = "", Renglones = d.Renglones, RetencionIslr = 0.0m, RetencionIva = 0.0m, SaldoPendiente = d.SaldoPendiente, Serie = d.Serie, Signo = d.Signo, Situacion = "Procesado", SubTotal = d.MontoSubt, SubTotalImpuesto = d.MontoSubtImpuesto, SubTotalNeto = d.MontoSubtNeto, Tarifa = d.Tarifa, Tasa1 = d.TasaIva1, Tasa2 = d.TasaIva2, Tasa3 = d.TasaIva3, TasaRetencionIslr = 0.0m, TasaRetencionIva = 0.0m, Telefono = d.ClienteTelefono, TercerosIva = 0, Tipo = d.Codigo, TipoCliente = "", TipoRemision = "", Total = d.MontoTotal, Transporte = d.TranporteNombre, Usuario = d.UsuarioNombre, Utilidad = d.MontoUtilidad, Utilidadp = d.MontoUtilidadPorc, Vendedor = d.VendedorNombre, PrefijoSucursal = d.PrefijoSucursal, DocCxC = new CxC() { CCobranza = 0.0m, CCobranzap = 0.0m, Fecha = d.Fecha, TipoDocumento = d.TipoDocumentoCxC, Documento = d.DocumentoNro, FechaVencimiento = d.Fecha, Nota = "", Importe = d.MontoTotal, Acumulado = d.AcumuladoCxC, AutoCliente = "0000000001", Cliente = d.ClienteNombre, CiRif = d.CiRif, CodigoCliente = "01", EstatusCancelado = d.EstatusPagado, Resta = d.SaldoPendiente, EstatusAnulado = d.EstatusAnulado, AutoDocumento = "", Numero = "", AutoAgencia = "0000000001", Agencia = "", Signo = d.Signo, AutoVendedor = d.VendedorAuto, CDepartamento = 0.0m, CVentas = 0.0m, CVentasp = 0.0m, Serie = d.Serie, ImporteNeto = d.MontoVentaNeta, Dias = 0, Castigop = 0.0m, FactorCambio = d.FactorCambio, ImporteDivisa = d.MontoDivisa, }, //DocPago = ((d.TipoDocumento != PrepararData.Enumerados.EnumTipoDocumento.NotaCredito) || (!d.IsCredito)) ? new CxCPago(d) : null, DocPago = (d.IsCredito || d.TipoDocumento == PrepararData.Enumerados.EnumTipoDocumento.NotaCredito) ? null : new CxCPago(d), Detalles = d.Detalles.Select(dt => { var md = new OOB.LibVenta.PosOffline.Servidor.EnviarData.DocumentoDetalle() { Auto = "", AutoCliente = "0000000001", AutoDepartamento = dt.AutoDepartamento, AutoDeposito = d.DepositoAuto, AutoGrupo = dt.AutoGrupo, AutoProducto = dt.AutoProducto, AutoSubGrupo = dt.AutoSubGrupo, AutoTasa = dt.AutoTasa, AutoVendedor = d.VendedorAuto, Cantidad = dt.Cantidad, CantidadUnd = dt.CantidadUnd, Categoria = dt.Categoria, Cobranza = 0.0m, Cobranzap = 0.0m, CobranzapVendedor = 0.0m, CobranzaVendedor = 0.0m, Codigo = dt.CodigoProducto, CodigoDeposito = d.DepositoCodigo, CodigoVendedor = d.VendedorCodigo, ContenidoEmpaque = dt.EmpaqueContenido, Corte = "", CostoCompra = dt.CostoCompra, CostoPromedioUnd = dt.CostoPromedioUnd, CostoUnd = dt.CostoCompraUnd, CostoVenta = dt.CostoVenta, Decimales = dt.Decimales, Deposito = d.DepositoNombre, Descuento1 = 0.0m, Descuento1p = 0.0m, Descuento2 = 0.0m, Descuento2p = 0.0m, Descuento3 = 0.0m, Descuento3p = 0.0m, Detalle = "", DiasGarantia = 0, Empaque = dt.EmpaqueDescripcion, EstatusAnulado = d.EstatusAnulado, EstatusChecked = "1", EstatusCorte = "0", EstatusGarantia = "0", EstatusSerial = "0", Fecha = d.Fecha, Hora = d.Hora, Impuesto = dt.MontoIva, Nombre = dt.NombreProducto, PrecioFinal = dt.PrecioFinal, PrecioItem = dt.PrecioItem, PrecioNeto = dt.PrecioNeto, PrecioSugerido = dt.PrecioSugerido, PrecioUnd = dt.PrecioUnd, Signo = d.Signo, Tarifa = dt.Tarifa, Tasa = dt.TasaIva, Tipo = d.Codigo, Total = dt.Total, TotalDescuento = dt.TotalDescuento, TotalNeto = dt.TotalNeto, Utilidad = dt.UtilidadMonto, Utilidadp = dt.UtilidadPorct, Ventas = 0.0m, Ventasp = 0.0m, VentaspVendedor = 0.0m, VentasVendedor = 0.0m, X = 1.0m, Y = 1.0m, Z = 1.0m, }; return(md); }).ToList(), MovKardex = d.Detalles.Select(dt => { var mk = new OOB.LibVenta.PosOffline.Servidor.EnviarData.ProductoKardex() { AutoConcepto = d.AutoConceptoMov, AutoDeposito = d.DepositoAuto, AutoProducto = dt.AutoProducto, Cantidad = dt.Cantidad, CantidadBono = 0, CantidadUnd = dt.CantidadUnd, Codigo = d.Codigo, CodigoSucursal = d.CodigoSucursal, CostoUnd = dt.CostoPromedioUnd, Documento = d.DocumentoNro, Entidad = "NO CONTRIBUYENTE NA", EstatusAnulado = d.EstatusAnulado, Fecha = d.Fecha, Hora = d.Hora, Modulo = "Ventas", Nota = "", PrecioUnd = dt.PrecioUnd, Siglas = d.Siglas, Signo = d.Signo * (-1), Total = dt.CostoVenta, CodigoConcepto = d.CodigoConceptoMov, NombreConcepto = d.NombreConceptoMov, CodigoDeposito = d.DepositoCodigo, NombreDeposito = d.DepositoNombre, }; return(mk); }).ToList(), ActDeposito = d.Deposito.GroupBy(g => new { g.AutoProducto, g.AutoDeposito }). Select(gc => new OOB.LibVenta.PosOffline.Servidor.EnviarData.ProductoDeposito() { AutoDeposito = gc.Key.AutoDeposito, AutoProducto = gc.Key.AutoProducto, CantUnd = gc.Sum(t => t.CantidadUnd), }).ToList(), }; var auto = 1; foreach (var det in nd.Detalles) { det.Auto = auto.ToString().Trim().PadLeft(10, '0'); auto += 1; } return(nd); }).ToList(); var mov = new Movimiento(); mov.Cierre = cierre; mov.Documentos = listDoc; mov.Prefijo = prefijo; Movimientos.Add(mov); } }