/// <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;
                }
            }
        }
Пример #2
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Update(VisitingObjectVisitingParameterMappingEntity pEntity, IDbTransaction pTran)
 {
     _currentDAO.Update(pEntity, pTran);
 }
Пример #3
0
 /// <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));
 }
Пример #4
0
 /// <summary>
 /// 创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Create(VisitingObjectVisitingParameterMappingEntity pEntity)
 {
     _currentDAO.Create(pEntity);
 }
Пример #5
0
 /// <summary>
 /// 根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public VisitingObjectVisitingParameterMappingEntity[] QueryByEntity(VisitingObjectVisitingParameterMappingEntity pQueryEntity, OrderBy[] pOrderBys)
 {
     return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys));
 }