/// <summary> /// 主项目对应的配置是否存在 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool IsExistBaoYangPackageTypeRelation(BaoYangPackageTypeRelationViewModel model) { var result = true; try { result = dbScopeManagerBaoYangRead.Execute (conn => DalBaoYangPackageTypeRelation.IsExistBaoYangPackageTypeRelation(conn, model)); } catch (Exception ex) { Logger.Error("IsBaoYangPackageTypeRelation", ex); } return(result); }
/// <summary> /// 获取单个保养关联项目配置 /// </summary> /// <param name="mainPackageType"></param> /// <returns></returns> public BaoYangPackageTypeRelationViewModel GetBaoYangPackageTypeRelation(string mainPackageType) { var result = null as BaoYangPackageTypeRelationViewModel; try { result = dbScopeManagerBaoYangRead.Execute(conn => DalBaoYangPackageTypeRelation.GetBaoYangPackageTypeRelation(conn, mainPackageType)); } catch (Exception ex) { Logger.Error("GetBaoYangPackageTypeRelation", ex); } return(result); }
/// <summary> /// 添加保养关联项目配置 /// </summary> /// <param name="model"></param> /// <param name="user"></param> /// <returns></returns> public bool AddBaoYangPackageTypeRelation(BaoYangPackageTypeRelationViewModel model, string user) { var result = false; try { var oldValue = GetBaoYangPackageTypeRelation(model.MainPackageType); if (oldValue == null) { var pkid = dbScopeManagerBaoYang.Execute (conn => DalBaoYangPackageTypeRelation.AddBaoYangPackageTypeRelation(conn, model)); result = pkid > 0; model.PKID = pkid; } else if (oldValue.IsDeleted) { model.PKID = oldValue.PKID; result = dbScopeManagerBaoYang.Execute (conn => DalBaoYangPackageTypeRelation.UpdateBaoYangPackageTypeRelation(conn, model)); } model.CreateDateTime = DateTime.Now; model.LastUpdateDateTime = DateTime.Now; var log = new BaoYangOprLog { LogType = "BaoYangPackageTypeRelation", IdentityID = $"{model.MainPackageType}", OldValue = null, NewValue = JsonConvert.SerializeObject(model), Remarks = $"添加主项目为{model.MainPackageType}的保养关联项目配置", OperateUser = user, }; LoggerManager.InsertLog("BYOprLog", log); } catch (Exception ex) { result = false; Logger.Error("AddBaoYangPackageTypeRelation", ex); } return(result); }
/// <summary> /// 删除保养关联项目配置 /// </summary> /// <param name="carNoPrefix"></param> /// <param name="surfaceCount"></param> /// <param name="servicePid"></param> /// <param name="user"></param> /// <returns></returns> public bool DeleteBaoYangPackageTypeRelation(string mainPackageType, string user) { var result = false; try { var oldValue = GetBaoYangPackageTypeRelation(mainPackageType); if (oldValue != null && !oldValue.IsDeleted) { result = dbScopeManagerBaoYang.Execute(conn => DalBaoYangPackageTypeRelation.DeleteBaoYangPackageTypeRelation(conn, oldValue.PKID)); if (!result) { throw new Exception($"DeleteBaoYangPackageTypeRelation失败,待删除数据{JsonConvert.SerializeObject(oldValue)}"); } var log = new BaoYangOprLog { LogType = "BaoYangPackageTypeRelation", IdentityID = mainPackageType, OldValue = JsonConvert.SerializeObject(oldValue), NewValue = null, Remarks = $"删除主项目为{mainPackageType}的保养关联项目配置", OperateUser = user, }; LoggerManager.InsertLog("BYOprLog", log); } else { result = true; } } catch (Exception ex) { result = false; Logger.Error("DeleteBaoYangPackageTypeRelation", ex); } return(result); }
/// <summary> /// 查询保养关联项目配置 /// </summary> /// <param name="servicePid"></param> /// <param name="carNoPrefix"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public Tuple <List <BaoYangPackageTypeRelationViewModel>, int> SelectBaoYangPackageTypeRelation (string servicePid, int pageIndex, int pageSize) { var result = null as List <BaoYangPackageTypeRelationViewModel>; var totalCount = 0; try { var configs = dbScopeManagerBaoYangRead.Execute(conn => DalBaoYangPackageTypeRelation.SelectBaoYangPackageTypeRelation(conn, servicePid, pageIndex, pageSize, out totalCount)) ?? new List <BaoYangPackageTypeRelationViewModel>(); var packageTypes = GetAllBaoYangPackageTypes(); if (packageTypes != null && packageTypes.Any()) { configs.ForEach( f => { f.MainPackageName = packageTypes.FirstOrDefault(w => string.Equals(w.Type, f.MainPackageType))?.Name; if (f.RelatedPackageTypeList != null && f.RelatedPackageTypeList.Any()) { var packageNames = f.RelatedPackageTypeList.Select(s => { return(packageTypes.FirstOrDefault(w => string.Equals(w.Type, s))?.Name); }).ToList(); f.RelatedPackageNames = string.Join(",", packageNames); } }); } result = configs; } catch (Exception ex) { result = null; Logger.Error("SelectBaoYangPackageTypeRelation", ex); } return(Tuple.Create(result, totalCount)); }
/// <summary> /// 更新保养关联项目配置 /// </summary> /// <param name="model"></param> /// <param name="user"></param> /// <returns></returns> public bool UpdateBaoYangPackageTypeRelation(BaoYangPackageTypeRelationViewModel model, string user) { var result = false; try { var oldValue = GetBaoYangPackageTypeRelation(model.MainPackageType); if (oldValue != null) { model.PKID = oldValue.PKID; result = dbScopeManagerBaoYang.Execute(conn => DalBaoYangPackageTypeRelation.UpdateBaoYangPackageTypeRelation(conn, model)); if (!result) { throw new Exception($"UpdateBaoYangPackageTypeRelation失败,待更新数据{JsonConvert.SerializeObject(model)}"); } model.CreateDateTime = oldValue.CreateDateTime; model.LastUpdateDateTime = DateTime.Now; var log = new BaoYangOprLog { LogType = "BaoYangPackageTypeRelation", IdentityID = model.MainPackageType, OldValue = JsonConvert.SerializeObject(oldValue), NewValue = JsonConvert.SerializeObject(model), Remarks = $"更新主项目为{model.MainPackageType}的保养关联项目配置", OperateUser = user, }; LoggerManager.InsertLog("BYOprLog", log); } } catch (Exception ex) { result = false; Logger.Error("UpdateBaoYangPackageTypeRelation", ex); } return(result); }