Beispiel #1
0
        public override void CreateUpdateOrDeleteGraph(Character entity)
        {
            var existingEntity = GetEntityFromContext(entity);

            new BaseObjectRepository(Context).CreateUpdateOrDeleteGraph(entity);

            var skillRepository = new SkillRepository(Context);

            foreach (var skill in entity.Skills)
            {
                if (skillRepository.IsItNew(skill))
                {
                    skillRepository.Create(skill);
                }
                else
                {
                    skillRepository.Update(skill);
                }
            }

            var existingEntitySkills = existingEntity.Skills.ToList();

            for (int i = 0; i < existingEntitySkills.Count; i++)
            {
                var skill = existingEntitySkills.ToList()[i];

                if (!entity.Skills.Any(s => s.Id == skill.Id))
                {
                    skillRepository.Delete(skill);
                }
            }
        }
Beispiel #2
0
        public override void DeleteDependencies(Character entity)
        {
            new BaseObjectRepository(Context).DeleteDependencies(entity);

            var skillRepository = new SkillRepository(Context);

            foreach (var skill in entity.Skills.ToList())
            {
                skillRepository.Delete(skill);
            }
        }
Beispiel #3
0
        public override void CreateDependencies(Character entity)
        {
            new BaseObjectRepository(Context).CreateDependencies(entity);

            var skillRepository = new SkillRepository(Context);

            foreach (var skill in entity.Skills)
            {
                skillRepository.CreateDependencies(skill);
            }
        }