def get_cart(cart_id=None, store_pk=None, user_id=None): try: if len( m_Cart.objects.filter(store_id=store_pk, customer_id=user_id)) == 0: return None if cart_id is not None: model = m_Cart.objects.get(pk=cart_id) elif ((user_id is not None) and (store_pk is not None)): model = m_Cart.objects.filter(customer_id=user_id, store_id=store_pk)[0] elif user_id is not None: try: model = m_Cart.objects.filter(customer_id=user_id)[0] except ObjectDoesNotExist: return None except MultipleObjectsReturned: pass else: try: model = m_Cart.objects.get(store_id=store_pk, customer_id=user_id) except ObjectDoesNotExist: return None return Cart(model=model) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def get_item_ci_rules(item_id): try: cir_models = m_ComplexItemRule.objects.filter(item_id=item_id) return list(map(lambda cir_model: ComplexItemRule(model=cir_model), list(cir_models))) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def get_ci_rule(rule_id): try: return ComplexItemRule(model=m_ComplexItemRule.objects.get(pk=rule_id)) # return list(map(lambda cir_model: ComplexItemRule(model=cir_model), list(cir_models))) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def get_store_discounts(store_id): try: models = m_Discount.objects.filter(store_id=store_id) return list(map(lambda m: Discount(model=m), models)) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def get_item_store(item_pk): try: model = list( filter(lambda s: item_pk in map(lambda i: i.pk, s.items.all()), m_Store.objects.all()))[0] return Store(model=model) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def get_user(user_id): try: if user_id is None: model = m_User.objects.filter(username='******')[0] else: model = m_User.objects.get(pk=user_id) return User(model=model) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def update(self, item_dict): for field in self._model._meta.fields: if field.attname in item_dict.keys(): setattr(self._model, field.attname, item_dict[field.attname]) try: self._model.save() except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def __init__(self, store_pk=None, user_pk=None, model=None): if model is not None: self._model = model return self._model = m_Cart.objects.create(customer_id=user_pk, store_id=store_pk) try: self._model.save() except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def get_owned_stores(user_id): try: return list( map( lambda s: { 'id': s.pk, 'name': s.name }, m_Store.objects.filter( Q(managers__id__in=[user_id]) | Q(owners__id__in=[user_id])))) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def len_of_super(): try: return len(m_User.objects.filter(is_superuser=True)) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def delete(self): try: self._model.delete() except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def manages_stores(user_id): try: tmp = m_Store.objects.filter(managers__username__contains=user_id) return len(tmp) == 0 except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def get_store(store_id): try: return Store(model=m_Store.objects.get(pk=store_id)) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def get_b_rule(rule_id): try: return BaseItemRule(model=m_BaseItemRule.objects.get(id=rule_id)) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')
def get_si_rule(rule_id): try: return ComplexStoreRule(model=m_ComplexStoreRule.objects.filter(pk=rule_id)) except Exception: raise dom.DBFailedExceptionDomainToService(msg='DB Failed')