Ejemplo n.º 1
0
 public void BindFromUIModel(CurrencyRateModel model)
 {
     using (RepositoryHolder scope = new RepositoryHolder())
     {
         CurrencyRateMapper mapper = new CurrencyRateMapper();
         var dbModel = mapper.ModelToEntity(model);
         scope.CurrencyRateRepository.Insert(dbModel);
         scope.SaveChanges();
     }
 }
Ejemplo n.º 2
0
        public List<CurrencyRateModel> BindFromEntities()
        {
            using (RepositoryHolder scope = new RepositoryHolder())
            {
                CurrencyRateMapper mapper = new CurrencyRateMapper();

                List<CurrencyRateModel> result = mapper.EntityToModel(
                    scope.CurrencyRateRepository
                    .Fetch()
                           
                   .ToList());

                   
                return result;
            }

        }
Ejemplo n.º 3
0
        public Task SendCurrencyToSap(List <CurrencyRateDto> currencyRate)
        {
            // if it is friday we must set the currency rates for the weekend and next monday
            //TODO: We can create a DateTime service for obtains days of the weekend
            var allCurrenciesRates = _dateTimeProvider.UtcNow.DayOfWeek != DayOfWeek.Friday ? currencyRate
                : currencyRate
                                     .SelectMany(x =>
                                                 new List <CurrencyRateDto>
            {
                new CurrencyRateDto
                {
                    Date         = x.Date,
                    CurrencyCode = x.CurrencyCode,
                    CurrencyName = x.CurrencyName,
                    SaleValue    = x.SaleValue
                },
                new CurrencyRateDto
                {
                    Date         = x.Date.AddDays(1),
                    CurrencyCode = x.CurrencyCode,
                    CurrencyName = x.CurrencyName,
                    SaleValue    = x.SaleValue
                },
                new CurrencyRateDto
                {
                    Date         = x.Date.AddDays(2),
                    CurrencyCode = x.CurrencyCode,
                    CurrencyName = x.CurrencyName,
                    SaleValue    = x.SaleValue
                }
            })
                                     .ToList();

            foreach (var setCurrencyRateTask in allCurrenciesRates.Select(rate => new SapTask
            {
                CurrencyRate = CurrencyRateMapper.MapCurrencyRate(rate),
                TaskType = SapTaskEnum.CurrencyRate
            }))
            {
                _queuingService.AddToTaskQueue(setCurrencyRateTask);
            }

            return(Task.CompletedTask);
        }