我使用的是Fluent NHibernate和NHibernate.Core 3 beta 1。我有两个类:
public class Promotion
{
public Promotion()
{
PromotionEntrants = new List<PromotionEntrant>();
}
public virtual int Id { get; set; }
[Required]
public virtual string Name { get; set; }
...
我正在开发销售推广系统,我刚刚踩到了一些可能可以用状态机模式处理的东西,但我还没有使用状态机的经验。也许状态机在这种情况下完全没有用:)所以我有一个促销活动,它有一些持续时间,一些指定的客户,产品,折扣等。每个促销活动也有它的状态。大概有5个州。状态之间的转换是严格定义的-不可能直接将状态1更改为状态3-用户必须首先将状态更改为2。有一些限制,比如“当促销处于3-5状态时,不可能添加更多的产品”。或者像“只有超级用户才能编辑处于3-5状态的促销费用”这样的限制。
我刚刚读到了,但我不确定对于这个案例来说它是否太复杂了。我可以在我的服务层中使用如下内容来处理状态逻辑:
if (promotion
阶段
我有这样的模型:
Promo(id: integer, start_date: datetime, end_date: datetime)
我想知道目前的促销活动是什么。可能是我们的查询应该是:
SELECT * FROM promos WHERE now BETWEEN start_date AND end_date;
问题
我该怎么用Ruby做呢?哪种方法是正确的?
谢谢。
我有两个Django模型,一个存储促销代码,另一个跟踪兑换特定促销代码的人。我正在尝试创建一个实例方法,用于确定特定用户是否已兑换特定代码。问题是我没有看到我的一个PromotionManager方法,'redeemed_by_user‘。以下是我的类:
from django.contrib.auth.models import User
from django.db import models
class PromotionManager(models.Manager):
def redeemed_by_user(self, promotion, user):