/// <inheritdoc /> public void Apply(IProject project, IWorklog worklog) { var removedWorklog = project.Worklogs.FirstOrDefault(x => x.WorkEndedDateTime == worklog.WorkEndedDateTime && x.WorkStartedDateTime == worklog.WorkStartedDateTime && string.Equals(x.EmployeeEmailAddress, worklog.EmployeeEmailAddress) && Math.Abs(x.KilometresCovered - worklog.KilometresCovered) < 0.01); if (removedWorklog != null) { project.RemoveWorklog(worklog); } }
/// <inheritdoc /> public void RemoveWorklog(IWorklog worklog) { var removedWorklog = ConnectorWorklogs.FirstOrDefault(x => x.WorkStartedDateTime == worklog.WorkStartedDateTime && x.WorkEndedDateTime == worklog.WorkEndedDateTime && Math.Abs(x.KilometresCovered - worklog.KilometresCovered) < 0.01 && string.Equals(x.EmployeeEmailAddress, worklog.EmployeeEmailAddress)); if (removedWorklog == null) { throw new DomainException("Worklog does not exist in project"); } ConnectorWorklogs.Remove(removedWorklog); }
public WorklogChange(IWorklog worklog, IWorklogChangeState worklogChangeState) { Worklog = worklog; WorklogChangeState = worklogChangeState; }
/// <inheritdoc /> public IWorklogChange GetWorklogRemovedChange(IWorklog worklog) { return(new WorklogChange(worklog, new WorklogChangeStateRemoved())); }
/// <inheritdoc /> public IWorklogChange GetWorklogAddedChange(IWorklog worklog) { return(new WorklogChange(worklog, new WorklogChangeStateAdded())); }
/// <inheritdoc /> public void Apply(IProject project, IWorklog worklog) { project.AddWorklog(worklog.WorkStartedDateTime, worklog.WorkEndedDateTime, worklog.Description, worklog.KilometresCovered, worklog.EmployeeEmailAddress); }