200 lines
6.9 KiB
C#
200 lines
6.9 KiB
C#
using CRM.Core.BLL.Util;
|
|
using CRM.Core.Model.Entity;
|
|
using CRM.Core.Model.Map;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace CRM.Core.BLL.Base
|
|
{
|
|
public class Bas_CompanyVirtual_BL : DbContextRepository<Bas_CompanyVirtual>
|
|
{
|
|
/// <summary>
|
|
/// 获取公司编码通过渠道
|
|
/// </summary>
|
|
/// <param name="channel"></param>
|
|
/// <returns></returns>
|
|
public string GetRealCompanyCodeByChannel(int channel)
|
|
{
|
|
string companyCode = string.Empty;
|
|
List<Bas_CompanyVirtual> bas_company = new CACHE_BL().GetCompanyVirtual();
|
|
foreach (var item in bas_company)
|
|
{
|
|
|
|
var chlist = item.Channel.Split('|');
|
|
foreach (var chqj in chlist)
|
|
{
|
|
var xn = chqj.Split(',');
|
|
int maxchannel = Convert.ToInt32(xn[1]);
|
|
int minchannel = Convert.ToInt32(xn[0]);
|
|
if (channel >= minchannel && channel <= maxchannel)
|
|
{
|
|
return item.CompanyCode;
|
|
}
|
|
}
|
|
|
|
}
|
|
return companyCode;
|
|
}
|
|
/// <summary>
|
|
/// 获取公司名称通过渠道
|
|
/// </summary>
|
|
/// <param name="channel"></param>
|
|
/// <returns></returns>
|
|
public string GetRealCompanyNameByChannel(int channel)
|
|
{
|
|
string companyCode = string.Empty;
|
|
List<Bas_CompanyVirtual> bas_company = new CACHE_BL().GetCompanyVirtual();
|
|
foreach (var item in bas_company)
|
|
{
|
|
|
|
var chlist = item.Channel.Split('|');
|
|
foreach (var chqj in chlist)
|
|
{
|
|
var xn = chqj.Split(',');
|
|
int maxchannel = Convert.ToInt32(xn[1]);
|
|
int minchannel = Convert.ToInt32(xn[0]);
|
|
if (channel >= minchannel && channel <= maxchannel)
|
|
{
|
|
return item.CompanyName;
|
|
}
|
|
}
|
|
|
|
}
|
|
return companyCode;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 通过渠道获取公司Bas_CompanyVirtual信息
|
|
/// </summary>
|
|
/// <param name="channel"></param>
|
|
/// <returns></returns>
|
|
public Bas_CompanyVirtual GetInfoByChannel(int channel)
|
|
{
|
|
Bas_CompanyVirtual companyCode = null;
|
|
List<Bas_CompanyVirtual> bas_company = new CACHE_BL().GetCompanyVirtual();
|
|
foreach (var item in bas_company)
|
|
{
|
|
|
|
var chlist = item.Channel.Split('|');
|
|
foreach (var chqj in chlist)
|
|
{
|
|
var xn = chqj.Split(',');
|
|
int maxchannel = Convert.ToInt32(xn[1]);
|
|
int minchannel = Convert.ToInt32(xn[0]);
|
|
if (channel >= minchannel && channel <= maxchannel)
|
|
{
|
|
return item;
|
|
}
|
|
}
|
|
}
|
|
return companyCode;
|
|
}
|
|
public CompanyVirlual GetChannel(int channel)
|
|
{
|
|
List<Bas_CompanyVirtual> bas_company = new CACHE_BL().GetCompanyVirtual();
|
|
bool Pipei = false;
|
|
CompanyVirlual model = null;
|
|
foreach (var item in bas_company)
|
|
{
|
|
model = new CompanyVirlual()
|
|
{
|
|
channel = item.Channel,
|
|
companycode = item.CompanyCode,
|
|
companyname = item.CompanyName
|
|
};
|
|
model.channels = new List<MyChannel>();
|
|
|
|
var chlist = item.Channel.Split('|');
|
|
foreach (var chqj in chlist)
|
|
{
|
|
var xn = chqj.Split(',');
|
|
int maxchannel = Convert.ToInt32(xn[1]);
|
|
int minchannel = Convert.ToInt32(xn[0]);
|
|
if (channel >= minchannel && channel <= maxchannel)
|
|
{
|
|
Pipei = true;
|
|
}
|
|
model.channels.Add(new MyChannel()
|
|
{
|
|
minChannel = minchannel,
|
|
maxChannel = maxchannel
|
|
});
|
|
}
|
|
if (Pipei)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
if (Pipei == false)
|
|
return null;
|
|
return model;
|
|
}
|
|
public List<CompanyVirlual> GetChannelList(int channel)
|
|
{
|
|
List<CompanyVirlual> vlit = new List<CompanyVirlual>();
|
|
List<Bas_CompanyVirtual> bas_company = new CACHE_BL().GetCompanyVirtual();
|
|
bool Pipei = false;
|
|
CompanyVirlual model = null;
|
|
string companycode = string.Empty;
|
|
foreach (var item in bas_company)
|
|
{
|
|
model = new CompanyVirlual()
|
|
{
|
|
channel = item.Channel,
|
|
companycode = item.CompanyCode,
|
|
companyname = item.CompanyName
|
|
};
|
|
model.channels = new List<MyChannel>();
|
|
|
|
var chlist = item.Channel.Split('|');
|
|
foreach (var chqj in chlist)
|
|
{
|
|
var xn = chqj.Split(',');
|
|
int maxchannel = Convert.ToInt32(xn[1]);
|
|
int minchannel = Convert.ToInt32(xn[0]);
|
|
if (channel >= minchannel && channel <= maxchannel)//优先定位渠道
|
|
{
|
|
Pipei = true;
|
|
companycode = item.CompanyCode;
|
|
break;
|
|
}
|
|
}
|
|
if (Pipei)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
if (Pipei == false)
|
|
return vlit;
|
|
List<Bas_CompanyVirtual> compayList = bas_company.Where(m => m.CompanyCode == companycode).ToList();
|
|
foreach (var item in compayList)
|
|
{
|
|
model = new CompanyVirlual()
|
|
{
|
|
channel = item.Channel,
|
|
companycode = item.CompanyCode,
|
|
companyname = item.CompanyName
|
|
};
|
|
model.channels = new List<MyChannel>();
|
|
|
|
var chlist = item.Channel.Split('|');
|
|
foreach (var chqj in chlist)
|
|
{
|
|
var xn = chqj.Split(',');
|
|
int maxchannel = Convert.ToInt32(xn[1]);
|
|
int minchannel = Convert.ToInt32(xn[0]);
|
|
model.channels.Add(new MyChannel()
|
|
{
|
|
minChannel = minchannel,
|
|
maxChannel = maxchannel
|
|
});
|
|
}
|
|
vlit.Add(model);
|
|
}
|
|
|
|
return vlit;
|
|
}
|
|
}
|
|
}
|