public IDictionary <PlanningEntity, List <PlanningEntity> > Create(int companyId, int itemId, int?subItemId, List <PlanningEntity> montlyPlanning, PlanningEntity yearPlanning, int userId) { this.ValidateRelation(companyId, itemId, subItemId); var relationId = GetRelationId(companyId, itemId, subItemId); using (var transaction = new TransactionScope()) { var monthPlanningCollection = new List <PlanningEntity>(); foreach (var p in montlyPlanning) { var monthPlanning = _planningService.CreateMonthPlanning(companyId, itemId, subItemId, p, relationId, userId); monthPlanningCollection.Add(monthPlanning); } var yearPlanningEntity = _planningService.CreateYearPlanning(companyId, itemId, subItemId, yearPlanning, relationId, userId); var dictionaryEntity = new Dictionary <PlanningEntity, List <PlanningEntity> >(); dictionaryEntity.Add(yearPlanningEntity, monthPlanningCollection); transaction.Complete(); // Notificate client; return(dictionaryEntity); } }