Exemplo n.º 1
0
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)
Exemplo n.º 2
0
 def __init__(self, context):
     self._repository = CommodityMetaRepository()
     super(CommodityMetaFacade, self).__init__(context)