public void AddAddress_DuplicateAddress_Success(int _clientId, string _country, string _city, string _street, int _ZIPCode, int _buildingNumber, string _apartmentNumber) { DatabaseQueryProcessor.Erase(); Shared.FillTheDatabase(); var testSessionToken = SessionRepository.StartNewSession(_clientId); var addressExists = DatabaseQueryProcessor.GetAddress(_clientId, _country, _city, _street, _ZIPCode, _buildingNumber, _apartmentNumber); if (addressExists != null) { DatabaseQueryProcessor.UpdateAddress(addressExists.addressId, false); } var addAddressCommand = new AddAddressCommand { sessionToken = testSessionToken, country = _country, city = _city, street = _street, ZIPCode = _ZIPCode, buildingNumber = _buildingNumber, apartmentNumber = _apartmentNumber }; var handler = new AddAddressCommandHandler(); var addressBook = (AddressBookDto)handler.Handle(addAddressCommand); var record = DatabaseQueryProcessor.GetAddress(_clientId, _country, _city, _street, _ZIPCode, _buildingNumber, _apartmentNumber); DatabaseQueryProcessor.Erase(); SessionRepository.RemoveSession(testSessionToken); Assert.IsTrue(record.isActive); }
public IResult Handle(InactivateAddressCommand command) { int clientId = SessionRepository.GetClientIdOfSession(command.sessionToken); if (clientId == -1) { throw new Exception(); } var address = DatabaseQueryProcessor.GetAddress(command.addressKey); if (address != null && address.clientId == clientId) { DatabaseQueryProcessor.UpdateAddress(address.addressId, false); return(new GetAddressBookQueryHandler().Handle(new GetAddressBookQuery() { sessionToken = command.sessionToken })); } return(new SuccessInfoDto() { isSuccess = false }); }
public IResult Handle(AddAddressCommand command) { int clientId = SessionRepository.GetClientIdOfSession(command.sessionToken); if (clientId == -1) { throw new Exception(); } if (!InputChecker.isValidName(command.country) || !InputChecker.isValidName(command.city) || !InputChecker.isValidName(command.street) || !InputChecker.isValidApartmentNumber(command.apartmentNumber)) { throw new Exception(); } var duplicate = DatabaseQueryProcessor.GetAddress(clientId, command.country, command.city, command.street, command.ZIPCode, command.buildingNumber, command.apartmentNumber); if (duplicate != null) { DatabaseQueryProcessor.UpdateAddress(duplicate.addressId, true); } else { DatabaseQueryProcessor.CreateNewAddress( clientId, command.country, command.city, command.street, command.ZIPCode, command.buildingNumber, command.apartmentNumber ); } return(new GetAddressBookQueryHandler().Handle(new GetAddressBookQuery() { sessionToken = command.sessionToken })); }