183 lines
4.9 KiB
C#
183 lines
4.9 KiB
C#
using BaseOUDAL;
|
||
|
||
namespace YLErp.Modules.ClientModule
|
||
{
|
||
/// <summary>
|
||
/// 客户等级服务
|
||
/// </summary>
|
||
public class ClientLevelService : ClientBaseService
|
||
{
|
||
public ClientLevelService(OptUserInfo userInfo) : base(userInfo)
|
||
{
|
||
}
|
||
|
||
/// <summary>
|
||
/// 查询clientlevel
|
||
/// </summary>
|
||
public SearchListResult<ClientLevel> 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);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 保存clientlevel
|
||
/// </summary>
|
||
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;
|
||
}
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 客户等级查询请求
|
||
/// </summary>
|
||
public class ClientLevelReq : BaseSearchReq
|
||
{
|
||
/// <summary>
|
||
/// 等级名称
|
||
/// </summary>
|
||
public string LevelName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 追保系数(R2)
|
||
/// </summary>
|
||
public double? Ratio { get; set; }
|
||
|
||
/// <summary>
|
||
/// 预警系数 (R1)
|
||
/// </summary>
|
||
public double? Ratio1 { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否有效_validstate
|
||
/// </summary>
|
||
public string ValidState { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作人_optid
|
||
/// </summary>
|
||
public int? OptId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 操作人_optname
|
||
/// </summary>
|
||
public string OptName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建日期_createdate
|
||
/// </summary>
|
||
public DateTime? CreateDate { get; set; }
|
||
|
||
public DateTime CreateDateStart { get; set; }
|
||
|
||
public DateTime CreateDateEnd { get; set; }
|
||
|
||
/// <summary>
|
||
/// 说明
|
||
/// </summary>
|
||
public string Desc { get; set; }
|
||
}
|
||
}
|