package Visual_DVM_2021.Passes.All;
import Common.Current;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import TestingSystem.TasksPackageToKill.TasksPackageToKill;
import Visual_DVM_2021.Passes.TestingSystemPass;

import java.util.Vector;
public class AbortSapforTaskPackage extends TestingSystemPass<SapforTasksPackage> {
    Vector<TasksPackageToKill> packagesToKill;
    @Override
    public String getIconPath() {
        return "/icons/Ban.PNG";
    }
    @Override
    public String getButtonText() {
        return "";
    }
    @Override
    protected boolean canStart(Object... args) throws Exception {
        if (Current.Check(Log, Current.SapforTasksPackage)) {
            packagesToKill = new Vector<>();
            target = Current.getSapforTasksPackage();
            switch (target.state) {
                case Done:
                case Aborted:
                    Log.Writeln_("Пакет уже завершен.");
                    break;
                default:
                    TasksPackageToKill tasksPackageToKill = new TasksPackageToKill();
                    tasksPackageToKill.packageName = target.id;
                    packagesToKill.add(tasksPackageToKill);
                    return true;
            }
        }
        ;
        return false;
    }
    @Override
    protected void ServerAction() throws Exception {
        Command(new ServerExchangeUnit_2021(ServerCode.PublishAccountObjects, Current.getAccount().email, packagesToKill));
    }
}
