package _VisualDVM.Passes.All;
import Common.Database.Objects.DBObject;
import Common.Passes.AddObjectPass;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Machine.Machine;
import _VisualDVM.GlobalData.Machine.MachineType;
import _VisualDVM.GlobalData.User.User;
import _VisualDVM.Passes.PassCode;
public class AddUser extends AddObjectPass<User> {
    public AddUser() {
        super(User.class);
    }
    @Override
    protected Class<? extends DBObject> getOwnerClass() {
        return Machine.class;
    }
    @Override
    protected boolean canStart(Object... args) throws Exception {
        if (super.canStart(args)) {
            Machine machine = (Machine) getOwner();
            if (machine.type.equals(MachineType.Local) && (machine.getUsers().size() > 0)) {
                Log.Writeln_("У локальной машины может быть только один пользователь");
                return false;
            }
            return true;
        }
        return false;
    }
    @Override
    protected void showDone() throws Exception {
        super.showDone();
        Global.mainModule.getPass(PassCode.InitialiseUser).Do();
    }
}
