public int AddRectification(int problemId, AddHousekeepingProblemRectificationInput input) { var rectification = input.MapTo <HousekeepingProblemRectification>(); rectification.HousekeepingProblemId = problemId; using (var transaction = _dbContextProvider.BeginTransaction()) { _problemRepository.Update( new HousekeepingProblem { Id = problemId, RectificationState = RectificationState.Underway, CompletionTime = null }, new System.Linq.Expressions.Expression <Func <HousekeepingProblem, object> >[] { u => u.RectificationState, u => u.CompletionTime }); _rectificationRepository.Add(rectification); transaction.Commit(); } return(rectification.Id); }