Ejemplo n.º 1
0
        public bool Insertar(BEDocumento beDocumento, DBHelper.DatabaseHelper pDatabaseHelper)
        {
            DatabaseHelper      oDatabaseHelper = (pDatabaseHelper == null) ? new DatabaseHelper() : pDatabaseHelper;
            DAAmortizacionVenta DAVenta         = new DAAmortizacionVenta();
            bool bOk = true;

            try {
                if (pDatabaseHelper == null)
                {
                    oDatabaseHelper.BeginTransaction();
                }

                bOk = DAVenta.InsertarCabeceraDocumento(beDocumento, oDatabaseHelper);

                foreach (BEAmortizacionVenta oEntidad in beDocumento.delleAmortizacion)
                {
                    bOk = bOk && new DAAmortizacionVenta().InsertarDependiente(beDocumento, oEntidad, oDatabaseHelper);
                    BEVenta oBEVenta = new BEVenta()
                    {
                        IdVenta        = oEntidad.IdVenta,
                        BEUsuarioLogin = oEntidad.BEUsuarioLogin
                    };

                    bOk = bOk && (new DAVenta().InsertarVentaFinal(oBEVenta, oDatabaseHelper) > 0);

                    // Opcional
                    bOk = bOk && (new DAVenta().ActualizarEstado(oBEVenta.IdVenta, oDatabaseHelper, oEntidad.CancelarVenta) > 0);
                }
                //
                if (bOk)
                {
                    if (pDatabaseHelper == null)
                    {
                        oDatabaseHelper.CommitTransaction();
                    }
                }
                else
                {
                    if (pDatabaseHelper == null)
                    {
                        oDatabaseHelper.RollbackTransaction();
                    }
                    throw new Exception("Error al registrar Amortización");
                }


                return(bOk);
            } catch (Exception ex) {
                if (pDatabaseHelper == null)
                {
                    oDatabaseHelper.RollbackTransaction();
                }
                throw ex;
            } finally {
                if (pDatabaseHelper == null)
                {
                    oDatabaseHelper.Dispose();
                }
            }
        }