/// <summary> /// <see cref="Microsoft.Samples.NLayerApp.DistributedServices.MainModule.IMainModuleService"/> /// </summary> /// <param name="bankAccount"><see cref="Microsoft.Samples.NLayerApp.DistributedServices.MainModule.IMainModuleService"/></param> public void ChangeBankAccount(Domain.MainModule.Entities.BankAccount bankAccount) { try { //Resolve root dependency and perform operation using (IBankingManagementService bankingManagement = IoCFactory.Instance.CurrentContainer.Resolve <IBankingManagementService>()) { bankingManagement.ChangeBankAccount(bankAccount); } } catch (ArgumentNullException ex) { //trace data for internal health system and return specific FaultException here! //Log and throw is a knowed anti-pattern but in this point ( entry point for clients this is admited!) //log exception for manage health system ITraceManager traceManager = IoCFactory.Instance.CurrentContainer.Resolve <ITraceManager>(); traceManager.TraceError(ex.Message); //propagate exception to client ServiceError detailedError = new ServiceError() { ErrorMessage = Resources.Messages.exception_InvalidArguments }; throw new FaultException <ServiceError>(detailedError); } }
public void ChangeBankAccount_Invoke_NullItemThrowNewArgumentNullException_Test() { //Arrange IBankingManagementService bankAccountService = IoCFactory.Instance.CurrentContainer.Resolve <IBankingManagementService>(); bankAccountService.ChangeBankAccount(null); }
public ActionResult LockAccount(string accountNumber) { BankAccount account = _BankingService.FindBankAccountByNumber(accountNumber); account.StartTrackingAll(); account.Locked = !account.Locked; _BankingService.ChangeBankAccount(account); return(RedirectToAction("TransferMoney")); }
public void ChangeBankAccount_Invoke_Test() { //Arrange IBankingManagementService bankAccountService = IoCFactory.Instance.CurrentContainer.Resolve <IBankingManagementService>(); //Act BankAccount actual = bankAccountService.FindBankAccountByNumber("BAC0000001"); decimal balance = actual.Balance; actual.Balance += 10M; bankAccountService.ChangeBankAccount(actual); BankAccount expected = bankAccountService.FindBankAccountByNumber("BAC0000001"); //Assert Assert.IsNotNull(expected != null); Assert.IsTrue(expected.Balance == (balance + 10M)); }