Пример #1
0
        public async Task GetRevenueForDay_Error(string year, string month, string day)
        {
            var          targetDay = new DateTime(int.Parse(year), int.Parse(month), int.Parse(day));
            DailyRevenue result    = await Client.GetRevenue(targetDay);

            Assert.Null(result);
        }
        public async Task <object> Get(string branchId, DateTime reportDate)
        {
            DailyRevenue dailyRevenue = await DB.DailyRevenue.Where(x => x.BranchId.Equals(branchId) && x.ReportDate.Equals(reportDate)).FirstOrDefaultAsync();

            if (dailyRevenue == null)
            {
                return(NotFound());
            }

            return(dailyRevenue);
        }
Пример #3
0
        public async Task <ActionResult <DailyRevenue> > GetRevenue(DateTime targetDay)
        {
            AsyncLogger.Log(LogLevel.Info, $"Operation: {nameof(GetRevenue)}. Input: {targetDay:s}");
            DailyRevenue result = (await _dataStore.GetRevenues(targetDay.Date, targetDay.Date)).SingleOrDefault();

            if (result == null)
            {
                AsyncLogger.Log(LogLevel.Warning, $"{nameof(GetRevenue)} returned no values");
                return(NoContent());
            }

            return(Ok(result));
        }
Пример #4
0
        public async Task Handle(TripCreatedDomainEvent notification, CancellationToken cancellationToken)
        {
            _logger.LogInformation($"Handling {nameof(TripCreatedDomainEvent)}");

            // Check if revenue exists for the date the trip was created.
            var dailyRevenue = await _dailyRevenueRepository.FindByDateAsync(notification.Trip.TripDate);

            if (dailyRevenue == null)
            {
                dailyRevenue = new DailyRevenue(notification.Trip.TripDate, notification.Trip.TotalRevenue);
                await _dailyRevenueRepository.AddAsync(dailyRevenue);
            }
            else
            {
                dailyRevenue.AddIncome(notification.Trip.TotalRevenue);
                _dailyRevenueRepository.Update(dailyRevenue);
            }

            await _dailyRevenueRepository.UnitOfWork.SaveEntitiesAsync();

            _logger.LogInformation($"Handled {nameof(TripCreatedDomainEvent)}");
        }
Пример #5
0
 public void Update(DailyRevenue dailyRevenue)
 {
     _revenueContext.DailyRevenue.Update(dailyRevenue);
 }
Пример #6
0
        public async Task <DailyRevenue> AddAsync(DailyRevenue dailyRevenue)
        {
            var result = await _revenueContext.DailyRevenue.AddAsync(dailyRevenue);

            return(result.Entity);
        }