public async Task <bool> UpdatePurchaseAbility(UpdatePurchaseAbilityVm updatedPurchaseAbility) { _logger.LogInformation("Updating purchase ability "); var account = await _context.CustomerAccounts.Where(a => a.Id == updatedPurchaseAbility.AccountId && a.IsActive == true).FirstOrDefaultAsync(); try { if (account != null) { account.CanPurchase = updatedPurchaseAbility.PurchaseAbility; _context.CustomerAccounts.Update(account); await _context.SaveChangesAsync(); _logger.LogInformation("Successfully updated purchase ability"); } return(true); } catch (Exception e) { _logger.LogError("Exception when deleting account with id: " + updatedPurchaseAbility.AccountId + e + e.StackTrace); } return(false); }
public async Task <IActionResult> UpdatePurchaseAbility(UpdatePurchaseAbilityVm updatedPurchaseAbility) { _logger.LogInformation("Updating purchase ability of account with id: " + updatedPurchaseAbility.AccountId); if (updatedPurchaseAbility == null) { _logger.LogError("Failed to update purchase ability due to ivnalid of no purchase ability vm sent"); throw new ArgumentException(nameof(updatedPurchaseAbility)); } var success = await _accountsService.UpdatePurchaseAbility(updatedPurchaseAbility); if (success) { _logger.LogInformation("Successfully updated purchase ability for account with id: " + updatedPurchaseAbility.AccountId); return(Ok(true)); } _logger.LogError("Failed to update purchase ability for account with id: " + updatedPurchaseAbility.AccountId); return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); }
public void Setup() { _mockAccountsService = new Mock <IAccountsService>(); _mockLogger = new Mock <ILogger <AccountsController> >(); _mockOrdersService = new Mock <IOrdersService>(); _accountsController = new AccountsController(_mockAccountsService.Object, _mockOrdersService.Object, _mockLogger.Object); _stubCustomerAccountDetail = new CustomerAccountDetailVm { Id = new Guid("58dfa3d3-83e3-490f-97f4-3290037ea365"), FirstName = "Oliver", LastName = "McHale", Address = "Test Drive", Postcode = "TS23 TST", DOB = new DateTime(), IsActive = true, CanPurchase = true, LoggedOnAt = new DateTime(), Email = "*****@*****.**", PhoneNumber = "01642652413", IsDeleteRequested = false }; _stubCustomerAccountListItem = new CustomerAccountListItemVm { FirstName = "Oliver", LastName = "McHale", Address = "Test Close", Email = "*****@*****.**", IsDeleteRequested = false, Id = new Guid("58dfa3d3-83e3-490f-97f4-3290037ea364") }; var stubListItems = new List <CustomerAccountListItemVm>(); stubListItems.Add(_stubCustomerAccountListItem); _stubAccountList = new CustomerAccountListVm { CustomerAccounts = stubListItems }; _stubEnableUpdatePurchaseAbilityVm = new UpdatePurchaseAbilityVm() { AccountId = new Guid("58dfa3d3-83e3-490f-97f4-3290037ea364"), PurchaseAbility = true }; _stubDisableUpdatePurchaseAbilityVm = new UpdatePurchaseAbilityVm() { AccountId = new Guid("58dfa3d3-83e3-490f-97f4-3290037ea365"), PurchaseAbility = true }; _stubUpdateUserVm = new UpdateUserVm() { Id = new Guid("58dfa3d3-83e3-490f-97f4-3290037ea365"), Address = "Test Avenue", Email = "[email protected]@", FirstName = "Unit", LastName = "Test", PhoneNumber = "230954822412", Postcode = "T3ST 101" }; _stubCustomerAccountDto = new CustomerAccountDto { Id = new Guid("58dfa3d3-83e3-490f-97f4-3290037ea365"), FirstName = "Oliver", LastName = "McHale", Address = "Test Drive", Postcode = "TS23 TST", DOB = new DateTime(), IsActive = true, CanPurchase = true, LoggedOnAt = new DateTime(), Email = "*****@*****.**", PhoneNumber = "01642652413", IsDeleteRequested = false }; }