예제 #1
0
        /// <summary>
        /// 初始化项目信息
        /// </summary>
        /// <param name="projId"></param>
        /// <param name="templateDC">传入表名和对应的模板Id</param>
        public void ProjectInfoInit(int projId, Dictionary <string, int> templateDC)
        {
            InvokeResult result  = new InvokeResult();
            BsonDocument project = this._ctx.FindOneByQuery("Project", Query.EQ("projId", projId.ToString()));//项目信息

            if (project == null)
            {
                throw new ArgumentNullException();
            }
            foreach (var dc in templateDC)
            {
                int       templateId  = dc.Value;
                TableRule tableEntity = new TableRule(dc.Key);
                string    primaryKey  = tableEntity.GetPrimaryKey();
                if (string.IsNullOrEmpty(primaryKey))
                {
                    throw new ArgumentNullException();
                }
                BsonDocument templateInfo = this._ctx.FindOneByQuery(dc.Key, Query.EQ(primaryKey, dc.Value.ToString()));
                if (templateInfo == null)
                {
                    templateInfo = this._ctx.FindOneByQuery(dc.Key, Query.EQ("isTemplate", "1"));//传入模板Id不存在,查找默认模板
                }
                if (templateInfo != null)
                {
                    templateId = templateInfo.Int(primaryKey);                                                     //模板Id
                    List <BsonDocument> templateDataSubList = new List <BsonDocument>();                           //模板详细目录

                    BsonDocument entity = this._ctx.FindOneByQuery(dc.Key, Query.EQ("projId", projId.ToString())); //项目对应表目录实体
                    if (entity == null)
                    {
                        entity = new BsonDocument();
                        entity.Add("name", project != null ? project.String("name") : string.Empty + "目录");
                        entity.Add("projId", projId.ToString());
                        entity.Add("isTemplate", "0");
                        entity.Add("srcId", templateId.ToString());
                        result = this._ctx.Insert(dc.Key, entity);
                        entity = result.BsonInfo;
                    }
                    List <BsonDocument> dataSubList = this._ctx.FindAllByQuery(dc.Key + "Dir", Query.EQ(primaryKey, entity.String(primaryKey))).ToList();
                    if (dataSubList.Count() > 0)
                    {
                        this._ctx.Delete(dc.Key + "Dir", Query.EQ(primaryKey, entity.String(primaryKey)));//删除旧信息
                    }
                    if (result.Status == Status.Successful || result.Status == Status.Invaild)
                    {
                        templateDataSubList = this._ctx.FindAllByQuery(dc.Key + "Dir", Query.EQ(primaryKey, templateId.ToString())).ToList();
                        TemplateDirBll      tdBll  = TemplateDirBll._();
                        List <BsonDocument> newDir = new List <BsonDocument>();
                        tdBll.CopyGeneralDir(newDir, templateDataSubList, 0, null, dc.Key, entity);
                    }
                    else
                    {
                        throw new ArgumentNullException();
                    }
                }
            }
        }
예제 #2
0
        public ActionResult DelePostInfo(FormCollection saveForm)
        {
            InvokeResult result = new InvokeResult();

            string tbName   = saveForm["tbName"] != null ? saveForm["tbName"] : "";
            string queryStr = saveForm["queryStr"] != null ? saveForm["queryStr"] : "";
            string dataStr  = "";

            int       primaryKey = 0;
            TableRule rule       = new TableRule(tbName);
            string    keyName    = rule.GetPrimaryKey();
            var       isLogicDel = rule.isLogicDel;

            if (!isLogicDel)
            {
                #region  除文档

                if (!string.IsNullOrEmpty(queryStr))
                {
                    var query     = TypeConvert.NativeQueryToQuery(queryStr);
                    var recordDoc = dataOp.FindOneByQuery(tbName, query);
                    saveForm["keyValue"] = result.BsonInfo.Text(keyName);
                    if (recordDoc != null)
                    {
                        primaryKey = recordDoc.Int(keyName);
                    }

                    FileOperationHelper opHelper = new FileOperationHelper();
                    result = opHelper.DeleteFile(tbName, keyName, primaryKey.ToString());
                }
                #endregion

                #region  除数据
                BsonDocument curData = new BsonDocument();  //当前数据,即操作前数据

                if (queryStr.Trim() != "")
                {
                    curData = dataOp.FindOneByQuery(tbName, TypeConvert.NativeQueryToQuery(queryStr));
                }

                dataOp.SetOperationData(tbName, queryStr, dataStr);

                result = dataOp.Delete();
                #endregion
                //删除文件
            }
            else
            {
                return(logicDelePostInfo(saveForm));
            }

            return(Json(TypeConvert.InvokeResultToPageJson(result)));
        }
예제 #3
0
        /// <summary>
        /// 创建地块目录
        /// </summary>
        /// <param name="tbName"></param>
        /// <param name="landId"></param>
        /// <param name="templateId"></param>
        public void LandDirCreate(string tbName, int landId, int templateId)
        {
            InvokeResult result      = new InvokeResult();
            TableRule    tableEntity = new TableRule(tbName);
            string       primaryKey  = tableEntity.GetPrimaryKey();

            if (string.IsNullOrEmpty(primaryKey))
            {
                throw new ArgumentNullException();
            }
            BsonDocument templateInfo = this._ctx.FindOneByQuery(tbName, Query.EQ(primaryKey, templateId.ToString()));

            if (templateInfo == null)
            {
                templateInfo = this._ctx.FindOneByQuery(tbName, Query.EQ("isTemplate", "1"));//传入模板Id不存在,查找默认模板
            }
            if (templateInfo != null)
            {
                templateId = templateInfo.Int(primaryKey);                                                            //模板Id
                List <BsonDocument> templateDataSubList = new List <BsonDocument>();                                  //模板详细目录
                BsonDocument        land   = this._ctx.FindOneByQuery("Land", Query.EQ("landId", landId.ToString())); //地块信息
                BsonDocument        entity = this._ctx.FindOneByQuery(tbName, Query.EQ("landId", landId.ToString())); //地块对应表目录实体
                if (entity == null)
                {
                    entity = new BsonDocument();
                    entity.Add("name", land != null ? land.String("name") : string.Empty + "目录");
                    entity.Add("landId", landId.ToString());
                    entity.Add("isTemplate", "0");
                    entity.Add("srcId", templateId.ToString());
                    result = this._ctx.Insert(tbName, entity);
                    entity = result.BsonInfo;
                }
                List <BsonDocument> dataSubList = this._ctx.FindAllByQuery(tbName + "Dir", Query.EQ(primaryKey, entity.String(primaryKey))).ToList();
                if (dataSubList.Count() > 0)
                {
                    this._ctx.Delete(tbName + "Dir", Query.EQ(primaryKey, entity.String(primaryKey)));
                }
                if (result.Status == Status.Successful || result.Status == Status.Invaild)
                {
                    templateDataSubList = this._ctx.FindAllByQuery(tbName + "Dir", Query.EQ(primaryKey, templateId.ToString())).ToList();
                    TemplateDirBll      tdBll  = TemplateDirBll._();
                    List <BsonDocument> newDir = new List <BsonDocument>();
                    tdBll.CopyGeneralDir(newDir, templateDataSubList, 0, null, tbName, entity);
                }
                else
                {
                    throw new ArgumentNullException();
                }
            }
        }
예제 #4
0
        /// <summary>
        /// 逐级加载节点树
        /// </summary>
        /// <param name="tbName"></param>
        /// <returns></returns>
        public ActionResult GetProjNodeTreeXMLByLevel(string tbName)
        {
            int id = PageReq.GetFormInt("id") != 0 ? PageReq.GetFormInt("id") : (PageReq.GetParamInt("id") != 0 ? PageReq.GetParamInt("id") : 0); //父级OrgId,如果传入,则展示子级,不包括父级

            TableRule tableEntity = new TableRule(tbName);                                                                                        //获取表结构

            string primaryKey = tableEntity.GetPrimaryKey();                                                                                      //寻找默认主键

            BsonDocument curNode = dataOp.FindOneByKeyVal(tbName, primaryKey, id.ToString());                                                     //当前节点

            List <BsonDocument> allNodeList = dataOp.FindChildNodes(tbName, id.ToString()).ToList();

            List <BsonDocument> subNodeList = allNodeList.Where(t => t.Int("nodePid") == id).ToList();

            List <TreeNode> treeList = new List <TreeNode>();

            foreach (var subNode in subNodeList.OrderBy(t => t.Int("nodeOrder")))      //循环子部门列表,赋值
            {
                TreeNode node = new TreeNode();

                node.Id         = subNode.Int(primaryKey);
                node.Name       = subNode.String("name");
                node.Lv         = curNode.Int("nodeLevel") + 1;
                node.Pid        = id;
                node.underTable = subNode.String("underTable");
                node.Param      = "0_" + subNode.Int(primaryKey) + "_0";

                if (allNodeList.Where(t => t.Int("nodePid") == subNode.Int(primaryKey)).Count() > 0)
                {
                    node.IsLeaf = 0;
                }
                else
                {
                    node.IsLeaf = 1;
                }

                treeList.Add(node);
            }
            return(new XmlTree(treeList));
        }