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 { /// /// 获取公司编码通过渠道 /// /// /// public string GetRealCompanyCodeByChannel(int channel) { string companyCode = string.Empty; List 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; } /// /// 获取公司名称通过渠道 /// /// /// public string GetRealCompanyNameByChannel(int channel) { string companyCode = string.Empty; List 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; } /// /// 通过渠道获取公司Bas_CompanyVirtual信息 /// /// /// public Bas_CompanyVirtual GetInfoByChannel(int channel) { Bas_CompanyVirtual companyCode = null; List 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_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(); 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 GetChannelList(int channel) { List vlit = new List(); List 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(); 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 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(); 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; } } }