Example #1
0
        public int RegistrarVentaDevolucionDependiente(BEVenta pBEVenta)
        {
            DatabaseHelper dbh = new DatabaseHelper();

            try {
                int intResultado = 0;
                dbh.BeginTransaction();
                // Insertar Lineas de Venta
                int intContador = 0;
                pBEVenta.ListaAmortizacion.ForEach(delegate(BELineaVenta oEntidad) {
                    oEntidad.IdVenta        = pBEVenta.IdVenta;
                    oEntidad.BEUsuarioLogin = pBEVenta.BEUsuarioLogin;
                    intContador            += new DALineaVenta().InsertarLineaVentaDependiente(oEntidad, dbh);
                });
                intResultado += (intContador == pBEVenta.ListaAmortizacion.Count) ? 1 : 0;
                // Insertar Venta Final
                intResultado += new DAVenta().InsertarVentaFinal(pBEVenta, dbh);
                //
                if (intResultado == 2)
                {
                    dbh.CommitTransaction();
                }
                else
                {
                    dbh.RollbackTransaction();
                }
                return(intResultado);
            } catch (Exception ex) {
                dbh.RollbackTransaction();
                throw ex;
            } finally {
                dbh.Dispose();
            }
        }
Example #2
0
        public int ModificarVentaInicialDependiente(BEVenta pBEVenta, bool bAlContado, decimal dMontoAmortizacion)
        {
            DatabaseHelper dbh = new DatabaseHelper();

            try {
                int intResultado = 0;
                dbh.BeginTransaction();
                // Insertar Lineas de Venta
                int intContador = 0;
                pBEVenta.ListaLineaVenta.ForEach(delegate(BELineaVenta oEntidad) {
                    oEntidad.IdVenta        = pBEVenta.IdVenta;
                    oEntidad.BEUsuarioLogin = pBEVenta.BEUsuarioLogin;
                    intContador            += new DALineaVenta().InsertarLineaVentaDependiente(oEntidad, dbh);
                });
                intResultado += (intContador == pBEVenta.ListaLineaVenta.Count) ? 1 : 0;
                // Insertar Venta Final
                intResultado += new DAVenta().InsertarVentaFinal(pBEVenta, dbh);
                //
                //verifica si tiene amortizacion, si es asi

                if (bAlContado || dMontoAmortizacion > 0)
                {
                    BEVenta tmppBEVenta = (new BLVenta().ListarVenta(pBEVenta.IdVenta, pBEVenta.IdCaja, dbh))[0];

                    BEAmortizacionVenta BEAmortizacion = new BEAmortizacionVenta();

                    BEAmortizacion.FechaPago          = tmppBEVenta.FechaInicio;
                    BEAmortizacion.IdCliente          = tmppBEVenta.IdCliente;
                    BEAmortizacion.IdEstado           = BEAmortizacionVenta.ESTADO_REGISTRADO;
                    BEAmortizacion.IdFormaPago        = BEAmortizacionVenta.FORMAPAGO_EFECTIVO;
                    BEAmortizacion.IdPersonal         = pBEVenta.BEUsuarioLogin.IdPersonal;
                    BEAmortizacion.IdTipoAmortizacion = BEAmortizacionVenta.TIPOAMORTIZACION_AMORTIZACION;
                    BEAmortizacion.IdVenta            = pBEVenta.IdVenta;
                    BEAmortizacion.Monto          = (bAlContado) ? tmppBEVenta.TotalSaldo : dMontoAmortizacion;
                    BEAmortizacion.Observacion    = "";
                    BEAmortizacion.BEUsuarioLogin = pBEVenta.BEUsuarioLogin;
                    List <BEAmortizacionVenta> lista = new List <BEAmortizacionVenta>();
                    lista.Add(BEAmortizacion);
                    new BLAmortizacionVenta().Insertar(lista, dbh);
                    //Actualizar la venta
                    new DAVenta().InsertarVentaFinal(pBEVenta, dbh);
                }
                if (intResultado == 2)
                {
                    dbh.CommitTransaction();
                    intResultado++;
                }
                else
                {
                    dbh.RollbackTransaction();
                }
                return(intResultado);
            } catch (Exception ex) {
                dbh.RollbackTransaction();
                throw ex;
            } finally {
                dbh.Dispose();
            }
        }
Example #3
0
        public int RegistrarLineaVentaMantenimientoDependiente(BEVenta pBEVenta, dsLineaVenta.DTLineaVentaDataTable pDTLineasVentas, dsLineaVenta.DTLineaVentaDataTable pDTEliminados, bool HayCambioPrecio)
        {
            DatabaseHelper dbh          = new DatabaseHelper();
            int            intResultado = 0;

            try {
                dbh.BeginTransaction();
                int modificados = new DAVenta().InsertarVentaFinal(pBEVenta, dbh);
                // Eliminar los registros
                int intEliminados = 0;
                foreach (dsLineaVenta.DTLineaVentaRow vRow in pDTEliminados.Rows)
                {
                    intEliminados += new DALineaVenta().EliminarLineaVentaDependiente(vRow, dbh);
                }
                intResultado += (intEliminados == pDTEliminados.Rows.Count) ? 1 : 0;
                // Registrar las Lineas de Venta
                int intContadorLV  = 0;
                int intContadorAll = pDTLineasVentas.Rows.Count;
                foreach (dsLineaVenta.DTLineaVentaRow vRow in pDTLineasVentas.Rows)
                {
                    if (vRow.IdAccion == eAccion.Agregar.GetHashCode())
                    {
                        intContadorLV += new DALineaVenta().InsertarLineaVentaDependiente(vRow, pBEVenta.BEUsuarioLogin.IdPersonal, dbh);
                    }
                    else if (vRow.IdAccion == eAccion.Modificar.GetHashCode())
                    {
                        intContadorLV += new DALineaVenta().ModificarLineaVentaDependiente(vRow, pBEVenta.BEUsuarioLogin.IdPersonal, dbh);
                    }
                    else
                    {
                        intContadorAll--;
                    }
                }
                intResultado += (intContadorLV == intContadorAll) ? 1 : 0;

                //if (HayCambioPrecio) new DAAmortizacionVenta().AnularAmortizacionVenta(pBEVenta); //.ReaplicarAmortizacion(pBEVenta);

                // Insertar Venta Final
                intResultado += new DAVenta().InsertarVentaFinal(pBEVenta, dbh);
                //
                if (intResultado == 3)
                {
                    dbh.CommitTransaction();
                }
                else
                {
                    dbh.RollbackTransaction();
                }
                return(intResultado);
            } catch (Exception ex) {
                dbh.RollbackTransaction();
                throw ex;
            } finally {
                dbh.Dispose();
            }
        }