Dao:public class CustomerDao : HibernateDaoSupport, ICustomerDao
{
public IList FindAll()
{
//return (IList)HibernateTemplate.LoadAll<Customer>();
return (IList)HibernateTemplate.Find<Orders>(" select Distinct o from Orders o left join o.Customer c left join o.myProducts p "); //return (IList)HibernateTemplate.Find<Orders>(" from Orders o inner join Customer c on o.CustomerId = c.CustomerId ");
} public Customer SaveOrUpdate(Customer customer)
{
HibernateTemplate.SaveOrUpdate(customer);
return customer;
}
}namespace Dto
{
public class CustomerEditDto
{
public virtual string CustomerId { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual DateTime Birthday { get; set; }
}
}namespace Dto
{
public class CustomerListDto
{
public List<CustomerListDetail> customerListDetail{ get; set; }
public CustomerListDto()
{
customerListDetail = new List<CustomerListDetail>();
} } public class CustomerListDetail
{
public virtual string CustomerId { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; } public virtual string OrderId { get; set; } public virtual Decimal Summary { get; set; }
public virtual DateTime OrderDate { get; set; }
}}service
public CustomerListDto GetAll()
{
CustomerListDto customerListDto = new CustomerListDto();
IList<Orders> orderList = (List<Orders>)CustomerDao.FindAll();
foreach (Orders o in orderList)
{
CustomerListDetail listDetail = new CustomerListDetail();
listDetail.CustomerId =o.Customer==null? "": o.Customer.CustomerId;
listDetail.FirstName = o.Customer == null ? "" : o.Customer.FirstName;
listDetail.LastName = o.Customer == null ? "" : o.Customer.LastName;
listDetail.OrderId = o.OrderId;
listDetail.Summary = o.Summary;
listDetail.OrderDate = o.OrderDate;
customerListDto.customerListDetail.Add(listDetail); }
return customerListDto;
} public CustomerEditDto UpdateCustomer(CustomerEditDto customerDto)
{
Customer customer = new Customer(); customer.CustomerId = customerDto.CustomerId;
customer.FirstName = customerDto.FirstName;
customer.LastName = customerDto.LastName;
customer.Birthday = customerDto.Birthday; CustomerDao.SaveOrUpdate(customer);
return customerDto;
} public CustomerEditDto GetCustomer(string customerId)
{
CustomerEditDto dto = new CustomerEditDto();
Customer customer =CustomerDao.FindById(customerId);
dto.CustomerId = customer.CustomerId;
dto.FirstName = customer.FirstName;
dto.LastName = customer.LastName;
dto.Birthday = customer.Birthday;
return dto;
} control private ICustomerService mCustomerService; public HomeController() {
mCustomerService = new CustomerService();
} public ICustomerService CustomerService
{
get { return this.mCustomerService; }
set { this.mCustomerService = value; }
} public ActionResult Customer()
{
ViewBag.Message = "客户一览";
Models.CustomerListModel customerListModel = new Models.CustomerListModel();
ViewData["listData"] = mCustomerService.GetAll(); return View("CustomerList",customerListModel);
}
public ActionResult EditCustomer(CustomerListModel listModel)
{
ViewBag.Message = "客户编辑";
Models.CustomerEditModel customerEditModel = new Models.CustomerEditModel(); if ("1" == listModel.buttonType)
{
CustomerEditDto editDto = mCustomerService.GetCustomer(listModel.editId);
customerEditModel.CustomerId = editDto.CustomerId;
customerEditModel.FirstName = editDto.FirstName;
customerEditModel.LastName = editDto.LastName;
customerEditModel.Birthday = editDto.Birthday; return View("EditCustomer", customerEditModel);
}
else
{
mCustomerService.DeleteCustomer(listModel.editId);
return Customer();
}
} public ActionResult SaveCustomer(CustomerEditModel customerEditModel)
{
ViewBag.Message = "客户编辑";
CustomerEditDto editDto = new CustomerEditDto();
editDto.CustomerId = customerEditModel.CustomerId;
editDto.FirstName = customerEditModel.FirstName;
editDto.LastName = customerEditModel.LastName;
editDto.Birthday = customerEditModel.Birthday; mCustomerService.UpdateCustomer(editDto);
return Customer();
}view @using Dto;
@model SpringProduct.Models.CustomerListModel@{
ViewBag.Title = "客户订单一览页面";
CustomerListDto customerListDto = (CustomerListDto)ViewData["listData"];
}<h2>@ViewBag.Message</h2><p>
@using (Html.BeginForm("Index", "Customer", FormMethod.Post, new { id = "form1" }))
{
<div class="editor-field">
@Html.LabelFor(m => m.FirstName)
@Html.TextBoxFor(m => m.FirstName, new { @style = "width:100px;" })
@Html.LabelFor(m => m.LastName)
@Html.TextBoxFor(m => m.LastName, new { @style = "width:100px;" })
@Html.LabelFor(m => m.OrderDate)
@Html.TextBoxFor(m => m.OrderDate, new { @style = "width:100px;" }) <input type="submit" name="btnList" value="查询" id="btnList" />
</div>
}
</p>
<h2>一览</h2>
<div> @using (Html.BeginForm("EditCustomer", "Home", FormMethod.Post, new { id = "form4", name = "form4" }))
{
@Html.HiddenFor(m => m.editId)
@Html.HiddenFor(m => m.buttonType)
} @if (customerListDto.customerListDetail.Count > 0)
{
<table style="width:800px;border-collapse:collapse;border:none;" border="0">
<tr>
<td style="border:1px solid gray;" >客户ID</td>
<td style="border:1px solid gray;" >客户前名</td>
<td style="border:1px solid gray;">客户后名</td>
<td style="border:1px solid gray;">订单ID</td>
<td style="border:1px solid gray;">订单日期</td>
<td style="border:1px solid gray;">订单金额</td>
<td style="border:1px solid gray;">操作</td>
</tr>
@foreach (var u in customerListDto.customerListDetail)
{
<tr>
<td style="border:1px solid gray;">@u.CustomerId</td>
<td style="border:1px solid gray;">@u.FirstName</td>
<td style="border:1px solid gray;">@u.LastName</td>
<td style="border:1px solid gray;">@u.OrderId</td>
<td style="border:1px solid gray;">@u.OrderDate</td>
<td style="border:1px solid gray;">@u.Summary</td>
<td style="border:1px solid gray;">
<input type="submit" name="btnEdit" onclick="form4.editId.value='@u.CustomerId';form4.buttonType.value='1';form4.submit();" value="编辑" id="btnEdit" />
<input type="submit" name="btnDel" onclick="form4.editId.value='@u.CustomerId';form4.buttonType.value='2';form4.submit();" value="删除" id="btnDel" />
</td>
</tr>
} </table>
}
@model SpringProduct.Models.CustomerEditModel
@{ ViewBag.Title = "CustomerEdit";
}<h2>CustomerEdit</h2> @using (Html.BeginForm("SaveCustomer", "Home", FormMethod.Post, new { id = "form1" }))
{
<div class="editor-field"> @Html.LabelFor(m => m.CustomerId)
@Html.TextBoxFor(m => m.CustomerId, new { @style = "width:100px;disabled:disabled" }) @Html.LabelFor(m => m.FirstName)
@Html.TextBoxFor(m => m.FirstName, new { @style = "width:100px;" }) @Html.LabelFor(m => m.LastName)
@Html.TextBoxFor(m => m.LastName, new { @style = "width:100px;" }) @Html.LabelFor(m => m.Birthday)
@Html.TextBoxFor(m => m.Birthday, new { @style = "width:100px;" }) </div>
<input type="submit" name="btnList" value="保存" id="btnList" />
<input type="submit" name="btnAdd" onclick="flg.value='2'" value="删除" id="btnAdd" />
} public class CustomerListModel
{
[Required]
[DataType(DataType.Text)]
[Display(Name = "客户前名")]
public string FirstName { get; set; } public string editId { get; set; } public string buttonType { get; set; } } public class CustomerEditModel
{
public string CustomerId { get; set; } [Required]
[DataType(DataType.Text)]
[Display(Name = "客户前名")]
public string FirstName { get; set; } } Global.asax: ControllerBuilder.Current.SetControllerFactory(typeof(SpringControllerFactory));mvcspringnhibernate
{
public IList FindAll()
{
//return (IList)HibernateTemplate.LoadAll<Customer>();
return (IList)HibernateTemplate.Find<Orders>(" select Distinct o from Orders o left join o.Customer c left join o.myProducts p "); //return (IList)HibernateTemplate.Find<Orders>(" from Orders o inner join Customer c on o.CustomerId = c.CustomerId ");
} public Customer SaveOrUpdate(Customer customer)
{
HibernateTemplate.SaveOrUpdate(customer);
return customer;
}
}namespace Dto
{
public class CustomerEditDto
{
public virtual string CustomerId { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual DateTime Birthday { get; set; }
}
}namespace Dto
{
public class CustomerListDto
{
public List<CustomerListDetail> customerListDetail{ get; set; }
public CustomerListDto()
{
customerListDetail = new List<CustomerListDetail>();
} } public class CustomerListDetail
{
public virtual string CustomerId { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; } public virtual string OrderId { get; set; } public virtual Decimal Summary { get; set; }
public virtual DateTime OrderDate { get; set; }
}}service
public CustomerListDto GetAll()
{
CustomerListDto customerListDto = new CustomerListDto();
IList<Orders> orderList = (List<Orders>)CustomerDao.FindAll();
foreach (Orders o in orderList)
{
CustomerListDetail listDetail = new CustomerListDetail();
listDetail.CustomerId =o.Customer==null? "": o.Customer.CustomerId;
listDetail.FirstName = o.Customer == null ? "" : o.Customer.FirstName;
listDetail.LastName = o.Customer == null ? "" : o.Customer.LastName;
listDetail.OrderId = o.OrderId;
listDetail.Summary = o.Summary;
listDetail.OrderDate = o.OrderDate;
customerListDto.customerListDetail.Add(listDetail); }
return customerListDto;
} public CustomerEditDto UpdateCustomer(CustomerEditDto customerDto)
{
Customer customer = new Customer(); customer.CustomerId = customerDto.CustomerId;
customer.FirstName = customerDto.FirstName;
customer.LastName = customerDto.LastName;
customer.Birthday = customerDto.Birthday; CustomerDao.SaveOrUpdate(customer);
return customerDto;
} public CustomerEditDto GetCustomer(string customerId)
{
CustomerEditDto dto = new CustomerEditDto();
Customer customer =CustomerDao.FindById(customerId);
dto.CustomerId = customer.CustomerId;
dto.FirstName = customer.FirstName;
dto.LastName = customer.LastName;
dto.Birthday = customer.Birthday;
return dto;
} control private ICustomerService mCustomerService; public HomeController() {
mCustomerService = new CustomerService();
} public ICustomerService CustomerService
{
get { return this.mCustomerService; }
set { this.mCustomerService = value; }
} public ActionResult Customer()
{
ViewBag.Message = "客户一览";
Models.CustomerListModel customerListModel = new Models.CustomerListModel();
ViewData["listData"] = mCustomerService.GetAll(); return View("CustomerList",customerListModel);
}
public ActionResult EditCustomer(CustomerListModel listModel)
{
ViewBag.Message = "客户编辑";
Models.CustomerEditModel customerEditModel = new Models.CustomerEditModel(); if ("1" == listModel.buttonType)
{
CustomerEditDto editDto = mCustomerService.GetCustomer(listModel.editId);
customerEditModel.CustomerId = editDto.CustomerId;
customerEditModel.FirstName = editDto.FirstName;
customerEditModel.LastName = editDto.LastName;
customerEditModel.Birthday = editDto.Birthday; return View("EditCustomer", customerEditModel);
}
else
{
mCustomerService.DeleteCustomer(listModel.editId);
return Customer();
}
} public ActionResult SaveCustomer(CustomerEditModel customerEditModel)
{
ViewBag.Message = "客户编辑";
CustomerEditDto editDto = new CustomerEditDto();
editDto.CustomerId = customerEditModel.CustomerId;
editDto.FirstName = customerEditModel.FirstName;
editDto.LastName = customerEditModel.LastName;
editDto.Birthday = customerEditModel.Birthday; mCustomerService.UpdateCustomer(editDto);
return Customer();
}view @using Dto;
@model SpringProduct.Models.CustomerListModel@{
ViewBag.Title = "客户订单一览页面";
CustomerListDto customerListDto = (CustomerListDto)ViewData["listData"];
}<h2>@ViewBag.Message</h2><p>
@using (Html.BeginForm("Index", "Customer", FormMethod.Post, new { id = "form1" }))
{
<div class="editor-field">
@Html.LabelFor(m => m.FirstName)
@Html.TextBoxFor(m => m.FirstName, new { @style = "width:100px;" })
@Html.LabelFor(m => m.LastName)
@Html.TextBoxFor(m => m.LastName, new { @style = "width:100px;" })
@Html.LabelFor(m => m.OrderDate)
@Html.TextBoxFor(m => m.OrderDate, new { @style = "width:100px;" }) <input type="submit" name="btnList" value="查询" id="btnList" />
</div>
}
</p>
<h2>一览</h2>
<div> @using (Html.BeginForm("EditCustomer", "Home", FormMethod.Post, new { id = "form4", name = "form4" }))
{
@Html.HiddenFor(m => m.editId)
@Html.HiddenFor(m => m.buttonType)
} @if (customerListDto.customerListDetail.Count > 0)
{
<table style="width:800px;border-collapse:collapse;border:none;" border="0">
<tr>
<td style="border:1px solid gray;" >客户ID</td>
<td style="border:1px solid gray;" >客户前名</td>
<td style="border:1px solid gray;">客户后名</td>
<td style="border:1px solid gray;">订单ID</td>
<td style="border:1px solid gray;">订单日期</td>
<td style="border:1px solid gray;">订单金额</td>
<td style="border:1px solid gray;">操作</td>
</tr>
@foreach (var u in customerListDto.customerListDetail)
{
<tr>
<td style="border:1px solid gray;">@u.CustomerId</td>
<td style="border:1px solid gray;">@u.FirstName</td>
<td style="border:1px solid gray;">@u.LastName</td>
<td style="border:1px solid gray;">@u.OrderId</td>
<td style="border:1px solid gray;">@u.OrderDate</td>
<td style="border:1px solid gray;">@u.Summary</td>
<td style="border:1px solid gray;">
<input type="submit" name="btnEdit" onclick="form4.editId.value='@u.CustomerId';form4.buttonType.value='1';form4.submit();" value="编辑" id="btnEdit" />
<input type="submit" name="btnDel" onclick="form4.editId.value='@u.CustomerId';form4.buttonType.value='2';form4.submit();" value="删除" id="btnDel" />
</td>
</tr>
} </table>
}
@model SpringProduct.Models.CustomerEditModel
@{ ViewBag.Title = "CustomerEdit";
}<h2>CustomerEdit</h2> @using (Html.BeginForm("SaveCustomer", "Home", FormMethod.Post, new { id = "form1" }))
{
<div class="editor-field"> @Html.LabelFor(m => m.CustomerId)
@Html.TextBoxFor(m => m.CustomerId, new { @style = "width:100px;disabled:disabled" }) @Html.LabelFor(m => m.FirstName)
@Html.TextBoxFor(m => m.FirstName, new { @style = "width:100px;" }) @Html.LabelFor(m => m.LastName)
@Html.TextBoxFor(m => m.LastName, new { @style = "width:100px;" }) @Html.LabelFor(m => m.Birthday)
@Html.TextBoxFor(m => m.Birthday, new { @style = "width:100px;" }) </div>
<input type="submit" name="btnList" value="保存" id="btnList" />
<input type="submit" name="btnAdd" onclick="flg.value='2'" value="删除" id="btnAdd" />
} public class CustomerListModel
{
[Required]
[DataType(DataType.Text)]
[Display(Name = "客户前名")]
public string FirstName { get; set; } public string editId { get; set; } public string buttonType { get; set; } } public class CustomerEditModel
{
public string CustomerId { get; set; } [Required]
[DataType(DataType.Text)]
[Display(Name = "客户前名")]
public string FirstName { get; set; } } Global.asax: ControllerBuilder.Current.SetControllerFactory(typeof(SpringControllerFactory));mvcspringnhibernate
解决方案 »
- asp.net/asp 中一个网页网址如何才能不被电脑的收藏夹收藏成功呢,在线等
- .net前台页面通过Server.UrlEncode传值,后台Server.UrlDecode取值,但是取到的还是乱码,哪位大侠帮忙解答一下
- 如何实现类似新浪微博一样的ajax实时直播?
- ScriptManager,UpdateProgress,UpdatePanel这三个该如何使用啊
- 关于网站性能方面的问题 在线咨询
- windows 应用程序中DataGrid不能显示全部的列?
- INPUT TYPE=FILE?
- 谁有ASP.NET开发的论坛哪(100分)
- 高手幫忙 !急急!!!
- 能否通过页面上的javascript触发.net控件(例如TextBox)的事件?
- C# 类似事务
- 代码求优化
是想分享还是想问问题