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