class CommodityMetaFacade(BaseFacade): def __init__(self, context): self._repository = CommodityMetaRepository() super(CommodityMetaFacade, self).__init__(context) def list(self, param = None): if (not param): param = CommodityMetaQueryModel() param.user_id = self._context.user_id entities = self._repository.list(param) result = [] map(lambda e:result.append(obj_map(e, CommodityMetaViewModel, mapper={ CommodityCustomField:CommodityCustomFieldViewModel })),entities) return result def get(self, entity_id): entity = self._repository.get(entity_id) if (entity is None) or (not self.is_accessable(entity)): return None mapper = { CommodityCustomField:CommodityCustomFieldViewModel } return obj_map(entity, CommodityMetaViewModel, mapper = mapper) def save(self, viewModel): mapper = { CommodityCustomFieldViewModel:CommodityCustomField } viewModel.fields = map(lambda v:CommodityCustomFieldViewModel(v), viewModel.fields) entity = obj_map(viewModel, CommodityMeta, mapper = mapper) if (entity.user_id > 0 and (not self.is_accessable(entity))): return entity.user_id = self._context.user_id return self._repository.save(entity) def delete(self, entity_id): if (self.get(entity_id) is None): return return self._repository.delete(entity_id) def batch_delete(self, entity_ids): for entity_id in entity_ids: if (self.get(entity_id) is None): return return self._repository.batch_delete(entity_ids)
def __init__(self, context): self._repository = CommodityMetaRepository() super(CommodityMetaFacade, self).__init__(context)