Files
contract-manager/client/src/main/java/com/ecep/contract/vm/EmployeeRoleViewModel.java
2025-09-03 20:56:44 +08:00

64 lines
2.1 KiB
Java

package com.ecep.contract.vm;
import java.util.Objects;
import com.ecep.contract.model.EmployeeRole;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleStringProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class EmployeeRoleViewModel extends IdentityViewModel<EmployeeRole> {
private SimpleStringProperty code = new SimpleStringProperty();
private SimpleStringProperty name = new SimpleStringProperty();
private SimpleBooleanProperty systemAdministrator = new SimpleBooleanProperty();
private SimpleBooleanProperty manager = new SimpleBooleanProperty();
private SimpleBooleanProperty active = new SimpleBooleanProperty();
public static EmployeeRoleViewModel from(EmployeeRole v) {
EmployeeRoleViewModel model = new EmployeeRoleViewModel();
model.update(v);
return model;
}
@Override
protected void updateFrom(EmployeeRole v) {
super.updateFrom(v);
getCode().set(v.getCode());
getName().set(v.getName());
getSystemAdministrator().set(v.isSystemAdministrator());
getManager().set(v.isManager());
getActive().set(v.isActive());
}
@Override
public boolean copyTo(EmployeeRole v) {
boolean modified = super.copyTo(v);
if (!Objects.equals(getCode().get(), v.getCode())) {
v.setCode(getCode().get());
modified = true;
}
if (!Objects.equals(getName().get(), v.getName())) {
v.setName(getName().get());
modified = true;
}
if (!Objects.equals(getSystemAdministrator().get(), v.isSystemAdministrator())) {
v.setSystemAdministrator(getSystemAdministrator().get());
modified = true;
}
if (!Objects.equals(getManager().get(), v.isManager())) {
v.setManager(getManager().get());
modified = true;
}
if (!Objects.equals(getActive().get(), v.isActive())) {
v.setActive(getActive().get());
modified = true;
}
return modified;
}
}