📄 order.cs
字号:
namespace PowerEasy.SqlServerDal.Shop
{
using Microsoft.Practices.EnterpriseLibrary.Data;
using PowerEasy.Components;
using PowerEasy.Enumerations;
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;
using System.Runtime.InteropServices;
using System.Text;
public class Order : IOrder
{
private static string m_ThisSearchCondition;
private int m_TotalOfOrder;
public bool Add(OrderInfo orderInfo)
{
Database db = DatabaseFactory.CreateDatabase();
DbCommand command = GetProcdbComm(db, "PR_Shop_Order_Add", orderInfo);
try
{
return (db.ExecuteNonQuery(command) > 0);
}
catch
{
return false;
}
}
public bool CancelConfirm(int orderId)
{
return DBHelper.ExecuteSql("update PE_Orders set Status=0 where OrderID=@OrderID", new Parameters("@OrderID", DbType.Int32, orderId));
}
private static string ComplexSearch(string keyword)
{
StringBuilder output = new StringBuilder("");
output.Append("1=1");
if (!string.IsNullOrEmpty(keyword))
{
string[] strArray = keyword.Split(new char[] { '|' });
int num = Convert.ToInt32(strArray[0]);
int num2 = Convert.ToInt32(strArray[1]);
string str = strArray[2];
string str2 = strArray[3];
decimal num3 = Convert.ToDecimal(strArray[4]);
decimal num4 = Convert.ToDecimal(strArray[5]);
int num5 = Convert.ToInt32(strArray[6]);
int payStatus = Convert.ToInt32(strArray[7]);
int num7 = Convert.ToInt32(strArray[8]);
string str3 = strArray[9];
string str4 = strArray[10];
string str5 = strArray[11];
string str6 = strArray[12];
string str7 = strArray[13];
string str8 = strArray[14];
string str9 = strArray[15];
string str10 = strArray[0x10];
string str11 = strArray[0x11];
string str12 = strArray[0x12];
int num8 = Convert.ToInt32(strArray[0x13]);
string str13 = strArray[20];
string str14 = strArray[0x15];
string str15 = strArray[0x16];
string str16 = strArray[0x17];
if (num > 0)
{
output.Append(" And O.OrderID >= " + num);
}
if (num2 > 0)
{
output.Append(" And O.OrderID <= " + num2);
}
if (!string.IsNullOrEmpty(str))
{
output.Append(" And O.InputTime>='" + str + "'");
}
if (!string.IsNullOrEmpty(str2))
{
output.Append(" And O.InputTime<='" + str2 + "'");
}
if (num3 > 0M)
{
output.Append(" And O.MoneyTotal>='" + num3 + "'");
}
if (num4 > 0M)
{
output.Append(" And O.MoneyTotal<='" + num4 + "'");
}
if (num5 >= 0)
{
output.Append(" And O.Status=" + num5);
}
GetPayStatusSql(output, payStatus);
if (num7 >= 0)
{
output.Append(" And O.DeliverStatus=" + num7);
}
if (!string.IsNullOrEmpty(str3))
{
output.Append(" and O.OrderNum = '" + str3 + "' ");
}
if (!string.IsNullOrEmpty(str4))
{
output.Append(" and C.ShortedForm like '%" + str4 + "%' ");
}
if (!string.IsNullOrEmpty(str5))
{
output.Append(" and O.UserName like '%" + str5 + "%' ");
}
if (!string.IsNullOrEmpty(str6))
{
output.Append(" and O.AgentName = '" + str6 + "' ");
}
if (!string.IsNullOrEmpty(str7))
{
output.Append(" and O.ContacterName like '%" + str7 + "%' ");
}
if (!string.IsNullOrEmpty(str8))
{
output.Append(" and O.Address like '%" + str8 + "%' ");
}
if (!string.IsNullOrEmpty(str9))
{
output.Append(" and O.Phone like '%" + str9 + "%' ");
}
if (!string.IsNullOrEmpty(str10))
{
output.Append(" and O.Mobile like '%" + str10 + "%' ");
}
if (!string.IsNullOrEmpty(str11))
{
output.Append(" and O.Remark like '%" + str11 + "%' ");
}
if (!string.IsNullOrEmpty(str12))
{
output.Append(" and P.ProductName like '%" + str12 + "%' ");
}
if (num8 >= 0)
{
output.Append(" and O.OrderType=" + num8);
}
if (!string.IsNullOrEmpty(str13))
{
output.Append(" and O.Functionary='" + str13 + "'");
}
if (!string.IsNullOrEmpty(str14))
{
output.Append(" and O.email like '%" + str14 + "%' ");
}
if (!string.IsNullOrEmpty(str15))
{
output.Append(" and O.InvoiceContent like '%" + str15 + "%' ");
}
if (!string.IsNullOrEmpty(str16))
{
output.Append(" and O.Memo like '%" + str16 + "%' ");
}
}
return output.ToString();
}
public int Confirm(int orderId)
{
Database database = DatabaseFactory.CreateDatabase();
DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Shop_Order_Confirm");
database.AddInParameter(storedProcCommand, "@orderId", DbType.Int32, orderId);
database.AddParameter(storedProcCommand, "@RETURN_VALUE", DbType.String, ParameterDirection.ReturnValue, "", DataRowVersion.Current, null);
database.ExecuteNonQuery(storedProcCommand);
return (int) storedProcCommand.Parameters["@RETURN_VALUE"].Value;
}
public string Delete(string orderId)
{
bool flag;
Database database = DatabaseFactory.CreateDatabase();
DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Shop_Order_Delete");
database.AddInParameter(storedProcCommand, "@OrderId", DbType.String, orderId);
database.AddOutParameter(storedProcCommand, "@ErrOrderNum", DbType.String, 0xfa0);
try
{
flag = database.ExecuteNonQuery(storedProcCommand) > 0;
}
catch
{
flag = false;
}
string str2 = Convert.IsDBNull(database.GetParameterValue(storedProcCommand, "@ErrOrderNum")) ? "" : Convert.ToString(database.GetParameterValue(storedProcCommand, "@ErrOrderNum"));
if (string.IsNullOrEmpty(str2))
{
if (flag)
{
return "ok";
}
return "notOk";
}
return str2;
}
public bool DoDownload(int orderId, bool enableDownload)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@OrderID", DbType.Int32, orderId);
cmdParams.AddInParameter("@EnableDownload", DbType.Boolean, enableDownload);
return DBHelper.ExecuteSql("update PE_Orders set EnableDownload=@EnableDownload where OrderID=@OrderID", cmdParams);
}
public IList<UserOrderCommonInfo> GetCardList(string userName)
{
IList<UserOrderCommonInfo> list = new List<UserOrderCommonInfo>();
using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select I.* from PE_Orders O inner join PE_OrderItem I on O.OrderID = I.OrderID where I.ProductCharacter&" + 8 + " >0 and O.UserName = @UserName", new Parameters("@UserName", DbType.String, userName)))
{
while (reader.Read())
{
list.Add(GetUserOrderCommonInfo(reader));
}
}
return list;
}
private static ArrayList GetDataofExecute(string sqlString, Parameters parms)
{
ArrayList list = new ArrayList();
using (NullableDataReader reader = ((parms == null) ? DBHelper.ExecuteReaderSql(sqlString) : DBHelper.ExecuteReaderSql(sqlString, parms)))
{
if (reader.Read())
{
list.Add(reader[0]);
list.Add(reader[1]);
}
}
return list;
}
public IList<UserOrderCommonInfo> GetDownList(string userName)
{
IList<UserOrderCommonInfo> list = new List<UserOrderCommonInfo>();
using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select I.* from PE_Orders O inner join PE_OrderItem I on O.OrderID = I.OrderID where I.ProductCharacter&" + 4 + " >0 and O.UserName = @UserName and EnableDownload=1", new Parameters("@UserName", DbType.String, userName)))
{
while (reader.Read())
{
list.Add(GetUserOrderCommonInfo(reader));
}
}
return list;
}
public UserOrderCommonInfo GetDownloadInfo(string userName, int orderItemId)
{
UserOrderCommonInfo info = new UserOrderCommonInfo();
string strSql = "select I.* from PE_Orders O inner join PE_OrderItem I on O.OrderID = I.OrderID where O.UserName = @UserName and EnableDownload=1 and I.ItemID = @ItemID";
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@UserName", DbType.String, userName);
cmdParams.AddInParameter("@ItemID", DbType.Int32, orderItemId);
using (NullableDataReader reader = DBHelper.ExecuteReaderSql(strSql, cmdParams))
{
if (reader.Read())
{
return GetUserOrderCommonInfo(reader);
}
return new UserOrderCommonInfo(true);
}
}
private static string GetFilterString(string searchType, string field, string keyword)
{
string str = "";
switch (searchType)
{
case "0":
str = "";
m_ThisSearchCondition = "1=1";
return str;
case "1":
str = "datediff(dd,O.InputTime,GetDate())<1";
m_ThisSearchCondition = "datediff(dd,InputTime,GetDate())<1";
return str;
case "2":
str = "datediff(dd,O.InputTime,GetDate())<10";
m_ThisSearchCondition = "datediff(dd,InputTime,GetDate())<10";
return str;
case "3":
str = "datediff(m,O.InputTime,GetDate())<1";
m_ThisSearchCondition = "datediff(m,InputTime,GetDate())<1";
return str;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -