Exemplo n.º 1
0
        public int AddNewCurrency(Currency pNewCurrency)
        {
            using (SqlConnection conn = _currencyManager.GetConnection())
            {
                int cId = 0;
                if (_currencyManager.IsThisCurrencyAlreadyExist(pNewCurrency.Code, pNewCurrency.Name))
                {
                    throw new OpenCbsAccountException(OpenCbsAccountExceptionsEnum.CurrencyAlreadyExists);
                }

                SqlTransaction sqlTransac = conn.BeginTransaction();

                if (_currencyManager.SelectAllCurrencies(sqlTransac).Count > 1)
                {
                    throw new OpenCbsAccountException(OpenCbsAccountExceptionsEnum.MaximumCurrencyLimitReached);
                }

                try
                {
                    cId = _currencyManager.Add(pNewCurrency, sqlTransac);
                    sqlTransac.Commit();
                }
                catch (Exception)
                {
                    sqlTransac.Rollback();
                    throw;
                }
                return(cId);
            }
        }
Exemplo n.º 2
0
        public void Add_Currency()
        {
            CurrencyManager currencyManager = (CurrencyManager)container["CurrencyManager"];

            using (SqlConnection conn = currencyManager.GetConnection())
            {
                Currency currency = new Currency {
                    Code = "US Dollar", IsPivot = false, Name = "USD"
                };
                SqlTransaction t = conn.BeginTransaction();
                currency.Id = currencyManager.Add(currency, t);
                Assert.AreNotEqual(0, currency.Id);
            }
        }