ComplianceServer/oldcode/Core.BLL/Base/Bas_CompanyVirtual_BL.cs

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;
}
}
}