📄 deliveritem.cs
字号:
namespace PowerEasy.SqlServerDal.Shop
{
using Microsoft.Practices.EnterpriseLibrary.Data;
using PowerEasy.IDal.Shop;
using PowerEasy.Model.Shop;
using PowerEasy.SqlServerDal;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
public class DeliverItem : IDeliverItem
{
private int m_TotalOfDeliverItem;
public bool Add(DeliverItemInfo deliverItemInfo)
{
Database db = DatabaseFactory.CreateDatabase();
DbCommand command = GetProcdbComm(db, "PR_Shop_DeliverItem_Add", deliverItemInfo);
try
{
return (db.ExecuteNonQuery(command) > 0);
}
catch
{
return false;
}
}
private static DeliverItemInfo DeliverItemFromrdr(NullableDataReader rdr)
{
DeliverItemInfo info = new DeliverItemInfo();
info.DeliverId = rdr.GetInt32("DeliverID");
info.OrderId = rdr.GetInt32("OrderID");
info.DeliverDate = rdr.GetDateTime("DeliverDate");
info.DeliverDirection = rdr.GetInt32("DeliverDirection");
info.HandlerName = rdr.GetString("HandlerName");
info.ExpressCompany = rdr.GetString("ExpressCompany");
info.ExpressNumber = rdr.GetString("ExpressNumber");
info.Inputer = rdr.GetString("Inputer");
info.Remark = rdr.GetString("Remark");
info.Received = rdr.GetBoolean("Received");
info.Memo = rdr.GetString("Memo");
return info;
}
private static DeliverItemInfo DetailDeliverItemFromrdr(NullableDataReader rdr)
{
DeliverItemInfo info = DeliverItemFromrdr(rdr);
info.ClientId = rdr.GetInt32("ClientID");
info.ClientName = rdr.GetString("ClientName");
info.ContacterName = rdr.GetString("ContacterName");
info.UserName = rdr.GetString("UserName");
info.OrderNum = rdr.GetString("OrderNum");
return info;
}
public DeliverItemInfo GetDeliverItemById(int deliverItemId)
{
using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select D.*,O.OrderNum,O.UserName,O.ContacterName,O.ClientID,C.ShortedForm as ClientName from PE_DeliverItem D left join (PE_Orders O left join PE_Client C on O.ClientID=C.ClientID) on D.OrderID=O.OrderID where D.DeliverID = @DeliverID", new Parameters("@DeliverID", DbType.Int32, deliverItemId)))
{
if (reader.Read())
{
return DetailDeliverItemFromrdr(reader);
}
return new DeliverItemInfo(true);
}
}
public DeliverItemInfo GetDeliverItemByOrderId(int orderId)
{
Database database = DatabaseFactory.CreateDatabase();
DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Shop_DeliverItem_GetByOrderId");
database.AddInParameter(storedProcCommand, "OrderId", DbType.Int32, orderId);
using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
{
if (reader.Read())
{
DeliverItemInfo info = new DeliverItemInfo();
info.UserName = reader.GetString("UserName");
info.OrderNum = reader.GetString("OrderNum");
info.ClientName = reader.GetString("ClientName");
info.MoneyTotal = reader.GetDecimal("MoneyTotal");
info.MoneyReceipt = reader.GetDecimal("MoneyReceipt");
info.DeliverTypeName = reader.GetString("DeliverTypeName");
info.ContacterName = reader.GetString("ContacterName");
info.Email = reader.GetString("Email");
return info;
}
return new DeliverItemInfo(true);
}
}
public DeliverItemInfo GetDeliverItemByOrderId(int orderId, int deliverDirection)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@OrderId", DbType.Int32, orderId);
cmdParams.AddInParameter("@DeliverDirection", DbType.Int32, deliverDirection);
using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_DeliverItem where OrderId=@OrderId and DeliverDirection = @DeliverDirection", cmdParams))
{
if (reader.Read())
{
return DeliverItemFromrdr(reader);
}
return new DeliverItemInfo(true);
}
}
public ArrayList GetExpressCompannyList()
{
ArrayList list = new ArrayList();
Database database = DatabaseFactory.CreateDatabase();
DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Shop_DeliverItem_GetExpressCompannyList");
using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
{
while (reader.Read())
{
if (!string.IsNullOrEmpty(reader.GetString("ExpressCompany")))
{
list.Add(reader.GetString("ExpressCompany"));
}
}
}
return list;
}
public IList<DeliverItemInfo> GetList(int startRowIndexId, int maxNumberRows, int searchType, string keyword, int quickSearch)
{
Database database = DatabaseFactory.CreateDatabase();
DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList");
database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32);
database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32);
database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String);
database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String);
database.AddInParameter(storedProcCommand, "@Sorts", DbType.String);
database.AddInParameter(storedProcCommand, "@Filter", DbType.String);
database.AddInParameter(storedProcCommand, "@TableName", DbType.String);
database.SetParameterValue(storedProcCommand, "@StartRows", startRowIndexId);
database.SetParameterValue(storedProcCommand, "@PageSize", maxNumberRows);
database.SetParameterValue(storedProcCommand, "@SortColumn", "DeliverID");
database.SetParameterValue(storedProcCommand, "@StrColumn", "D.*,O.OrderNum,O.UserName,O.ContacterName,O.ClientID,C.ShortedForm as ClientName");
database.SetParameterValue(storedProcCommand, "@Sorts", "DESC");
database.SetParameterValue(storedProcCommand, "@TableName", "PE_DeliverItem D left join (PE_Orders O left join PE_Client C on O.ClientID=C.ClientID) on D.OrderID=O.OrderID");
switch (quickSearch)
{
case 1:
database.SetParameterValue(storedProcCommand, "@Filter", "datediff(dd,D.DeliverDate,GetDate())<10");
break;
case 2:
database.SetParameterValue(storedProcCommand, "@Filter", "datediff(m,D.DeliverDate,GetDate())<1");
break;
case 3:
database.SetParameterValue(storedProcCommand, "@Filter", "D.DeliverDirection=1");
break;
case 4:
database.SetParameterValue(storedProcCommand, "@Filter", "D.DeliverDirection=2");
break;
default:
if (!string.IsNullOrEmpty(keyword))
{
switch (searchType)
{
case 1:
database.SetParameterValue(storedProcCommand, "@Filter", "C.ShortedForm like '%" + keyword + "%'");
break;
case 2:
database.SetParameterValue(storedProcCommand, "@Filter", "O.ContacterName like '%" + keyword + "%'");
break;
case 3:
database.SetParameterValue(storedProcCommand, "@Filter", "O.UserName like '%" + keyword + "%'");
break;
case 4:
database.SetParameterValue(storedProcCommand, "@Filter", "D.ExpressCompany like '%" + keyword + "%'");
break;
case 5:
database.SetParameterValue(storedProcCommand, "@Filter", "D.ExpressNumber like '%" + keyword + "%'");
break;
case 6:
database.SetParameterValue(storedProcCommand, "@Filter", "D.HandlerName like '%" + keyword + "%'");
break;
case 7:
database.SetParameterValue(storedProcCommand, "@Filter", "datediff(dd,D.DeliverDate,'" + keyword + "')=0");
break;
case 8:
database.SetParameterValue(storedProcCommand, "@Filter", "D.OrderID=" + keyword + "");
break;
}
}
else
{
database.SetParameterValue(storedProcCommand, "@Filter", "");
}
break;
}
database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, 10);
IList<DeliverItemInfo> list = new List<DeliverItemInfo>();
using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
{
while (reader.Read())
{
list.Add(DetailDeliverItemFromrdr(reader));
}
}
this.m_TotalOfDeliverItem = (int) database.GetParameterValue(storedProcCommand, "@Total");
return list;
}
private static DbCommand GetProcdbComm(Database db, string proName, DeliverItemInfo deliverItemInfo)
{
DbCommand storedProcCommand = db.GetStoredProcCommand(proName);
db.AddInParameter(storedProcCommand, "@OrderID", DbType.Int32, deliverItemInfo.OrderId);
db.AddInParameter(storedProcCommand, "@DeliverDate", DbType.DateTime, deliverItemInfo.DeliverDate);
db.AddInParameter(storedProcCommand, "@DeliverDirection", DbType.Int32, deliverItemInfo.DeliverDirection);
db.AddInParameter(storedProcCommand, "@HandlerName", DbType.String, deliverItemInfo.HandlerName);
db.AddInParameter(storedProcCommand, "@ExpressCompany", DbType.String, deliverItemInfo.ExpressCompany);
db.AddInParameter(storedProcCommand, "@ExpressNumber", DbType.String, deliverItemInfo.ExpressNumber);
db.AddInParameter(storedProcCommand, "@Inputer", DbType.String, deliverItemInfo.Inputer);
db.AddInParameter(storedProcCommand, "@Remark", DbType.String, deliverItemInfo.Remark);
db.AddInParameter(storedProcCommand, "@Memo", DbType.String, deliverItemInfo.Memo);
return storedProcCommand;
}
public int GetTotalOfDeliverItem()
{
return this.m_TotalOfDeliverItem;
}
public void UpdateReceive(int orderId)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@OrderID", DbType.Int32, orderId);
DBHelper.ExecuteSql("update PE_DeliverItem set Received=1 where OrderID=@OrderID and Received=0", cmdParams);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -