예제 #1
0
 public ProcessController(IProc_Type procType, IOT_WorkflowTemplateDraftService workflowTemplateDraftService, IOT_BizObjectSchemaDraftService bizObjectSchemaDraftService, IOT_BizObjectSchemaService bizObjectSchemaService, IOT_WorkflowTemplateService workflowTemplateService)
 {
     this._procType = procType;
     this._workflowTemplateDraftService = workflowTemplateDraftService;
     this._workflowTemplateService      = workflowTemplateService;
     this._bizObjectSchemaDraftService  = bizObjectSchemaDraftService;
     this._bizObjectSchemaService       = bizObjectSchemaService;
 }
 public DataDictionaryWS(IProc_NodeService procNode, IProc_Type procType, IOT_WorkflowTemplateDraftService workflowTemplateDraftService, IOT_BizObjectSchemaDraftService bizObjectSchemaDraftService, IOT_BizObjectSchemaService bizObjectSchemaService, IOT_WorkflowTemplateService workflowTemplateService)
 {
     this._procNode = procNode;
     this._procType = procType;
     this._workflowTemplateDraftService = workflowTemplateDraftService;
     this._workflowTemplateService      = workflowTemplateService;
     this._bizObjectSchemaDraftService  = bizObjectSchemaDraftService;
     this._bizObjectSchemaService       = bizObjectSchemaService;
 }
예제 #3
0
        /// <summary>
        /// 添加子表数据字段
        /// </summary>
        /// <param name="FieldJArray">主表字段数组</param>
        /// <param name="Model">主表数据模型</param>
        /// <param name="AddTarget">新增目标字段</param>
        /// <param name="Service">数据保存服务</param>
        /// <returns></returns>
        public static AjaxReturnData AddSonTableField(string AddTarget, JArray FieldJArray, OT_BizObjectSchema Model, IOT_BizObjectSchemaService Service)
        {
            AjaxReturnData result = new AjaxReturnData();

            result.States = true;

            bool hasField = false;

            JArray newField = JArray.Parse(AddTarget);

            foreach (JObject item in FieldJArray)
            {
                if (item["ObjectId"] + string.Empty == newField[0]["ParentProperty"] + string.Empty)
                {
                    item["IsPublished"] = false;

                    if (!string.IsNullOrEmpty(item["children"] + string.Empty))
                    {
                        foreach (JObject children in JArray.Parse(item["children"] + string.Empty))
                        {
                            if (children["FieldCode"] + string.Empty == newField[0]["FieldCode"] + string.Empty)
                            {
                                hasField = true;
                            }
                        }
                        if (hasField)
                        {
                            result.States = false;

                            result.ErrorMessage = "已存在相同编码";
                        }
                        else
                        {
                            JArray children = JArray.Parse(item["children"] + string.Empty);

                            children.Add(newField[0]);

                            item["children"] = children;

                            Model.Content = FieldJArray.ToString();

                            int updateCount = Service.UpdateTable <OT_BizObjectSchema>(Model);

                            if (updateCount > 0)
                            {
                                result.Message = "更新成功.";
                            }
                            else
                            {
                                result.States = false;

                                result.ErrorMessage = "更新失败.";
                            }
                        }
                    }
                    else
                    {
                        //添加第一个子表数据
                        JArray children = new JArray();

                        children.Add(newField[0]);

                        item["children"] = children;

                        Model.Content = FieldJArray.ToString();

                        int updateCount = Service.UpdateTable <OT_BizObjectSchema>(Model);

                        if (updateCount > 0)
                        {
                            result.Message = "更新成功.";
                        }
                        else
                        {
                            result.States = false;

                            result.ErrorMessage = "更新失败.";
                        }
                    }
                    break;
                }
            }

            return(result);
        }
예제 #4
0
        /// <summary>
        /// 增加主表数据字段
        /// </summary>
        /// <param name="FieldJArray">主表字段数组</param>
        /// <param name="Model">主表数据模型</param>
        /// <param name="AddTarget">新增目标字段</param>
        /// <param name="Service">数据保存服务</param>
        /// <returns></returns>
        public static AjaxReturnData AddMainTableField(string AddTarget, JArray FieldJArray, OT_BizObjectSchema Model, IOT_BizObjectSchemaService Service)
        {
            AjaxReturnData result = new AjaxReturnData();

            result.States = true;

            bool hasField = false;

            JArray newField = JArray.Parse(AddTarget);

            foreach (JObject item in FieldJArray)
            {
                if (item["FieldCode"] + string.Empty == newField[0]["FieldCode"] + string.Empty)
                {
                    hasField = true;
                }
            }

            if (hasField)
            {
                result.States = false;

                result.ErrorMessage = "已存在相同编码";
            }
            else
            {
                FieldJArray.Add(newField[0]);

                Model.Content = FieldJArray.ToString();

                int updateCount = Service.UpdateTable <OT_BizObjectSchema>(Model);

                if (updateCount > 0)
                {
                    result.Message = "更新成功.";
                }
                else
                {
                    result.States = false;

                    result.ErrorMessage = "更新失败.";
                }
            }

            return(result);
        }
