protected void btnGuardarCompra_OnClick(object sender, EventArgs e)
        {
            var usuarioInfo = ObtenerUsuarioInfo();
            var script      = new StringBuilder(String.Empty);
            var mensaje     = String.Empty;
            var compraId    = Convert.ToInt32(hdnCompraId.Value);

            #region Datos Compra
            var compraInfo = new CompraInfo();
            compraInfo.CompraId    = Convert.ToInt32(hdnCompraId.Value);
            compraInfo.ProveedorId = Convert.ToInt32(hdnProveedorId.Value.Trim());

            compraInfo.TipoDocumentoId   = Convert.ToInt32(ddlTipoComprobante.SelectedValue);
            compraInfo.NumeroSerie       = txtSerie.Text.Trim();
            compraInfo.NumeroComprobante = txtNumeroDocumento.Text.Trim();
            compraInfo.MonedaId          = Convert.ToInt32(ddlMoneda.SelectedValue);
            compraInfo.FechaEmision      = Convert.ToDateTime(txtFechaEmision.Text.Trim());
            //compraInfo.FechaVencimiento = Convert.ToDateTime(txtFechaVencimiento.Text.Trim());
            compraInfo.Glosa = txtGlosa.Text.Trim();
            #endregion

            if (compraId.Equals(0))
            {
                compraInfo.UsuarioCreacionId = usuarioInfo.UsuarioId;
                compraId = new Negocio.Compra().InsertarCompra(compraInfo);
                if (compraId > 0)
                {
                    script.Append("document.getElementById('hdnCompraId').value = " + compraId + ";");
                    mensaje = "Se registró la Compra correctamente";
                }
                else
                {
                    //mensaje = "Ya existe una Venta registrado con el número de comprobante: " + txtNumeroComprobante.Text.Trim();
                }
            }
            else
            {
                compraInfo.UsuarioModificacionId = usuarioInfo.UsuarioId;
                compraId = new Negocio.Compra().ActualizarCompra(compraInfo);
                if (compraId > 0)
                {
                    mensaje = "Se actualizó la Compra correctamente";
                }
                else
                {
                    //mensaje = "Ya existe una Venta registrada con el número de comprobante: " + txtNumeroComprobante.Text.Trim();
                }
            }
            script.Append("MostrarMensaje('" + mensaje + "');");
            script.Append("LimpiarProductoDetalle();");

            //CargarDatos();
            RegistrarScript(script.ToString(), "GuardarVenta");
        }
