2012-07-05 42 views
0

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

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

谢谢。

+1

供将来参考:如果您现在有两个不同的问题,您应该提出两个不同的问题。不要将它们放在一个问题中。 – 2012-07-05 13:48:37

+0

roger,我是新来实际上在stackO – LECHIP 2012-07-06 15:11:30

回答

0

的第一个问题听起来像是持续性的问题。您可以使用会话在页面间持久保存数据。

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

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

之后,你可以使用相同的机制获得它:例如,如果你有某种Order类的,你可以在客户做一些事情,要求它创建一个新的Order

就我个人而言,我在Session周围编写了一些包装以使其具有强类型,因此我可以对它进行单元测试。沿着线的东西:

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

然后我就可以实现它:

public Order Order { get; set; } 
    { 
     get { return (Session["Order"] ?? Session["Order"] = new Order()); } 
     set { Session["Order"] = value; } 
    } 
在一些具体的类

。模拟和单元测试也变得很容易。

0

的第一个问题是我不明白,所以我只能回答第二个

从模型生成Excel您可以使用openXml SDK。有了这个DLL可以生成word或者从头练成没有在服务器上安装Office的需要(与互操作,你必须这样做)

希望它有助于

+0

真的问题,似乎我需要做的。无论哪种方式,Office已经在服务器上,我的需求是从特定的电子表格模板生成文档,因为它们中的很多都是来自客户或政府格式的定制发票,所以您认为我可以使用此SDK用于该目的? – LECHIP 2012-07-06 15:13:57

+0

是的。我只是在一个项目中使用它。在单词的情况下,我打开文档,替换一些书签并将新文档发送给客户端。在excel的情况下,我打开excel更改/设置一些单元格值并重新计算一些公式。 – Iridio 2012-07-06 16:22:46