Пример #1
0
                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);
                }
Пример #2
0
        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));
        }