Esempio n. 1
0
 public BookingToView(OBookingDirections pDirection, OCurrency pAmount, DateTime pDate, double?pExchangeRate, string pContractCode, string pEventCode)
 {
     Direction     = pDirection;
     _amount       = pAmount;
     Date          = pDate;
     _exchangeRate = pExchangeRate;
     ContractCode  = pContractCode;
     EventCode     = pEventCode;
 }
Esempio n. 2
0
 public BookingToView(OBookingDirections pDirection, OCurrency pAmount, DateTime pDate, double? pExchangeRate, string pContractCode, string pEventCode)
 {
 	Direction = pDirection;
 	_amount = pAmount;
 	Date = pDate;
 	_exchangeRate = pExchangeRate;
 	ContractCode = pContractCode;
 	EventCode = pEventCode;
 }
 private static void _AssertSelectedViewableBooking(BookingToView pBooking, OBookingDirections pDirection, OCurrency pAmount, DateTime pDate,
                                                    double?pExchangeRate, string pContractCode, string pEventCode)
 {
     Assert.AreEqual(pDirection, pBooking.Direction);
     Assert.AreEqual(pAmount.Value, pBooking.AmountInternal.Value);
     Assert.AreEqual(pDate, pBooking.Date);
     Assert.AreEqual(pExchangeRate, pBooking.ExchangeRate);
     Assert.AreEqual(pContractCode, pBooking.ContractCode);
     Assert.AreEqual(pEventCode, pBooking.EventCode);
 }
Esempio n. 4
0
        public Account GetAccountByNumber(string pNumber, int pCurrencyId, IContract pContract, OBookingDirections pBookingDirection)
        {
            if (_accountingRules != null)
            {
                var specificAccount = _accountingRules.GetSpecificAccount(pNumber, pContract, pBookingDirection);
                if (specificAccount != null)
                    pNumber = specificAccount.Number;
            }

            return _getAccountByNumber(pNumber, pCurrencyId);
        }
Esempio n. 5
0
        public Account GetAccountByNumber(string pNumber, int pCurrencyId, ISavingsContract pSavingsContract, OBookingDirections pBookingDirection)
		{
            //if (_accountingRules != null)
            //{
            //    var specificAccount = _accountingRules.GetSpecificAccount(pNumber, pSavingsContract, pBookingDirection);
            //    if (specificAccount != null)
            //        pNumber = specificAccount.Number;
            //}

		    return _getAccountByNumber(pNumber, pCurrencyId);
		}
 private static void _AssertSelectedViewableBooking(BookingToView pBooking, OBookingDirections pDirection, OCurrency pAmount, DateTime pDate, 
     double? pExchangeRate, string pContractCode, string pEventCode)
 {
     Assert.AreEqual(pDirection, pBooking.Direction);
     Assert.AreEqual(pAmount.Value, pBooking.AmountInternal.Value);
     Assert.AreEqual(pDate, pBooking.Date);
     Assert.AreEqual(pExchangeRate, pBooking.ExchangeRate);
     Assert.AreEqual(pContractCode, pBooking.ContractCode);
     Assert.AreEqual(pEventCode, pBooking.EventCode);
 }
Esempio n. 7
0
        public Account GetAccountByNumber(string pNumber, int pCurrencyId, IContract pContract, OBookingDirections pBookingDirection)
        {
            if (_accountingRules != null)
            {
                var specificAccount = _accountingRules.GetSpecificAccount(pNumber, pContract, pBookingDirection);
                if (specificAccount != null)
                {
                    pNumber = specificAccount.Number;
                }
            }

            return(_getAccountByNumber(pNumber, pCurrencyId));
        }
        public Account GetSpecificAccount(string pNumber, ISavingsContract pSavings, OBookingDirections pBookingDirection)
        {
            var query = GetContractAccountingRules();

            query = query.Where(item => item.DebitAccount.Number == pNumber && item.Deleted == false).ToList();
            if (query.Count() == 0)
            {
                return(null);
            }

            query = query.Where(item => item.ProductType == OProductTypes.All ||
                                (item.ProductType == OProductTypes.Saving && (item.SavingProduct == null || item.SavingProduct.Id == pSavings.Product.Id))).ToList();

            if (query.Count == 0)
            {
                return(null);
            }

            query = query.Where(item => item.BookingDirection == OBookingDirections.Both ||
                                item.BookingDirection == pBookingDirection).ToList();

            if (query.Count == 0)
            {
                return(null);
            }

            OClientTypes clientType;

            if (pSavings.Client is Person)
            {
                clientType = OClientTypes.Person;
            }
            else if (pSavings.Client is Group)
            {
                clientType = OClientTypes.Group;
            }
            else if (pSavings.Client is Corporate)
            {
                clientType = OClientTypes.Corporate;
            }
            else
            {
                clientType = OClientTypes.Village;
            }

            query = query.Where(item => item.ClientType == OClientTypes.All ||
                                item.ClientType == clientType).ToList();

            if (query.Count == 0)
            {
                return(null);
            }

            if (pSavings.Client is Person)
            {
                query = query.Where(item => item.EconomicActivity == null ||
                                    item.EconomicActivity.Id == ((Person)pSavings.Client).Activity.Id).ToList();
            }
            else if (pSavings.Client is Corporate)
            {
                query = query.Where(item => item.EconomicActivity == null ||
                                    item.EconomicActivity.Id == ((Corporate)pSavings.Client).Activity.Id).ToList();
            }
            else
            {
                query = query.Where(item => item.EconomicActivity == null).ToList();
            }

            if (query.Count == 0)
            {
                return(null);
            }

            return(query[0].CreditAccount);
        }
Esempio n. 9
0
        public Account GetAccountByNumber(string pNumber, int pCurrencyId, ISavingsContract pSavingsContract, OBookingDirections pBookingDirection)
        {
            //if (_accountingRules != null)
            //{
            //    var specificAccount = _accountingRules.GetSpecificAccount(pNumber, pSavingsContract, pBookingDirection);
            //    if (specificAccount != null)
            //        pNumber = specificAccount.Number;
            //}

            return(_getAccountByNumber(pNumber, pCurrencyId));
        }