Example #1
0
        /// <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);
        }
Example #3
0
        /// <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);
        }