关于销售应用程序的MVC3架构

时间:2012-07-05 13:35:25

标签: c# asp.net-mvc-3 architecture

我目前正在开发MVC3上的销售/ CRM应用程序。 由于许多操作围绕一个给定的顺序(可以保存并在以后使用),我想知道一些问题。

  1. 我想要标签以获取客户的报价和内部订单视图。我如何处理这种行为,以便当客户打开一个给定的订单时,他/她可以保持在同一个订单中?
  2. 订单包含生成各种其他Excel文档(如供应商发票和发货订单)的信息,我需要实现一种“填写”这些表单的方法。表单是Excel格式,有没有办法从C#应用程序“填充”excel然后生成文件?
  3. 谢谢。

2 个答案:

答案 0 :(得分:0)

我不清楚第一个问题,所以我只回答第二个问题

要从您的模型生成Excel,您可以使用openXml SDK。使用此dll,您可以从头开始生成word或excel,而无需在服务器上安装office(使用interop,你必须这样做)

希望有所帮助

答案 1 :(得分:0)

第一个问题听起来像是持久性问题。您可以使用会话在页面之间保留数据。例如,如果您有某种Order类,则当客户执行需要它的操作时,您可以创建新的Order

\\ first use:
var order = new Order();
order.Details = "Blah blah blah";
Session["Order"] = order;

稍后,您可以使用相同的机制获取它:

\\ You should check if this exists first
var order = (Order) Session["Order"];
order.SomethingUseful();    

就个人而言,我在Session周围写了一些包装,以使其强类型,因此我可以正确地进行单元测试。有点像:

interface ISessionWrapper
{
    Order Order { get; set; }
}

然后我可以实现它:

    public Order Order { get; set; }
    {
        get { return (Session["Order"] ?? Session["Order"] = new Order()); }
        set { Session["Order"] = value; }
    }

在一些具体的课堂上。它也变得易于模拟和单元测试。