/// <summary> /// 自定义对象选择拜访参数 /// </summary> /// <param name="objid">自定义对象ID</param> /// <param name="allSelectorStatus">选择状态</param> /// <param name="defaultList">默认list</param> /// <param name="includeList">选择list</param> /// <param name="excludeList">排除list</param> /// <param name="updateEntity">修改信息</param> public void EditObjectParameter(Guid objid, int allSelectorStatus, string defaultList, string includeList, string excludeList, VisitingObjectVisitingParameterMappingEntity[] updateEntity) { VisitingParameterViewEntity parameterEntity = new VisitingParameterViewEntity(); parameterEntity.VisitingObjectID = objid; int rowcount = 0; IDbTransaction tran = new TransactionHelper(this.CurrentUserInfo).CreateTransaction(); using (tran.Connection) { try { List <VisitingParameterViewEntity> oldList = this.GetObjectParameterList(parameterEntity, 1, 100000, out rowcount).ToList(); if (allSelectorStatus == 0)//默认,勾选 { //添加 string[] defaultLists = defaultList.Split(','); //1,2,3 string[] includeLists = includeList.Split(','); //1,2,3,4 1,2 1,2,4 StringBuilder delList = new StringBuilder(); for (int i = 0; i < includeLists.Length; i++) { if (!defaultLists.Contains(includeLists[i])) { VisitingObjectVisitingParameterMappingEntity entity = new VisitingObjectVisitingParameterMappingEntity(); entity.VisitingParameterID = Guid.Parse(includeLists[i]); entity.VisitingObjectID = objid; entity.ParameterOrder = 0; entity.ClientID = CurrentUserInfo.ClientID; entity.ClientDistributorID = Convert.ToInt32(CurrentUserInfo.ClientDistributorID); new VisitingObjectVisitingParameterMappingBLL(CurrentUserInfo).Create(entity, tran); } } //删除 StringBuilder sbDelList = new StringBuilder(); for (int i = 0; i < defaultLists.Length; i++) { if (!includeLists.Contains(defaultLists[i])) { //if() //{ sbDelList.Append("'" + defaultLists[i] + "',"); //} } } if (!string.IsNullOrEmpty(sbDelList.ToString())) { this._currentDAO.DeleteObjectParameterIn(objid.ToString(), sbDelList.Remove(sbDelList.ToString().Length - 1, 1).ToString(), tran); } } else if (allSelectorStatus == 1)//全选 { //添加 string[] excludeLists = excludeList.Split(','); for (int i = 0; i < oldList.ToArray().Length; i++) { if (oldList[i].MappingID == null || string.IsNullOrEmpty(oldList[i].MappingID.ToString())) { if (!excludeLists.Contains(oldList[i].VisitingParameterID.ToString())) { VisitingObjectVisitingParameterMappingEntity entity = new VisitingObjectVisitingParameterMappingEntity(); entity.VisitingParameterID = oldList[i].VisitingParameterID; entity.VisitingObjectID = objid; entity.ParameterOrder = 0; entity.ClientID = CurrentUserInfo.ClientID; entity.ClientDistributorID = Convert.ToInt32(CurrentUserInfo.ClientDistributorID); new VisitingObjectVisitingParameterMappingBLL(CurrentUserInfo).Create(entity, tran); } } } //删除 if (excludeList != "") { this._currentDAO.DeleteObjectParameterIn( objid.ToString(), "'" + excludeList.Replace(",", "','") + "'", tran); } } else if (allSelectorStatus == 2)//全不选 { //删除 if (includeList != "") { this._currentDAO.DeleteObjectParameterNotIn(objid.ToString(), "'" + includeList.Replace(",", "','") + "'" , tran); } else { this._currentDAO.DeleteObjectParameterAll(objid.ToString(), tran); } //添加 if (includeList.Trim().Length > 0) { string[] includeLists = includeList.Split(','); foreach (string pid in includeLists) { if (oldList.Where(m => m.MappingID != null && m.VisitingObjectID == objid && m.VisitingParameterID == Guid.Parse(pid)).ToArray().Length == 0) { VisitingObjectVisitingParameterMappingEntity entity = new VisitingObjectVisitingParameterMappingEntity(); entity.VisitingParameterID = Guid.Parse(pid); entity.VisitingObjectID = objid; entity.ParameterOrder = 0; entity.ClientID = CurrentUserInfo.ClientID; entity.ClientDistributorID = Convert.ToInt32(CurrentUserInfo.ClientDistributorID); new VisitingObjectVisitingParameterMappingBLL(CurrentUserInfo).Create(entity, tran); } } } } tran.Commit(); } catch { tran.Rollback(); throw; } } tran = new TransactionHelper(this.CurrentUserInfo).CreateTransaction(); using (tran.Connection) { try { //修改数据 List <VisitingParameterViewEntity> oldList = this.GetObjectParameterList(parameterEntity, 1, 100000, out rowcount).ToList(); foreach (VisitingObjectVisitingParameterMappingEntity uEntity in updateEntity) { if (oldList.Where(m => m.VisitingParameterID == uEntity.VisitingParameterID && m.MappingID != null).ToArray().Length == 1) { VisitingParameterViewEntity entity = oldList.Where(m => m.VisitingParameterID == uEntity.VisitingParameterID && m.MappingID != null).ToArray()[0]; VisitingObjectVisitingParameterMappingEntity mEntity = new VisitingObjectVisitingParameterMappingEntity(); mEntity.MappingID = entity.MappingID; mEntity.VisitingObjectID = entity.VisitingObjectID; mEntity.VisitingParameterID = entity.VisitingParameterID; mEntity.ParameterOrder = uEntity.ParameterOrder; mEntity.ClientID = entity.ClientID; mEntity.ClientDistributorID = entity.ClientDistributorID; mEntity.CreateBy = entity.CreateBy; mEntity.CreateTime = entity.CreateTime; this.Update(mEntity, tran); } } tran.Commit(); } catch { tran.Rollback(); throw; } } }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Update(VisitingObjectVisitingParameterMappingEntity pEntity, IDbTransaction pTran) { _currentDAO.Update(pEntity, pTran); }
/// <summary> /// 分页根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public PagedQueryResult <VisitingObjectVisitingParameterMappingEntity> PagedQueryByEntity(VisitingObjectVisitingParameterMappingEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex) { return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex)); }
/// <summary> /// 创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> public void Create(VisitingObjectVisitingParameterMappingEntity pEntity) { _currentDAO.Create(pEntity); }
/// <summary> /// 根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public VisitingObjectVisitingParameterMappingEntity[] QueryByEntity(VisitingObjectVisitingParameterMappingEntity pQueryEntity, OrderBy[] pOrderBys) { return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys)); }