/// <summary> /// 批量删除机油粘度特殊地区配置 /// </summary> /// <param name="regionIds"></param> /// <param name="user"></param> /// <returns></returns> public bool MultDeleteOilViscosityRegionConfig(List <int> regionIds, string user) { var result = false; try { var logData = new List <BaoYangOprLog>(); if (regionIds != null && regionIds.Any()) { dbScopeManagerGungnir.CreateTransaction(conn => { foreach (var regionId in regionIds) { if (regionId > 0) { var oldValue = GetOilViscosityRegionConfigByRegionId(regionId); if (oldValue != null && !oldValue.IsDeleted) { var delResult = DalBaoYangOilViscosityPriorityConfig.DeleteOilViscosityRegionConfig(conn, regionId); if (!delResult) { throw new Exception($"DeleteOilViscosityRegionConfig失败,{JsonConvert.SerializeObject(oldValue)}"); } var log = new BaoYangOprLog { LogType = "OilViscosityRegionConfig", IdentityID = regionId.ToString(), OldValue = JsonConvert.SerializeObject(oldValue), NewValue = null, Remarks = $"删除机油粘度配置:{oldValue.OilViscosity}", OperateUser = user, }; logData.Add(log); } } } result = true; }); foreach (var log in logData) { LoggerManager.InsertLog("BYOprLog", log); } } } catch (Exception ex) { Logger.Error("MultDeleteOilViscosityRegionConfig", ex); } return(result); }
/// <summary> /// 查询保养活动地区配置 /// </summary> /// <param name="regionIds"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public List <OilViscosityRegionModel> SelectOilViscosityRegionConfig(List <int> regionIds, int pageIndex, int pageSize) { var result = null as List <OilViscosityRegionModel>; try { result = dbScopeManagerGungnirRead.Execute(conn => DalBaoYangOilViscosityPriorityConfig.SelectOilViscosityRegionConfig(conn, regionIds, pageIndex, pageSize)); var regions = new BaoYangActivitySettingManager().GetAllRegion(); if (result != null && result.Any() && regions.Any()) { var directRegion = new int[4] { 1, 2, 19, 20 }; result.ForEach(s => { if (directRegion.Contains(s.RegionId)) { var region = regions.Where(r => r.RegionId == s.RegionId)?.FirstOrDefault(); if (region != null) { s.ProvinceName = region.RegionName; s.CityName = region.RegionName; } } else { regions.ForEach(r => { if (r.ChildRegions != null) { var region = r.ChildRegions.Where(c => c.RegionId == s.RegionId)?.FirstOrDefault(); if (region != null) { s.ProvinceName = r.RegionName; s.CityName = region.RegionName; return; } } }); } }); } } catch (Exception ex) { Logger.Error("SelectOilViscosityRegionConfig", ex); } return(result); }
/// <summary> /// 根据地区Id获取机油粘度特殊地区配置 /// </summary> /// <param name="regionId"></param> /// <returns></returns> public OilViscosityRegionModel GetOilViscosityRegionConfigByRegionId(int regionId) { var result = null as OilViscosityRegionModel; try { if (regionId > 0) { result = dbScopeManagerGungnirRead.Execute(conn => DalBaoYangOilViscosityPriorityConfig.GetOilViscosityRegionConfigByRegionId(conn, regionId)); } } catch (Exception ex) { Logger.Error("GetOilViscosityRegionConfigByRegionId", ex); } return(result); }
/// <summary> /// 查询机油粘度优先级配置表 /// </summary> /// <param name="originViscosity"></param> /// <param name="configType"></param> /// <returns></returns> public List <BaoYangOilViscosityPriorityConfigModel> SelectBaoYangOilViscosityPriorityConfig(string originViscosity, string configType) { var result = new List <BaoYangOilViscosityPriorityConfigModel>(); try { var configs = dbScopeManagerGungnirRead.Execute(conn => DalBaoYangOilViscosityPriorityConfig.SelectBaoYangOilViscosityPriorityConfig(conn, originViscosity, configType)) ?? new List <BaoYangOilViscosityPriorityConfigModel>(); var allViscosity = string.IsNullOrWhiteSpace(originViscosity) ? new BaoYangConfigManager().ViscosityList() : new List <string>() { originViscosity }; allViscosity?.ForEach(s => { var config = configs.Where(c => string.Equals(c.OriginViscosity, s)).FirstOrDefault(); if (config == null) { result.Add(new BaoYangOilViscosityPriorityConfigModel() { OriginViscosity = s, ConfigType = configType }); } else { result.Add(config); } }); } catch (Exception ex) { result = null; Logger.Error("SelectBaoYangOilViscosityPriorityConfig", ex); } return(result); }
/// <summary> /// 删除保养项目加价配置 --只做逻辑删除 /// </summary> /// <param name="pkid"></param> /// <param name="user"></param> /// <returns></returns> public bool DeleteBaoYangOilViscosityPriorityConfig(string originViscosity, string configType, string user) { var result = false; try { var oldValue = dbScopeManagerGungnirRead.Execute(conn => DalBaoYangOilViscosityPriorityConfig.GetBaoYangOilViscosityPriorityConfig(conn, originViscosity, configType)); if (oldValue != null && !oldValue.IsDeleted) { result = dbScopeManagerGungnir.Execute(conn => DalBaoYangOilViscosityPriorityConfig.DeleteBaoYangOilViscosityPriorityConfig(conn, oldValue.PKID)); if (!result) { throw new Exception($"DeleteBaoYangOilViscosityPriorityConfig失败,待删除数据{JsonConvert.SerializeObject(oldValue)}"); } var log = new BaoYangOprLog { LogType = "BaoYangOilViscosityPriorityConfig", IdentityID = oldValue.OriginViscosity, OldValue = JsonConvert.SerializeObject(oldValue), NewValue = null, Remarks = $"删除{oldValue.ConfigType}类原厂机油粘度{oldValue.OriginViscosity}推荐优先级:{oldValue.ViscosityPriority}", OperateUser = user, }; LoggerManager.InsertLog("BYOprLog", log); } else { result = true; } } catch (Exception ex) { result = false; Logger.Error("DeleteBaoYangOilViscosityPriorityConfig", ex); } return(result); }
/// <summary> /// 添加或编辑机油粘度优先级配置 /// </summary> /// <param name="model"></param> /// <param name="user"></param> /// <returns></returns> public bool AddOrEditBaoYangOilViscosityPriorityConfig(BaoYangOilViscosityPriorityConfigModel model, string user) { var result = false; var log = null as BaoYangOprLog; try { var oldValue = dbScopeManagerGungnirRead.Execute(conn => DalBaoYangOilViscosityPriorityConfig.GetBaoYangOilViscosityPriorityConfig(conn, model.OriginViscosity, model.ConfigType)); #region 添加 判断是否存在该原厂粘度被逻辑删除的记录 存在则更新 不存在则插入 if (oldValue == null) { #region 插入记录 var pkid = dbScopeManagerGungnir.Execute(conn => DalBaoYangOilViscosityPriorityConfig.AddBaoYangOilViscosityPriorityConfig(conn, model)); if (pkid > 0) { result = true; model.PKID = pkid; log = new BaoYangOprLog { LogType = "BaoYangOilViscosityPriorityConfig", IdentityID = model.OriginViscosity, OldValue = null, NewValue = JsonConvert.SerializeObject(model), Remarks = $"添加{model.ConfigType}类原厂机油粘度{model.OriginViscosity}推荐优先级:{model.ViscosityPriority}", OperateUser = user, }; } #endregion } else if (oldValue.IsDeleted) { #region 更新逻辑删除的记录 result = dbScopeManagerGungnir.Execute(conn => DalBaoYangOilViscosityPriorityConfig.UpdateBaoYangOilViscosityPriorityConfig(conn, model)); log = new BaoYangOprLog { LogType = "BaoYangOilViscosityPriorityConfig", IdentityID = model.OriginViscosity, OldValue = null, NewValue = JsonConvert.SerializeObject(model), Remarks = $"添加{model.ConfigType}类原厂机油粘度{model.OriginViscosity}推荐优先级:{model.ViscosityPriority}", OperateUser = user, }; #endregion } #endregion #region 更新 else { result = dbScopeManagerGungnir.Execute(conn => DalBaoYangOilViscosityPriorityConfig.UpdateBaoYangOilViscosityPriorityConfig(conn, model)); log = new BaoYangOprLog { LogType = "BaoYangOilViscosityPriorityConfig", IdentityID = model.OriginViscosity, OldValue = JsonConvert.SerializeObject(oldValue), NewValue = JsonConvert.SerializeObject(model), Remarks = $"更新{model.ConfigType}类原厂机油粘度{model.OriginViscosity}推荐优先级:{model.ViscosityPriority}", OperateUser = user, }; } #endregion if (result && log != null) { LoggerManager.InsertLog("BYOprLog", log); } } catch (Exception ex) { Logger.Error("AddOrEditBaoYangOilViscosityPriorityConfig", ex); } return(result); }
/// <summary> /// 批量新增或更新机油粘度特殊地区配置 /// </summary> /// <param name="regionIds"></param> /// <param name="oilViscosity"></param> /// <param name="user"></param> /// <returns></returns> public bool MultAddOrEditOilViscosityRegionConfig(List <int> regionIds, string oilViscosity, string user) { var result = false; try { if (regionIds != null && regionIds.Any() && !string.IsNullOrWhiteSpace(oilViscosity)) { var insertModels = new List <OilViscosityRegionModel>(); var backupModels = new List <OilViscosityRegionModel>(); var updateModels = new List <OilViscosityRegionModel>(); var logData = new List <BaoYangOprLog>(); foreach (var regionId in regionIds) { var oldValue = GetOilViscosityRegionConfigByRegionId(regionId); if (oldValue == null) { var insertModel = new OilViscosityRegionModel { RegionId = regionId, OilViscosity = oilViscosity, CreateDateTime = DateTime.Now, LastUpdateDateTime = DateTime.Now }; insertModels.Add(insertModel); } else { if (oldValue.IsDeleted) { backupModels.Add(oldValue); } else { updateModels.Add(oldValue); } } } dbScopeManagerGungnir.CreateTransaction(conn => { foreach (var insertModel in insertModels) { var pkid = DalBaoYangOilViscosityPriorityConfig.AddOilViscosityRegionConfig(conn, insertModel); if (pkid < 1) { throw new Exception($"AddOilViscosityRegionConfig失败,{JsonConvert.SerializeObject(insertModel)}"); } insertModel.PKID = pkid; var log = new BaoYangOprLog { LogType = "OilViscosityRegionConfig", IdentityID = insertModel.RegionId.ToString(), OldValue = null, NewValue = JsonConvert.SerializeObject(insertModel), Remarks = $"添加机油粘度配置:{oilViscosity}", OperateUser = user, }; logData.Add(log); } foreach (var oldValue in updateModels) { var updateModel = new OilViscosityRegionModel { PKID = oldValue.PKID, RegionId = oldValue.RegionId, OilViscosity = oilViscosity, CreateDateTime = oldValue.CreateDateTime, LastUpdateDateTime = DateTime.Now, IsDeleted = false }; var updateResult = DalBaoYangOilViscosityPriorityConfig.UpdateOilViscosityRegionConfig(conn, updateModel); if (!updateResult) { throw new Exception($"UpdateOilViscosityRegionConfig失败,{JsonConvert.SerializeObject(updateModel)}"); } var log = new BaoYangOprLog { LogType = "OilViscosityRegionConfig", IdentityID = updateModel.RegionId.ToString(), OldValue = JsonConvert.SerializeObject(oldValue), NewValue = JsonConvert.SerializeObject(updateModel), Remarks = $"更新机油粘度配置:{oilViscosity}", OperateUser = user, }; logData.Add(log); } foreach (var backupModel in backupModels) { var updateModel = new OilViscosityRegionModel { PKID = backupModel.PKID, RegionId = backupModel.RegionId, OilViscosity = oilViscosity, CreateDateTime = backupModel.CreateDateTime, LastUpdateDateTime = DateTime.Now, IsDeleted = false }; var updateResult = DalBaoYangOilViscosityPriorityConfig.UpdateOilViscosityRegionConfig(conn, updateModel); if (!updateResult) { throw new Exception($"UpdateOilViscosityRegionConfig失败,{JsonConvert.SerializeObject(updateModel)}"); } var log = new BaoYangOprLog { LogType = "OilViscosityRegionConfig", IdentityID = updateModel.RegionId.ToString(), OldValue = JsonConvert.SerializeObject(backupModel), NewValue = JsonConvert.SerializeObject(updateModel), Remarks = $"添加机油粘度配置:{oilViscosity}", OperateUser = user, }; logData.Add(log); } result = true; }); foreach (var log in logData) { LoggerManager.InsertLog("BYOprLog", log); } } } catch (Exception ex) { Logger.Error("MultiAddOrEditOilViscosityRegionConfig", ex); } return(result); }