📄 client.cs
字号:
namespace PowerEasy.SqlServerDal.Crm
{
using Microsoft.Practices.EnterpriseLibrary.Data;
using PowerEasy.Common;
using PowerEasy.Components;
using PowerEasy.IDal.Crm;
using PowerEasy.Model.Crm;
using PowerEasy.SqlServerDal;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Text;
public sealed class Client : IClient
{
private int m_TotalOfClient;
public bool Add(ClientInfo clientInfo)
{
Parameters parms = new Parameters();
GetParameters(clientInfo, parms);
parms.AddInParameter("@CreateTime", DbType.DateTime, DateTime.Now);
return DBHelper.ExecuteProc("PR_Crm_Client_Add", parms);
}
private static ClientInfo ClientFromrdr(NullableDataReader rdr)
{
ClientInfo info = new ClientInfo();
info.ClientId = rdr.GetInt32("ClientID");
info.ParentId = rdr.GetInt32("ParentID");
info.ClientNum = rdr.GetString("ClientNum");
info.ClientType = rdr.GetInt32("ClientType");
info.ClientName = rdr.GetString("ClientName");
info.ShortedForm = rdr.GetString("ShortedForm");
info.Area = rdr.GetInt32("Area");
info.ClientField = rdr.GetInt32("ClientField");
info.ValueLevel = rdr.GetInt32("ValueLevel");
info.CreditLevel = rdr.GetInt32("CreditLevel");
info.Importance = rdr.GetInt32("Importance");
info.ConnectionLevel = rdr.GetInt32("ConnectionLevel");
info.GroupId = rdr.GetInt32("GroupID");
info.SourceType = rdr.GetInt32("SourceType");
info.PhaseType = rdr.GetInt32("PhaseType");
info.Remark = rdr.GetString("Remark");
info.VisitTimes = rdr.GetInt32("VisitTimes");
info.ServiceTimes = rdr.GetInt32("ServiceTimes");
info.ComplainTimes = rdr.GetInt32("ComplainTimes");
info.LastVisitTime = rdr.GetDateTime("LastVisitTime");
info.LastServiceTime = rdr.GetDateTime("LastServiceTime");
info.LastComplainTime = rdr.GetDateTime("LastComplainTime");
info.CreateTime = rdr.GetDateTime("CreateTime");
info.UpdateTime = rdr.GetDateTime("UpdateTime");
info.Owner = rdr.GetString("Owner");
info.Balance = rdr.GetDecimal("Balance");
return info;
}
public bool Delete(string clientId)
{
return DBHelper.ExecuteSql("DELETE PE_Client WHERE ClientID IN (" + clientId + ")");
}
public string GetAllClientId()
{
StringBuilder sb = new StringBuilder();
using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select ClientID from PE_Client"))
{
while (reader.Read())
{
StringHelper.AppendString(sb, reader.GetInt32("ClientID").ToString());
}
}
return sb.ToString();
}
public ClientInfo GetClientById(int clientId)
{
using (NullableDataReader reader = DBHelper.ExecuteReaderProc("PR_Crm_Client_GetById", new Parameters("@ClientID", DbType.Int32, clientId)))
{
if (reader.Read())
{
return ClientFromrdr(reader);
}
return new ClientInfo(true);
}
}
public string GetClientIdByGroup(string groupIdList)
{
StringBuilder sb = new StringBuilder();
using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select ClientID from PE_Client where GroupID in ('" + groupIdList + "')"))
{
while (reader.Read())
{
StringHelper.AppendString(sb, reader.GetInt32("ClientID").ToString());
}
}
return sb.ToString();
}
public string GetClientNameById(int clientId)
{
return Convert.ToString(DBHelper.ExecuteScalarSql("SELECT ClientName FROM PE_Client Where ClientID = @ClientID", new Parameters("@ClientID", DbType.Int32, clientId)));
}
public IList<ClientInfo> GetList(int startRowIndexId, int maxNumberRows, int searchType, string keyword, int quickSearch, int groupId)
{
Database database = DatabaseFactory.CreateDatabase();
DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList");
List<ClientInfo> list = new List<ClientInfo>();
database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32, startRowIndexId);
database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32, maxNumberRows);
database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String, "ClientID");
database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "*");
database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "DESC");
database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_Client");
database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, 10);
switch (searchType)
{
case 1:
if (!(keyword == "0"))
{
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "ClientID=" + Convert.ToInt32(keyword));
}
else
{
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "");
}
break;
case 2:
if (!string.IsNullOrEmpty(keyword))
{
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "ClientName like '%" + keyword + "%'");
}
else
{
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "");
}
break;
case 5:
if (!string.IsNullOrEmpty(keyword))
{
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "ClientType = 0 and ClientName like '%" + keyword + "%'");
}
else
{
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "ClientType = 0");
}
break;
default:
if (groupId >= 0)
{
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "GroupID = " + groupId);
}
else
{
switch (quickSearch)
{
case 1:
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "ClientType = 0");
break;
case 2:
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "ClientType = 1");
break;
case 3:
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "Owner='" + PEContext.Current.Admin.AdminName + "'");
break;
}
database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "");
}
break;
}
using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
{
while (reader.Read())
{
list.Add(ClientFromrdr(reader));
}
}
this.m_TotalOfClient = (int) database.GetParameterValue(storedProcCommand, "@Total");
return list;
}
public int GetMaxId()
{
return DBHelper.GetMaxId("PE_Client", "ClientID");
}
private static void GetParameters(ClientInfo clientInfo, Parameters parms)
{
parms.AddInParameter("@ClientID", DbType.Int32, clientInfo.ClientId);
parms.AddInParameter("@ParentID", DbType.Int32, clientInfo.ParentId);
parms.AddInParameter("@ClientNum", DbType.String, clientInfo.ClientNum);
parms.AddInParameter("@ClientType", DbType.Int32, clientInfo.ClientType);
parms.AddInParameter("@ClientName", DbType.String, clientInfo.ClientName);
parms.AddInParameter("@ShortedForm", DbType.String, clientInfo.ShortedForm);
parms.AddInParameter("@Area", DbType.Int32, clientInfo.Area);
parms.AddInParameter("@ClientField", DbType.Int32, clientInfo.ClientField);
parms.AddInParameter("@ValueLevel", DbType.Int32, clientInfo.ValueLevel);
parms.AddInParameter("@CreditLevel", DbType.Int32, clientInfo.CreditLevel);
parms.AddInParameter("@Importance", DbType.Int32, clientInfo.Importance);
parms.AddInParameter("@ConnectionLevel", DbType.Int32, clientInfo.ConnectionLevel);
parms.AddInParameter("@GroupID", DbType.Int32, clientInfo.GroupId);
parms.AddInParameter("@SourceType", DbType.Int32, clientInfo.SourceType);
parms.AddInParameter("@PhaseType", DbType.Int32, clientInfo.PhaseType);
parms.AddInParameter("@Remark", DbType.String, clientInfo.Remark);
parms.AddInParameter("@UpdateTime", DbType.DateTime, DateTime.Now);
parms.AddInParameter("@Owner", DbType.String, clientInfo.Owner);
}
public int GetTotalOfClient()
{
return this.m_TotalOfClient;
}
public bool Income(int clientId, decimal money)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@Money", DbType.Decimal, money);
cmdParams.AddInParameter("@ClientID", DbType.Int32, clientId);
return DBHelper.ExecuteSql("update PE_Client set Balance=Balance+@Money where ClientID=@ClientID", cmdParams);
}
public bool Payment(int clientId, decimal money)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@Money", DbType.Decimal, money);
cmdParams.AddInParameter("@ClientID", DbType.Int32, clientId);
return DBHelper.ExecuteSql("update PE_Client set Balance=Balance-@Money where ClientID=@ClientID", cmdParams);
}
public bool Update(ClientInfo clientInfo)
{
Parameters parms = new Parameters();
GetParameters(clientInfo, parms);
return DBHelper.ExecuteProc("PR_Crm_Client_Update", parms);
}
public bool UpdateForCompany(int clientId, string companyName)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@ClientID", DbType.Int32, clientId);
cmdParams.AddInParameter("@CompanyName", DbType.String, companyName);
cmdParams.AddInParameter("@ShortedForm", DbType.String, companyName.Substring(0, 5));
return DBHelper.ExecuteSql("update PE_Client set ClientName=@CompanyName ,ShortedForm=@ShortedForm,ClientType=0 where ClientID=@ClientID", cmdParams);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -