コード例 #1
0
        public async Task MarkAsReturnedAsync_markGameAsReturned()
        {
            // Arrange:
            var currentTime = DateTime.UtcNow;
            var service     = new BorrowService(Context, _mapper);

            // Act:
            BorrowDTO borrowToMarkAsReturned = new BorrowDTO {
                BorrowId = 3, BoxId = 3, PlayerId = 3, Returned = false
            };

            borrowToMarkAsReturned.Returned = true;
            await service.MarkAsReturnedAsync(borrowToMarkAsReturned);

            // Assert:
            Assert.True(Context.Borrows.Where(x => x.BoxId == 3).Any(x => x.Returned != true) == false);
        }
コード例 #2
0
        public async Task <IActionResult> OnPostAsync()
        {
            var borrowsToReturn = await _borrowService.GetUnreturnedBorrowsAsync(BoxId); // there should be only one entity

            if (!borrowsToReturn.Any())
            {
                ToastMessage = _locService.GetLocalizedString("Game already returned or wrong game code!");
                ToastType    = "warning";
                return(RedirectToPage("./Return"));
            }

            if (borrowsToReturn.Count() != 1) // it should be impossible (there should be only one entity)
            {
                ToastMessage = _locService.GetLocalizedString("Impossible error! Please tell about it to Paweł in gamesroom - he will be very upset:-(");
                ToastType    = "error";
                return(Page());
            }

            var borrowToMarkAsReturned = borrowsToReturn.First();

            borrowToMarkAsReturned.Returned   = true;
            borrowToMarkAsReturned.ReturnTime = DateTime.UtcNow;

            try
            {
                await _borrowService.MarkAsReturnedAsync(borrowToMarkAsReturned);

                ToastMessage = _locService.GetLocalizedString("Game returned");
                ToastType    = "success";
                return(RedirectToPage("./Return"));
            }
            catch
            {
                ToastMessage = _locService.GetLocalizedString("Error! Please try again!");
                ToastType    = "error";
                return(Page());
            }
        }