Example #1
0
        public static async Task ProcessMethod()
        {
            string        toCurrancy   = "INR";
            List <string> fromCurrancy = new List <string> {
                "USD", "GBP", "AUD", "EUR", "CAD", "SGD"
            };

            while (true)
            {
                try
                {
                    var ratePublisherService = Bootstrapper.Bootstrapper.Locate <IRatePublisherService>();
                    foreach (var currancy in fromCurrancy)
                    {
                        decimal rate = GetRate(currancy);
                        if (rate <= 0)
                        {
                            continue;
                        }

                        RatePublisher newRate = new RatePublisher();
                        newRate.FromCurrancy = currancy;
                        newRate.FromAmount   = 1;
                        newRate.ToCurrancy   = toCurrancy;
                        newRate.ToAmount     = rate;
                        newRate.TimeStamp    = DateTime.UtcNow;
                        ratePublisherService.Add(newRate);
                    }
                }
                catch (Exception ex)
                {
                }
                await Task.Delay(TimeSpan.FromMinutes(5));
            }
        }
        public bool Add(RatePublisher rate)
        {
            INtierAppDemoDataFacade facade = new NtierAppDemoDataFacade();
            var unitOfWork = facade.GetUnitOfWork();
            var result     = unitOfWork.RatePublisherRepository.Add(rate);

            facade.ReturnUnitOfWork();
            return(result);
        }