/// <summary> /// 获取拜访步骤列表 /// </summary> /// <param name="entity">taskid 为必传项</param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="rowCount"></param> /// <returns></returns> public VisitingTaskStepEntity[] GetList(VisitingTaskStepViewEntity entity, int pageIndex, int pageSize, out int rowCount) { List <OrderBy> orderbys = new List <OrderBy>(); orderbys.Add(new OrderBy() { FieldName = "StepPriority", Direction = OrderByDirections.Asc }); PagedQueryResult <VisitingTaskStepViewEntity> pEntity = new VisitingTaskStepDAO(this.CurrentUserInfo).GetList(entity, null, orderbys.ToArray(), pageIndex, pageSize); rowCount = pEntity.RowCount; return(pEntity.Entities); }
/// <summary> /// GetList, VisitingTaskID必传 /// </summary> /// <param name="entity"></param> /// <param name="pWhereConditions"></param> /// <param name="pOrderBys"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public PagedQueryResult <VisitingTaskStepViewEntity> GetList(VisitingTaskStepViewEntity entity, IWhereCondition[] pWhereConditions, OrderBy[] pOrderBys, int pageIndex, int pageSize) { StringBuilder sqlWhere = new StringBuilder(); if (pWhereConditions != null) { foreach (var item in pWhereConditions) { sqlWhere.AppendFormat(" and {0}", item.GetExpression()); } } StringBuilder sqlOrder = new StringBuilder(); if (pOrderBys != null && pOrderBys.Length > 0) { foreach (var item in pOrderBys) { sqlOrder.AppendFormat(" {0} {1},", item.FieldName, item.Direction == OrderByDirections.Asc ? "asc" : "desc"); } sqlOrder.Remove(sqlOrder.Length - 1, 1); } //通用分页查询 UtilityEntity model = new UtilityEntity(); model.TableName = "(" + string.Format(SqlMap.SQL_GETSTEPLIST, entity.VisitingTaskID, CurrentUserInfo.ClientID, CurrentUserInfo.ClientDistributorID) + ") as A"; model.PageIndex = pageIndex; model.PageSize = pageSize; model.PageSort = sqlOrder.ToString(); new UtilityDAO(this.CurrentUserInfo).PagedQuery(model); //返回值 PagedQueryResult <VisitingTaskStepViewEntity> pEntity = new PagedQueryResult <VisitingTaskStepViewEntity>(); pEntity.RowCount = model.PageTotal; if (model.PageDataSet != null && model.PageDataSet.Tables != null && model.PageDataSet.Tables.Count > 0) { pEntity.Entities = DataLoader.LoadFrom <VisitingTaskStepViewEntity>(model.PageDataSet.Tables[0]); } return(pEntity); }
/// <summary> /// 编辑拜访步骤 /// </summary> /// <param name="entity"></param> /// <returns>2成功,1已经存在订单相关步骤</returns> public int EditStep(VisitingTaskStepEntity entity, string ObjectGroup) { int res = 2; Guid?visitingTaskStepID = entity.VisitingTaskStepID; VisitingTaskStepObjectEntity objectEntity = null; if (visitingTaskStepID != null) { objectEntity = new VisitingTaskStepObjectBLL(CurrentUserInfo).GetStepObjectList(visitingTaskStepID.Value); } IDbTransaction tran = new TransactionHelper(this.CurrentUserInfo).CreateTransaction(); using (tran.Connection) { try { /* 1.一个拜访任务只能有一个拜访步骤可以为订单相关 * 2.当拜访任务为自定义对象(7)时,将选择的对象分组插入 拜访步骤对象关联表 VisitingTaskStepObject */ #region 添加拜访步骤 VisitingTaskStepEntity oldEntity = this._currentDAO.GetByID(entity.VisitingTaskStepID); if (visitingTaskStepID != null && !string.IsNullOrEmpty(visitingTaskStepID.ToString())) {//修改 if (oldEntity.StepType == entity.StepType) { this._currentDAO.Update(entity, tran); } else { //判断是否已经存在订单相关的步骤 if (entity.StepType == 6) { VisitingTaskStepViewEntity viewEntity = new VisitingTaskStepViewEntity(); viewEntity.VisitingTaskID = entity.VisitingTaskID; VisitingTaskStepViewEntity[] pEntityList = this._currentDAO.GetList(viewEntity, null, null, 1, 100000).Entities; if (pEntityList.Where(m => m.StepType == 6).ToArray().Length > 0) { res = 1; return(res); } } //清空关联数据 new VisitingTaskStepObjectDAO(CurrentUserInfo).DeleteStepObjectAll(entity.VisitingTaskStepID.ToString(), tran); this._currentDAO.Update(entity, tran); } } else {//添加 //判断是否已经存在订单相关的步骤 if (entity.StepType == 6) { VisitingTaskStepViewEntity viewEntity = new VisitingTaskStepViewEntity(); viewEntity.VisitingTaskID = entity.VisitingTaskID; VisitingTaskStepViewEntity[] pEntityList = this._currentDAO.GetList(viewEntity, null, null, 1, 100000).Entities; if (pEntityList.Where(m => m.StepType == 6).ToArray().Length > 0) { res = 1; return(res); } } this._currentDAO.Create(entity, tran); res = 2; } #endregion #region 添加自定义对象,分组类型 if (entity.StepType == 7) { if (visitingTaskStepID != null && !string.IsNullOrEmpty(visitingTaskStepID.ToString())) {//修改 if (objectEntity == null) { VisitingTaskStepObjectEntity objEntity = new VisitingTaskStepObjectEntity(); objEntity.VisitingTaskStepID = entity.VisitingTaskStepID; objEntity.Target1ID = ObjectGroup; objEntity.ClientID = CurrentUserInfo.ClientID; objEntity.ClientDistributorID = Convert.ToInt32(CurrentUserInfo.ClientDistributorID); new VisitingTaskStepObjectBLL(CurrentUserInfo).Create(objEntity, tran); } else { objectEntity.Target1ID = ObjectGroup; new VisitingTaskStepObjectBLL(CurrentUserInfo).Update(objectEntity, tran); } } else {//添加 VisitingTaskStepObjectEntity objEntity = new VisitingTaskStepObjectEntity(); objEntity.VisitingTaskStepID = entity.VisitingTaskStepID; objEntity.Target1ID = ObjectGroup; objEntity.ClientID = CurrentUserInfo.ClientID; objEntity.ClientDistributorID = Convert.ToInt32(CurrentUserInfo.ClientDistributorID); new VisitingTaskStepObjectBLL(CurrentUserInfo).Create(objEntity, tran); } } #endregion tran.Commit(); } catch { tran.Rollback(); throw; } } return(res); }