public Operacion BorrarMoneda(MonedaArgumento monedaArgumento)
        {
            var op = ValidarTranferenciaDeMoneda(monedaArgumento);

            if (op.Resultado == ResultadoOperacionTipo.Error)
            {
                BaseDeDatosServicio.Rollback();
                return(op);
            }

            BaseDeDatosServicio.BeginTransaction();
            try
            {
                DbParameter[] parameters =
                {
                    new OAParameter
                    {
                        ParameterName = "@CURRENCY_ID",
                        Value         = monedaArgumento.Moneda.CURRENCY_ID
                    }
                };

                op = BaseDeDatosServicio.ExecuteQuery <Operacion>("SWIFT_SP_DELETE_CURRENCY", CommandType.StoredProcedure, false, parameters)[0];
                if (op.Resultado == ResultadoOperacionTipo.Exito)
                {
                    BaseDeDatosServicio.Commit();
                }
                else
                {
                    BaseDeDatosServicio.Rollback();
                }
                return(op);
            }
            catch (DbException e)
            {
                BaseDeDatosServicio.Rollback();
                return(new Operacion
                {
                    Codigo = e.ErrorCode,
                    Mensaje = e.Message,
                    Resultado = ResultadoOperacionTipo.Error
                });
            }
            catch (Exception ex)
            {
                BaseDeDatosServicio.Rollback();
                return(new Operacion
                {
                    Codigo = -1,
                    Mensaje = ex.Message,
                    Resultado = ResultadoOperacionTipo.Error
                });
            }
        }
        public Operacion ValidarTranferenciaDeMoneda(MonedaArgumento monedaArgumento)
        {
            try
            {
                DbParameter[] parameters =
                {
                    new OAParameter
                    {
                        ParameterName = "@CURRENCY_ID",
                        Value         = monedaArgumento.Moneda.CURRENCY_ID
                    }
                    , new OAParameter
                    {
                        ParameterName = "@IS_DEFAULT",
                        Value         = monedaArgumento.Moneda.IS_DEFAULT
                    }
                };

                var op = BaseDeDatosServicio.ExecuteQuery <Operacion>("SWIFT_SP_VALIDATE_TRAN_FOR_CURRENCY", CommandType.StoredProcedure, false, parameters)[0];

                return(op);
            }
            catch (DbException e)
            {
                BaseDeDatosServicio.Rollback();
                return(new Operacion
                {
                    Codigo = e.ErrorCode,
                    Mensaje = e.Message,
                    Resultado = ResultadoOperacionTipo.Error
                });
            }
            catch (Exception ex)
            {
                BaseDeDatosServicio.Rollback();
                return(new Operacion
                {
                    Codigo = -1,
                    Mensaje = ex.Message,
                    Resultado = ResultadoOperacionTipo.Error
                });
            }
        }
 public Operacion GrabarMoneda(MonedaArgumento monedaArgumento)
 {
     return((monedaArgumento.Moneda.CURRENCY_ID == 0)
     ? AgregarMoneda(monedaArgumento)
     : ActualizarMoneda(monedaArgumento));
 }