public SubjectStatusActions Create(Action <decimal> approveSubject, Action <decimal> recoverySubject, Action <decimal> disapproveSubject) => new SubjectStatusActions(new Dictionary <SubjectStatus, Action <decimal> > { [SubjectStatus.Suscribe().ApproveExams().DeliveredPracticalWorks().ApproveFinalExam()] = approveSubject, [SubjectStatus.Suscribe().DeliveredPracticalWorks().ApproveExams()] = recoverySubject, [SubjectStatus.Suscribe().DeliveredPracticalWorks()] = recoverySubject, [SubjectStatus.Suscribe()] = disapproveSubject, });
public Action <decimal> Execute(SubjectStatus status) => _subjectStatusActions[status];
public bool Equals(SubjectStatus other) => other != null && _subjectStatus == other._subjectStatus;