public new TEntity Create(TEntity entity) { var ormLibEntity = repository.Create(libMapper.MapToDal(entity)); var lib = entity; uow.Commit(); entity.Id = ormLibEntity.id; ISelectedEntityMapper <UEntity> selectedEntityMapper = new SelectedEntityMapper <UEntity, Service>(uow); foreach (var Entity in lib.SelectedEntities) { var dalEntity = selectedEntityMapper.MapToDal(Entity); dalEntity.Lib_id = entity.Id; var ormEntity = selectedEntityRepository.Create(dalEntity); uow.Commit(); Entity.Id = ormEntity.id; } return(lib); }
public new TEntity Update(TEntity entity) { ISelectedEntityMapper <UEntity> selectedEntityMapper = new SelectedEntityMapper <UEntity, Service>(uow); var lib = (IBllEntityLib <UEntity>)entity; foreach (var Entity in lib.SelectedEntities) { var dalEntity = selectedEntityMapper.MapToDal(Entity); dalEntity.Lib_id = entity.Id; if (Entity.Id == 0) { selectedEntityRepository.Create(dalEntity); } else { selectedEntityRepository.Update(dalEntity); } } var EntitysWithLibId = ((IGetterByLibId <IDalSelectedEntity>)selectedEntityRepository).GetEntitiesByLibId(entity.Id); foreach (var Entity in EntitysWithLibId) { bool isTrashEntity = true; foreach (var selectedEntity in lib.SelectedEntities) { if (Entity.Id == selectedEntity.Id) { isTrashEntity = false; break; } } if (isTrashEntity == true) { selectedEntityRepository.Delete(Entity.Id); } } uow.Commit(); return((TEntity)lib); }