/// <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);
            }
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
 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);
 }