public CalculateCostSplitAndReserveLimitsResult Handle(CalculateCostSplitAndReserveLimitsCommand cmd) { using (var tx = new TransactionScope()) { ClearPreviousConsumptionForCase(cmd); var costSplitServices = SplitCostForServices(cmd); tx.Complete(); return(CalculateCostSplitAndReserveLimitsResult.For(costSplitServices)); } }
private List <CaseServiceCostSplit> SplitCostForServices(CalculateCostSplitAndReserveLimitsCommand cmd) { var costSplitServices = BuildServicesList(cmd.Case); foreach (var caseService in costSplitServices) { var costSplitPolicies = _costSplitPoliciesFactory.CreatePoliciesFor ( caseService.PolicyId, caseService.Date ); caseService.SplitCost(costSplitPolicies); _dataStore.CommitChanges(); } return(costSplitServices); }
private void ClearPreviousConsumptionForCase(CalculateCostSplitAndReserveLimitsCommand cmd) { //_limitConsumptionContainers.RemoveForCase(cmd.Case.Number); }