using BaseOUDAL;
namespace YLErp.Modules.ClientModule
{
///
/// 客户等级服务
///
public class ClientLevelService : ClientBaseService
{
public ClientLevelService(OptUserInfo userInfo) : base(userInfo)
{
}
///
/// 查询clientlevel
///
public SearchListResult SearchList(ClientLevelReq req)
{
var query = DbContext.clientlevel.AsNoTracking().AsQueryable();
if (!string.IsNullOrEmpty(req.LevelName))
{
query = query.Where(d => d.LevelName.Contains(req.LevelName));
}
if (req.Ratio != null)
{
query = query.Where(d => d.Ratio == req.Ratio);
}
if (req.ValidState != null)
{
query = query.Where(d => d.ValidState.Equals(req.ValidState));
}
if (req.OptId != null)
{
query = query.Where(d => d.OptId == req.OptId);
}
if (!string.IsNullOrEmpty(req.OptName))
{
query = query.Where(d => d.OptName.Contains(req.OptName));
}
if (req.CreateDateStart != DateTime.MinValue)
{
query = query.Where(d => d.CreateDate >= req.CreateDateStart);
}
if (req.CreateDateEnd != DateTime.MinValue)
{
var CreateDateTemp = req.CreateDateEnd.AddDays(1);
query = query.Where(d => d.CreateDate < CreateDateTemp);
}
if (!string.IsNullOrEmpty(req.Desc))
{
query = query.Where(d => d.Desc.Contains(req.Desc));
}
if (string.IsNullOrEmpty(req.sidx))
{
req.sidx = "id";
req.sord = "desc";
}
return query.ToSearchList(req);
}
///
/// 保存clientlevel
///
public ClientLevel SaveClientLevel(ClientLevel req)
{
if (string.IsNullOrEmpty(req.LevelName))
{
throw new ServiceException("等级名称不能为空");
}
if (!req.Ratio.HasValue)
{
req.Ratio = 1;
}
else if (req.Ratio <= 0)
{
throw new ServiceException("维持预付金系数应该大于0");
}
if (!req.Ratio1.HasValue)
{
req.Ratio1 = 1.1;
}
else if (req.Ratio1 <= 0)
{
throw new ServiceException("初始预付金系数应该大于0");
}
ClientLevel dbModel;
using (var clientDB = DbContextFactory.GetClientDbContext(UserInfo))
{
if (clientDB.clientlevel.Any(x => x.id != req.id && x.LevelName == req.LevelName))
{
throw new ServiceException("客户等级名称已存在");
}
if (req.id == 0)
{
clientDB.clientlevel.Add(dbModel = req);
req.CreateDate = DateTime.Now;
}
else
{
dbModel = clientDB.clientlevel.Find(req.id);
if (dbModel == null)
{
throw new ServiceException("数据不存在");
}
req.CreateDate = dbModel.CreateDate;
}
UpdateChanges(dbModel, req);
SetDBModelOpt(dbModel);
clientDB.SaveChanges();
return dbModel;
}
}
}
///
/// 客户等级查询请求
///
public class ClientLevelReq : BaseSearchReq
{
///
/// 等级名称
///
public string LevelName { get; set; }
///
/// 追保系数(R2)
///
public double? Ratio { get; set; }
///
/// 预警系数 (R1)
///
public double? Ratio1 { get; set; }
///
/// 是否有效_validstate
///
public string ValidState { get; set; }
///
/// 操作人_optid
///
public int? OptId { get; set; }
///
/// 操作人_optname
///
public string OptName { get; set; }
///
/// 创建日期_createdate
///
public DateTime? CreateDate { get; set; }
public DateTime CreateDateStart { get; set; }
public DateTime CreateDateEnd { get; set; }
///
/// 说明
///
public string Desc { get; set; }
}
}