Newer
Older
Cactus-CleanArchitecture / app / src / main / java / org / ntlab / radishforandroidstudio / CactusCleanArchitecture / UseCases / LoginResponseUseCase.java
package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases;

import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities.Account;
import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities.Cactus;
import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities.URIAddressedAccount;

public class LoginResponseUseCase {
    private Cactus cactus;
    private LoginResponsePresenterBoundary userLoginResponsePresenter;
    private URIAddressedAccount lac;

    public LoginResponseUseCase(Cactus cactus, LoginResponsePresenterBoundary userLoginResponsePresenter) {
        this.cactus = cactus;
        this.userLoginResponsePresenter = userLoginResponsePresenter;
    }

    public void inputData(URIAddressedAccount lac) {
        this.lac = lac;
    }

    public void proc() {
        Account user = lac.getAccount();
        if (user.isLogin()) {
            System.out.println("成功");
            // エンティティの更新
            cactus.setMyAccount(user);
            cactus.setAddressedAccount(lac);

            userLoginResponsePresenter.succeeded();
        } else {
            userLoginResponsePresenter.failed();
        }
    }
}