예제 #2
0
        public int InsertarCompra(CompraInfo ventaInfo)
        {
            int resultado = 0;

            try
            {
                resultado = _ventaAccesoDatos.InsertarCompra(ventaInfo);
            }
            catch (Exception ex)
            {
                bool rethrow = ExceptionPolicy.HandleException(ex, Constantes.ExcepcionPoliticaLogicaNegocio);
                if (rethrow)
                {
                    throw;
                }
            }
            return(resultado);
        }
        public int ActualizarCompra(CompraInfo compraInfo)
        {
            int resultado;

            try
            {
                using (var oConnection = new SqlConnection(HelperAccesoDatos.GetCadenaConexion()))
                {
                    var sqlComando = new SqlCommand {
                        Connection = oConnection, CommandText = "ActualizarCompras", CommandType = CommandType.StoredProcedure
                    };

                    //sqlComando.Parameters.Add("ComprasDetalleId", SqlDbType.Int).Value = ventaInfo.ComprasDetalleId;
                    sqlComando.Parameters.Add("CompraId", SqlDbType.Int).Value              = compraInfo.CompraId;
                    sqlComando.Parameters.Add("ProveedorId", SqlDbType.Int).Value           = compraInfo.ProveedorId;
                    sqlComando.Parameters.Add("NumeroComprobante", SqlDbType.VarChar).Value = compraInfo.NumeroComprobante;
                    sqlComando.Parameters.Add("NumeroSerie", SqlDbType.VarChar).Value       = compraInfo.NumeroSerie;
                    sqlComando.Parameters.Add("MonedaId", SqlDbType.Int).Value              = compraInfo.MonedaId;
                    sqlComando.Parameters.Add("TipoDocumentoId", SqlDbType.Int).Value       = compraInfo.TipoDocumentoId;
                    //sqlComando.Parameters.Add("FormaPagoId", SqlDbType.Int).Value = ventaInfo.FormaPagoId;
                    sqlComando.Parameters.Add("FechaEmision", SqlDbType.DateTime).Value = compraInfo.FechaEmision.Date;
                    //sqlComando.Parameters.Add("FechaVencimiento", SqlDbType.DateTime).Value = ventaInfo.FechaVencimiento.Date;
                    //sqlComando.Parameters.Add("FechaPago", SqlDbType.DateTime).Value = ventaInfo.FechaPago == DateTime.MinValue ? (object)System.DBNull.Value : ventaInfo.FechaPago.Date;
                    sqlComando.Parameters.Add("EstadoComprobanteId", SqlDbType.Int).Value   = compraInfo.EstadoComprobanteId;
                    sqlComando.Parameters.Add("Glosa", SqlDbType.VarChar).Value             = compraInfo.Glosa;
                    sqlComando.Parameters.Add("MontoCompra", SqlDbType.Decimal).Value       = compraInfo.SubTotal;
                    sqlComando.Parameters.Add("MontoIgv", SqlDbType.Decimal).Value          = compraInfo.Igv;
                    sqlComando.Parameters.Add("MontoTotal", SqlDbType.Decimal).Value        = compraInfo.Total;
                    sqlComando.Parameters.Add("MotivoIngresoId", SqlDbType.Int).Value       = compraInfo.MotivoIngresoId;
                    sqlComando.Parameters.Add("UsuarioModificacionId", SqlDbType.Int).Value = compraInfo.UsuarioModificacionId;

                    oConnection.Open();
                    resultado = Convert.ToInt32(sqlComando.ExecuteScalar());

                    oConnection.Close();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(resultado);
        }
        public int InsertarCompra(CompraInfo compraInfo)
        {
            int resultado;

            try
            {
                using (var oConnection = new SqlConnection(HelperAccesoDatos.GetCadenaConexion()))
                {
                    var sqlComando = new SqlCommand {
                        Connection = oConnection, CommandText = "InsertarCompras", CommandType = CommandType.StoredProcedure
                    };

                    sqlComando.Parameters.Add("ProveedorId", SqlDbType.Int).Value           = compraInfo.ProveedorId;
                    sqlComando.Parameters.Add("NumeroComprobante", SqlDbType.VarChar).Value = compraInfo.NumeroComprobante;
                    sqlComando.Parameters.Add("NumeroSerie", SqlDbType.VarChar).Value       = compraInfo.NumeroSerie;
                    sqlComando.Parameters.Add("MonedaId", SqlDbType.Int).Value            = compraInfo.MonedaId;
                    sqlComando.Parameters.Add("TipoDocumentoId", SqlDbType.Int).Value     = compraInfo.TipoDocumentoId;
                    sqlComando.Parameters.Add("FechaEmision", SqlDbType.DateTime).Value   = compraInfo.FechaEmision.Date;
                    sqlComando.Parameters.Add("EstadoComprobanteId", SqlDbType.Int).Value = compraInfo.EstadoComprobanteId;
                    sqlComando.Parameters.Add("Glosa", SqlDbType.VarChar).Value           = compraInfo.Glosa;
                    sqlComando.Parameters.Add("MontoCompra", SqlDbType.Decimal).Value     = compraInfo.SubTotal;
                    sqlComando.Parameters.Add("MontoIgv", SqlDbType.Decimal).Value        = compraInfo.Igv;
                    sqlComando.Parameters.Add("MontoTotal", SqlDbType.Decimal).Value      = compraInfo.Total;
                    sqlComando.Parameters.Add("MotivoingresoId", SqlDbType.Int).Value     = compraInfo.MotivoIngresoId;
                    sqlComando.Parameters.Add("TipoNegocioId", SqlDbType.Int).Value       = compraInfo.TipoNegocioId;
                    sqlComando.Parameters.Add("UsuarioCreacionId", SqlDbType.Int).Value   = compraInfo.UsuarioCreacionId;

                    oConnection.Open();
                    resultado = Convert.ToInt32(sqlComando.ExecuteScalar());

                    oConnection.Close();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(resultado);
        }
        public static string GenerarComprobante(int compraId, int proveedorId, string tipoComprobanteId, string serie, string numeroComprobante, string fechaEmision,
                                                int monedaId, decimal montoCompra, decimal montoIgv, decimal montoTotal, string glosa, int motivoIngresoId)
        {
            var mensaje = String.Empty;

            try
            {
                var usuarioInfo = ObtenerUsuarioInfo();

                #region Compra
                var compraInfo = new CompraInfo();

                compraInfo.CompraId            = compraId;
                compraInfo.ProveedorId         = proveedorId;
                compraInfo.UsuarioCreacionId   = usuarioInfo.UsuarioId;
                compraInfo.TipoDocumentoId     = Convert.ToInt32(tipoComprobanteId);
                compraInfo.NumeroComprobante   = numeroComprobante;
                compraInfo.NumeroSerie         = serie;
                compraInfo.Glosa               = glosa;
                compraInfo.FechaEmision        = DateTime.ParseExact(fechaEmision, "dd/MM/yyyy", null);
                compraInfo.EstadoComprobanteId = Constantes.EstadoComprobanteCompraIngresado;
                compraInfo.SubTotal            = montoCompra;
                compraInfo.Igv             = montoIgv;
                compraInfo.Total           = montoTotal;
                compraInfo.MotivoIngresoId = motivoIngresoId;
                compraInfo.TipoNegocioId   = usuarioInfo.TipoNegocioId;
                compraInfo.MonedaId        = monedaId;

                #endregion
                if (compraId > 0)
                {
                    var compraDetalleListaInfo = (List <ComprasDetalleInfo>)HttpContext.Current.Session["CompraDetalle"];  //detalle compra modificado
                    var compraDetalleOriginal  = new Negocio.Compra().ListarComprasDetalle(0, compraId);                   //detalle compra original

                    var listaIncrementaInventario = new List <ComprasDetalleInfo>();
                    var listaReduceInventario     = new List <ComprasDetalleInfo>();
                    var listaEliminados           = new List <ComprasDetalleInfo>();

                    //var ventaDetalleListaInfo = (List<VentaDetalleInfo>)grvItem.DataSource;
                    foreach (var cdModificada in compraDetalleListaInfo)
                    {
                        var detOriginal = (from cdOriginal in compraDetalleOriginal where cdOriginal.ComprasDetalleId == cdModificada.ComprasDetalleId select cdOriginal);
                        if (detOriginal.Count() > 0)
                        {
                            if (cdModificada.AlmacenId == detOriginal.First().AlmacenId)
                            {
                                if (cdModificada.ProductoId == detOriginal.First().ProductoId)
                                {
                                    if (cdModificada.Cantidad > detOriginal.First().Cantidad)                                    //Incremento de inventario
                                    {
                                        var diferencia = cdModificada.Cantidad - detOriginal.First().Cantidad;
                                        detOriginal.First().Cantidad = diferencia;
                                        listaIncrementaInventario.Add(detOriginal.First());
                                    }
                                    else if (cdModificada.Cantidad < detOriginal.First().Cantidad)                                    //reduccion de inventario
                                    {
                                        var diferencia = cdModificada.Cantidad - detOriginal.First().Cantidad;
                                        detOriginal.First().Cantidad = Math.Abs(diferencia);
                                        listaReduceInventario.Add(detOriginal.First());
                                    }
                                }
                                else
                                {
                                    //Al ser un producto distinto, el inventario original debe de reducirse y el modificado debe de agregarse
                                    listaIncrementaInventario.Add(cdModificada);
                                    listaReduceInventario.Add(detOriginal.First());
                                }
                            }
                            else
                            {
                                //Al ser un alamcen distinto, no importa el producto, el inventario original debe de reducirse y el modificado debe de agregarse
                                listaIncrementaInventario.Add(cdModificada);
                                listaReduceInventario.Add(detOriginal.First());
                            }
                        }
                        else
                        {
                            listaIncrementaInventario.Add(cdModificada);
                            //detOriginal.First().Eliminado = 1;
                            //listaReduceInventario.Add(detOriginal.First());
                            //listaEliminados.Add(detOriginal.First());
                        }
                    }

                    //buscamos los items eliminados de la lista original para reducir inventario y eliminar del detalle
                    var codigosDetalleCompra = compraDetalleListaInfo.Where(p => p.ComprasDetalleId > 0).Select(x => x.ComprasDetalleId).ToArray();

                    listaEliminados.AddRange(compraDetalleOriginal.Where(p => !codigosDetalleCompra.Contains(p.ComprasDetalleId)));
                    listaReduceInventario.AddRange(compraDetalleOriginal.Where(p => !codigosDetalleCompra.Contains(p.ComprasDetalleId)));

                    var tieneSaldoInventario = true;

                    var almacenRevisar = listaReduceInventario.Select(p => p.AlmacenId).Distinct();
                    foreach (var almacen in almacenRevisar)
                    {
                        var productosAlmacen = listaReduceInventario.Where(p => p.AlmacenId == almacen).Select(grp => grp.ProductoId).Distinct();
                        foreach (var producto in productosAlmacen)
                        {
                            var inventarioReducir = listaReduceInventario.Where(p => p.AlmacenId == almacen && p.ProductoId == producto).Sum(x => x.Cantidad);

                            //Se consulta a BD si hay saldo
                            var saldoActual = new Negocio.Inventario().Listar(almacen, producto, usuarioInfo.TipoNegocioId);
                            if (saldoActual.Count() > 0 && !((saldoActual.First().InventarioActual - inventarioReducir) > 0))
                            {
                                tieneSaldoInventario = false;
                                break;
                            }
                        }
                        if (!tieneSaldoInventario)
                        {
                            break;
                        }
                    }

                    if (tieneSaldoInventario)
                    {
                        new Negocio.Compra().ActualizarCompra(compraInfo);

                        #region Actualizacion Compra Detalle
                        //Actualizacion de detalle de compra
                        foreach (var compraDetalle in compraDetalleListaInfo)
                        {
                            if (compraDetalle.Eliminado == 0)
                            {
                                var compraDetalleInfo = new ComprasDetalleInfo();
                                compraDetalleInfo.CompraId         = compraId;
                                compraDetalleInfo.ComprasDetalleId = compraDetalle.ComprasDetalleId;
                                compraDetalleInfo.ProductoId       = compraDetalle.ProductoId;
                                compraDetalleInfo.Cantidad         = compraDetalle.Cantidad;
                                compraDetalleInfo.PrecioUnitario   = compraDetalle.PrecioUnitario;
                                compraDetalleInfo.SubTotal         = compraDetalle.SubTotal;
                                compraDetalleInfo.Igv       = compraDetalle.Igv;
                                compraDetalleInfo.Total     = compraDetalle.Total;
                                compraDetalleInfo.AlmacenId = compraDetalle.AlmacenId;

                                if (compraDetalle.ComprasDetalleId > 0)
                                {
                                    compraDetalleInfo.UsuarioModificacionId = usuarioInfo.UsuarioId;
                                    new Negocio.Compra().ActualizarCompraDetalle(compraDetalleInfo);
                                }
                                else
                                {
                                    compraDetalleInfo.UsuarioCreacionId = usuarioInfo.UsuarioId;
                                    new Negocio.Compra().InsertarCompraDetalle(compraDetalleInfo);
                                }
                            }
                        }
                        //Eliminacion de registros de compra detalle
                        foreach (var compraDetalle in listaEliminados)
                        {
                            new Negocio.Compra().EliminarCompraDetalle(compraDetalle.ComprasDetalleId);
                        }

                        #endregion

                        #region Actualizacion Almacen
                        //Incremento de Inventario
                        var almacenesAsignados = listaIncrementaInventario.Select(p => p.AlmacenId).Distinct();
                        foreach (var almacen in almacenesAsignados)
                        {
                            var productosAlmacen = listaIncrementaInventario.Where(p => p.AlmacenId == almacen).Select(grp => grp.ProductoId).Distinct();
                            foreach (var producto in productosAlmacen)
                            {
                                var inventarioInfo = new InventarioInfo();
                                inventarioInfo.AlmacenId         = almacen;
                                inventarioInfo.ProductoId        = producto;
                                inventarioInfo.InventarioActual  = listaIncrementaInventario.Where(p => p.AlmacenId == almacen && p.ProductoId == producto).Sum(x => x.Cantidad);
                                inventarioInfo.UsuarioCreacionId = usuarioInfo.UsuarioId;
                                inventarioInfo.TipoNegocioId     = usuarioInfo.TipoNegocioId;
                                //Se crea el registro en la tabla inventario
                                new Negocio.Inventario().Insertar(inventarioInfo);
                            }
                        }

                        //Reduccion de Inventario
                        almacenesAsignados = listaReduceInventario.Select(p => p.AlmacenId).Distinct();
                        foreach (var almacen in almacenesAsignados)
                        {
                            var productosAlmacen = listaReduceInventario.Where(p => p.AlmacenId == almacen).Select(grp => grp.ProductoId).Distinct();
                            foreach (var producto in productosAlmacen)
                            {
                                var inventarioInfo = new InventarioInfo();
                                inventarioInfo.AlmacenId             = almacen;
                                inventarioInfo.ProductoId            = producto;
                                inventarioInfo.InventarioActual      = (-1) * listaReduceInventario.Where(p => p.AlmacenId == almacen && p.ProductoId == producto).Sum(x => x.Cantidad);
                                inventarioInfo.UsuarioModificacionId = usuarioInfo.UsuarioId;
                                inventarioInfo.TipoNegocioId         = usuarioInfo.TipoNegocioId;
                                //Se crea el registro en la tabla inventario
                                new Negocio.Inventario().Actualizar(inventarioInfo);
                            }
                        }

                        #endregion

                        mensaje = compraId + "@" + "El Comprobante se actualizó correctamente.";
                    }
                    else
                    {
                        mensaje = "-2" + "@" + "No hay saldo disponible en el Inventario.";
                    }
                }
                else
                {
                    compraId = new Negocio.Compra().InsertarCompra(compraInfo);

                    #region Compra Detalle
                    var compraDetalleListaInfo = (List <ComprasDetalleInfo>)HttpContext.Current.Session["CompraDetalle"];
                    //var ventaDetalleListaInfo = (List<VentaDetalleInfo>)grvItem.DataSource;
                    foreach (var vd in compraDetalleListaInfo)
                    {
                        var compraDetalleInfo = new ComprasDetalleInfo();
                        compraDetalleInfo.CompraId       = compraId;
                        compraDetalleInfo.ProductoId     = vd.ProductoId;
                        compraDetalleInfo.Cantidad       = vd.Cantidad;
                        compraDetalleInfo.PrecioUnitario = vd.PrecioUnitario;
                        compraDetalleInfo.SubTotal       = vd.SubTotal;
                        compraDetalleInfo.Igv            = vd.Igv;
                        compraDetalleInfo.Total          = vd.Total;
                        //compraDetalleInfo.AsignacionAlmacen = 1;//por defecto estan asignados
                        compraDetalleInfo.AlmacenId         = vd.AlmacenId;
                        compraDetalleInfo.UsuarioCreacionId = usuarioInfo.UsuarioId;

                        new Negocio.Compra().InsertarCompraDetalle(compraDetalleInfo);
                    }
                    #endregion

                    #region Asignacion Almacen
                    var almacenesAsignados = compraDetalleListaInfo.Select(p => p.AlmacenId).Distinct();
                    foreach (var almacen in almacenesAsignados)
                    {
                        var productosAlmacen = compraDetalleListaInfo.Where(p => p.AlmacenId == almacen).Select(grp => grp.ProductoId).Distinct();
                        foreach (var producto in productosAlmacen)
                        {
                            var inventarioInfo = new InventarioInfo();
                            inventarioInfo.AlmacenId         = almacen;
                            inventarioInfo.ProductoId        = producto;
                            inventarioInfo.InventarioActual  = compraDetalleListaInfo.Where(p => p.AlmacenId == almacen && p.ProductoId == producto).Sum(x => x.Cantidad);
                            inventarioInfo.UsuarioCreacionId = usuarioInfo.UsuarioId;
                            inventarioInfo.TipoNegocioId     = usuarioInfo.TipoNegocioId;
                            //Se crea el registro en la tabla inventario
                            new Negocio.Inventario().Insertar(inventarioInfo);
                        }
                    }

                    #endregion

                    #region Tabla Movimientos

                    var movimientosInfo = new MovimientosInfo();
                    movimientosInfo.OperacionId       = compraId;
                    movimientosInfo.TipoMovimientoId  = Constantes.TipoMovimientoCompra;
                    movimientosInfo.FechaOperacion    = DateTime.Now;
                    movimientosInfo.Glosa             = String.Empty;
                    movimientosInfo.UsuarioCreacionId = usuarioInfo.UsuarioId;

                    new Negocio.Movimientos().InsertarMovimientos(movimientosInfo);

                    #endregion

                    mensaje = compraId + "@" + "El Comprobante se registró correctamente.";
                }
            }
            catch (Exception ex)
            {
                bool rethrow = ExceptionPolicy.HandleException(ex, Constantes.ExcepcionPoliticaPresentacion);
                mensaje = "-1";
                mensaje = mensaje + "@" + (rethrow ? ex.Message : Constantes.ExcepcionPoliticaPresentacion);
            }
            return(mensaje);
        }
        private static CompraInfo CargarCompraInfoPag(IDataReader dr)
        {
            int colCount = dr.FieldCount;
            var values   = new object[colCount];

            #region Indices
            int indCompraId          = dr.GetOrdinal("CompraId");
            int indProveedorId       = dr.GetOrdinal("ProveedorId");
            int indProveedor         = dr.GetOrdinal("Proveedor");
            int indGlosa             = dr.GetOrdinal("Glosa");
            int indNumeroComprobante = dr.GetOrdinal("NumeroComprobante");
            int indNumeroSerie       = dr.GetOrdinal("NumeroSerie");
            int indTipoDocumentoId   = dr.GetOrdinal("TipoDocumentoId");
            int indTipoDocumento     = dr.GetOrdinal("TipoDocumento");
            int indMoneda            = dr.GetOrdinal("Moneda");
            int indMonedaId          = dr.GetOrdinal("MonedaId");
            int indFechaEmision      = dr.GetOrdinal("FechaEmision");
            int indSubTotal          = dr.GetOrdinal("SubTotal");
            int indIgv                 = dr.GetOrdinal("Igv");
            int indTotal               = dr.GetOrdinal("Total");
            int indMotivoIngresoId     = dr.GetOrdinal("MotivoIngresoId");
            int indTipoNegocioId       = dr.GetOrdinal("TipoNegocioId");
            int indEstadoComprobanteId = dr.GetOrdinal("EstadoComprobanteId");
            int indEstadoComprobante   = dr.GetOrdinal("EstadoComprobante");
            int indNumeroFila          = dr.GetOrdinal("NumeroFila");
            int indTotalFilas          = dr.GetOrdinal("TotalFilas");
            #endregion

            var compraInfo = new CompraInfo();
            dr.GetValues(values);

            #region Campos
            compraInfo.CompraId          = Convert.ToInt32(values[indCompraId]);
            compraInfo.ProveedorId       = Convert.ToInt32(values[indProveedorId]);
            compraInfo.Proveedor         = Convert.ToString(values[indProveedor]);
            compraInfo.NumeroComprobante = Convert.ToString(values[indNumeroComprobante]);
            compraInfo.NumeroSerie       = Convert.ToString(values[indNumeroSerie]);
            compraInfo.TipoDocumento     = Convert.ToString(values[indTipoDocumento]);
            compraInfo.Moneda            = Convert.ToString(values[indMoneda]);
            compraInfo.FechaEmision      = Convert.ToDateTime(values[indFechaEmision]);
            compraInfo.EstadoComprobante = Convert.ToString(values[indEstadoComprobante]);

            if (values[indSubTotal] != DBNull.Value)
            {
                compraInfo.SubTotal = Convert.ToDecimal(values[indSubTotal]);
            }
            if (values[indIgv] != DBNull.Value)
            {
                compraInfo.Igv = Convert.ToDecimal(values[indIgv]);
            }
            if (values[indTotal] != DBNull.Value)
            {
                compraInfo.Total = Convert.ToDecimal(values[indTotal]);
            }
            compraInfo.MonedaId        = Convert.ToInt32(values[indMonedaId]);
            compraInfo.TipoDocumentoId = Convert.ToInt32(values[indTipoDocumentoId]);
            if (values[indEstadoComprobanteId] != DBNull.Value)
            {
                compraInfo.EstadoComprobanteId = Convert.ToInt32(values[indEstadoComprobanteId]);
            }
            if (values[indGlosa] != DBNull.Value)
            {
                compraInfo.Glosa = Convert.ToString(values[indGlosa]);
            }
            if (values[indMotivoIngresoId] != DBNull.Value)
            {
                compraInfo.MotivoIngresoId = Convert.ToInt32(values[indMotivoIngresoId]);
            }
            compraInfo.TipoNegocioId = Convert.ToInt32(values[indTipoNegocioId]);
            compraInfo.NumeroFila    = Convert.ToInt32(values[indNumeroFila]);
            compraInfo.TotalFilas    = Convert.ToInt32(values[indTotalFilas]);
            #endregion

            return(compraInfo);
        }