예제 #5
0
        /// <summary>
        /// 删除表数据字段
        /// </summary>
        /// <param name="ObjectId">被删除字段ObjectId</param>
        /// <param name="FieldJArray">主表字段数组</param>
        /// <param name="Model">主表数据模型</param>
        /// <param name="Service">数据保存服务</param>
        /// <returns></returns>
        public static AjaxReturnData DeleteTableField(string MainTableCode, string ObjectId, bool IsSonTable, string ParentProperty, JArray FieldJArray, OT_BizObjectSchema Model, IOT_BizObjectSchemaService Service)
        {
            string dbConnectionKey = string.Format("Data Source = {0}; Initial Catalog = {1}; User Id = {2}; Password = {3} ", ConfigurationManager.AppSettings["DataSource"], string.IsNullOrEmpty(Model.DbName) ? "ProcDB" : Model.DbName, ConfigurationManager.AppSettings["UserId"], ConfigurationManager.AppSettings["Password"]);

            AjaxReturnData result = new AjaxReturnData();

            result.States = true;

            if (IsSonTable)
            {
                foreach (var item in FieldJArray)
                {
                    if (item["ObjectId"] + string.Empty == ParentProperty + string.Empty)
                    {
                        foreach (JObject childItem in (JArray)item["children"])
                        {
                            if (childItem["ObjectId"] + string.Empty == ObjectId + string.Empty)
                            {
                                if ((bool)childItem["IsPublished"] == true)
                                {
                                    if (((JArray)item["children"]).Count == 1)
                                    {
                                        #region  除数据表
                                        string deleteTableFieldSql = "drop table C_" + item["FieldCode"];
                                        DapperHelper.CreateInstance(dbConnectionKey).ExecuteNoneQuery(deleteTableFieldSql);
                                        #endregion
                                        FieldJArray.Remove(item);
                                    }
                                    else
                                    {
                                        #region  除数据表字段
                                        int hasField = DapperHelper.CreateInstance(dbConnectionKey).ExecuteScalar("select   COUNT(*)   from   syscolumns   where   id=object_id('C_" + MainTableCode + "')   and   name='" + item["FieldCode"].ToString() + "' ");
                                        if (hasField > 0)
                                        {
                                            string deleteTableFieldSql = "alter table C_" + item["FieldCode"] + " drop column  [" + childItem["FieldCode"].ToString() + "]";
                                            DapperHelper.CreateInstance(dbConnectionKey).ExecuteNoneQuery(deleteTableFieldSql);
                                        }

                                        #endregion
                                    }
                                }

                                ((JArray)item["children"]).Remove(childItem);

                                break;
                            }
                        }
                        break;
                    }
                }
            }
            else
            {
                foreach (JObject item in FieldJArray)
                {
                    if (item["ObjectId"] + string.Empty == ObjectId + string.Empty)
                    {
                        if ((bool)item["IsPublished"] == true)
                        {
                            if (item["LogicType"] + string.Empty == "BizObjectArray")
                            {
                                //子表
                                #region  除数据表
                                string deleteTableFieldSql = "drop table C_" + item["FieldCode"];
                                DapperHelper.CreateInstance(dbConnectionKey).ExecuteNoneQuery(deleteTableFieldSql);
                                #endregion
                            }
                            else
                            {
                                #region  除数据表字段
                                int hasField = DapperHelper.CreateInstance(dbConnectionKey).ExecuteScalar("select   COUNT(*)   from   syscolumns   where   id=object_id('I_" + MainTableCode + "')   and   name='" + item["FieldCode"].ToString() + "' ");
                                if (hasField > 0)
                                {
                                    string deleteTableFieldSql = "alter table I_" + MainTableCode + " drop column  [" + item["FieldCode"].ToString() + "]";
                                    DapperHelper.CreateInstance(dbConnectionKey).ExecuteNoneQuery(deleteTableFieldSql);
                                }

                                #endregion
                            }
                        }


                        FieldJArray.Remove(item);

                        break;
                    }
                }
            }

            Model.Content = FieldJArray.ToString();

            int updateCount = Service.UpdateTable <OT_BizObjectSchema>(Model);

            if (updateCount > 0)
            {
                result.Message = "更新成功.";
            }
            else
            {
                result.States = false;

                result.ErrorMessage = "更新失败.";
            }


            return(result);
        }