private Goal(string title, DateTime deadline, IEnumerable <Subtask> subtasks, Rank rank, GoalStatus goalStatus) { Title = title; Deadline = deadline; Subtasks = subtasks; Rank = rank; GoalStatus = goalStatus; }
public static Result <Goal> Create(string title, Rank rank, GoalStatus goalStatus, IEnumerable <Subtask> subtasks, DateTime?deadline) { if (string.IsNullOrEmpty(title)) { return(Result.Failure <Goal>("A goal needs a title")); } if (rank == null) { return(Result.Failure <Goal>($"{nameof(rank)} can not be null")); } if (goalStatus == null) { return(Result.Failure <Goal>($"{nameof(goalStatus)} can not be null")); } return(new Goal(title, deadline ?? default, subtasks ?? Array.Empty <Subtask>(), rank, goalStatus)); }
public void SetGoalStatus(GoalStatus newStatus) { GoalStatus = newStatus ?? throw new ArgumentNullException(nameof(newStatus), "GoalStatus can not be null"); }