@SuppressWarnings("unchecked")
protected void buttonPressed(int buttonId) {
if (buttonId == OK) {
setConfirmed(true);
GDDate paidDate = getPaidDate();
Money paidTotal = getPaidTotal();
try {
String accountSelected = incomingAccountCombo.getText();
String accountId = "";
if(!accountSelected.equals("Selecione uma conta...")) {
String accountNameLogged = "";
Map<String, Account> accountMap = (Map<String, Account>) system.query(new GetAccounts());
for (Account account : accountMap.values()) {
if(!account.isBankAccount()){
if(account.getPerson().getId().equals(system.getLogged().getId())){
accountNameLogged = account.getName();
accountId = account.getId();
break;
}
}
}
if(accountSelected.equals(accountNameLogged)){
new MoneyTransaction().incomingPayment(getIncomingId(), accountId, paidDate.getCalendar(), paidTotal.getValue(), paymentTypeCombo.getPaymentType(), extractBankItem);
} else {
Account accountDestiny = (Account) system.query(new GetAccountByName(accountSelected));
accountId = accountDestiny.getId();
if(!accountDestiny.isBankAccount()) {
User user = ((User)accountDestiny.getPerson().getPersonType("user"));
ConfirmUserAndPasswordDialog dialog = new ConfirmUserAndPasswordDialog(getShell(), user);
dialog.open();
if(dialog.isCheckPassword()) {
new MoneyTransaction().incomingPayment(getIncomingId(), accountId, paidDate.getCalendar(), paidTotal.getValue(), paymentTypeCombo.getPaymentType(), extractBankItem);
}
} else {
new MoneyTransaction().incomingPayment(getIncomingId(), accountId, paidDate.getCalendar(), paidTotal.getValue(), paymentTypeCombo.getPaymentType(), extractBankItem);
}
}
close();
GDWindowControl.getInstance().updateControlCenter();
} else {