public override IElementoDeDatos ConvertirRegistroEnElemento(MapaDeTabla mapa, Lfx.Data.Row externalRow, Lfx.Data.Row internalRow) { switch (mapa.TablaLazaro) { case "ctacte": Lbl.IElementoDeDatos ElemMovim = base.ConvertirRegistroEnElemento(mapa, externalRow, internalRow); Lbl.CuentasCorrientes.Movimiento Movim = ElemMovim as Lbl.CuentasCorrientes.Movimiento; if (Movim != null) { if (Movim.IdCliente == 0) return null; Movim.Auto = true; string TipoComprobVentre = externalRow["original_TIPO"].ToString(); if (TipoComprobVentre == "FCB") { TipoComprobVentre = "Factura"; } else if (TipoComprobVentre == "RCB") { TipoComprobVentre = "Recibo"; Movim.Importe = -Movim.Importe; } else if (TipoComprobVentre == "NCB") { TipoComprobVentre = "Nota de Crédito"; Movim.Importe = -Movim.Importe; } Movim.Nombre = TipoComprobVentre + " 0001-" + System.Convert.ToInt32(externalRow["original_NROCOM"]).ToString("00000000"); } return ElemMovim; case "comprob_detalle": // Busco una factura a la cual adosar este detalle string Tipo = externalRow["TIPO"].ToString(), TipoLazaro = null; bool Compra = false; int Numero = Lfx.Types.Parsing.ParseInt(externalRow["NROCOM"].ToString()); switch (Tipo) { case "FCA": TipoLazaro = "FA"; break; case "FCB": TipoLazaro = "FB"; break; case "ING": TipoLazaro = "FA"; Compra = true; break; case "DEV": TipoLazaro = "NCB"; break; } if (Numero > 0 && TipoLazaro != null) { // Es una factura válida Lbl.Comprobantes.Factura Fac; qGen.Select SelFac = new qGen.Select("comprob"); SelFac.WhereClause = new qGen.Where(); SelFac.WhereClause.AddWithValue("tipo_fac", TipoLazaro); SelFac.WhereClause.AddWithValue("compra", Compra ? 1 : 0); SelFac.WhereClause.AddWithValue("numero", Numero); Lfx.Data.Row FacRow = this.Connection.FirstRowFromSelect(SelFac); if (FacRow == null) { int Cliente = System.Convert.ToInt32(externalRow["CLIENTE"]); if (Cliente <= 0) Cliente = 999; qGen.Insert NewFac = new qGen.Insert("comprob"); NewFac.Fields.AddWithValue("id_formapago", 1); NewFac.Fields.AddWithValue("tipo_fac", TipoLazaro); NewFac.Fields.AddWithValue("pv", 1); NewFac.Fields.AddWithValue("numero", Numero); NewFac.Fields.AddWithValue("situacionorigen", 1); NewFac.Fields.AddWithValue("situaciondestino", 999); NewFac.Fields.AddWithValue("fecha", System.Convert.ToDateTime(externalRow["FECHA"])); NewFac.Fields.AddWithValue("id_vendedor", 1); NewFac.Fields.AddWithValue("id_cliente", Cliente); NewFac.Fields.AddWithValue("impresa", 1); NewFac.Fields.AddWithValue("id_sucursal", 1); NewFac.Fields.AddWithValue("estado", 1); this.Connection.Execute(NewFac); FacRow = this.Connection.FirstRowFromSelect(SelFac); } Fac = new Comprobantes.Factura(this.Connection, FacRow); if (internalRow != null) internalRow.Fields.AddWithValue("id_comprob", Fac.Id); Lbl.IElementoDeDatos Elem = base.ConvertirRegistroEnElemento(mapa, externalRow, internalRow); Lbl.Comprobantes.DetalleArticulo DetArt = Elem as Lbl.Comprobantes.DetalleArticulo; if (DetArt != null) { if (DetArt.Articulo == null) DetArt.Nombre = externalRow["original_CODIGO"].ToString(); DetArt.IdComprobante = Fac.Id; } return Elem; } break; } return base.ConvertirRegistroEnElemento(mapa, externalRow, internalRow); }
public override IElementoDeDatos ConvertirRegistroEnElemento(MapaDeTabla mapa, Lfx.Data.Row externalRow, Lfx.Data.Row internalRow) { switch (mapa.TablaGestion) { case "ctacte": Lbl.IElementoDeDatos ElemMovim = base.ConvertirRegistroEnElemento(mapa, externalRow, internalRow); Lbl.CuentasCorrientes.Movimiento Movim = ElemMovim as Lbl.CuentasCorrientes.Movimiento; if (Movim != null) { if (Movim.IdCliente == 0) { return(null); } Movim.Auto = true; string TipoComprobVentre = externalRow["original_TIPO"].ToString(); if (TipoComprobVentre == "FCB") { TipoComprobVentre = "Factura"; } else if (TipoComprobVentre == "RCB") { TipoComprobVentre = "Recibo"; Movim.Importe = -Movim.Importe; } else if (TipoComprobVentre == "NCB") { TipoComprobVentre = "Nota de Crédito"; Movim.Importe = -Movim.Importe; } Movim.Nombre = TipoComprobVentre + " 0001-" + System.Convert.ToInt32(externalRow["original_NROCOM"]).ToString("00000000"); } return(ElemMovim); case "comprob_detalle": // Busco una factura a la cual adosar este detalle string Tipo = externalRow["TIPO"].ToString(), TipoGestion = null; bool Compra = false; int Numero = Lfx.Types.Parsing.ParseInt(externalRow["NROCOM"].ToString()); switch (Tipo) { case "FCA": TipoGestion = "FA"; break; case "FCB": TipoGestion = "FB"; break; case "ING": TipoGestion = "FA"; Compra = true; break; case "DEV": TipoGestion = "NCB"; break; } if (Numero > 0 && TipoGestion != null) { // Es una factura válida Lbl.Comprobantes.Factura Fac; qGen.Select SelFac = new qGen.Select("comprob"); SelFac.WhereClause = new qGen.Where(); SelFac.WhereClause.AddWithValue("tipo_fac", TipoGestion); SelFac.WhereClause.AddWithValue("compra", Compra ? 1 : 0); SelFac.WhereClause.AddWithValue("numero", Numero); Lfx.Data.Row FacRow = this.Connection.FirstRowFromSelect(SelFac); if (FacRow == null) { int Cliente = System.Convert.ToInt32(externalRow["CLIENTE"]); if (Cliente <= 0) { Cliente = 999; } qGen.Insert NewFac = new qGen.Insert("comprob"); NewFac.ColumnValues.AddWithValue("id_formapago", 1); NewFac.ColumnValues.AddWithValue("tipo_fac", TipoGestion); NewFac.ColumnValues.AddWithValue("pv", 1); NewFac.ColumnValues.AddWithValue("numero", Numero); NewFac.ColumnValues.AddWithValue("situacionorigen", 1); NewFac.ColumnValues.AddWithValue("situaciondestino", 999); NewFac.ColumnValues.AddWithValue("fecha", System.Convert.ToDateTime(externalRow["FECHA"])); NewFac.ColumnValues.AddWithValue("id_vendedor", 1); NewFac.ColumnValues.AddWithValue("id_cliente", Cliente); NewFac.ColumnValues.AddWithValue("impresa", 1); NewFac.ColumnValues.AddWithValue("id_sucursal", 1); NewFac.ColumnValues.AddWithValue("estado", 1); this.Connection.ExecuteNonQuery(NewFac); FacRow = this.Connection.FirstRowFromSelect(SelFac); } Fac = new Comprobantes.Factura(this.Connection, FacRow); if (internalRow != null) { internalRow.Fields.AddWithValue("id_comprob", Fac.Id); } Lbl.IElementoDeDatos Elem = base.ConvertirRegistroEnElemento(mapa, externalRow, internalRow); Lbl.Comprobantes.DetalleArticulo DetArt = Elem as Lbl.Comprobantes.DetalleArticulo; if (DetArt != null) { if (DetArt.Articulo == null) { DetArt.Nombre = externalRow["original_CODIGO"].ToString(); } DetArt.IdComprobante = Fac.Id; } return(Elem); } break; } return(base.ConvertirRegistroEnElemento(mapa, externalRow, internalRow)); }