コード例 #1
0
ファイル: ModelClassManager.cs プロジェクト: 12345lhf/gitText
        /// <summary>
        /// 修改分类
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="sc"></param>
        /// <returns></returns>
        public ModelClass Update(ModelClass entity, IServerContext sc)
        {
            Func <ModelClass> func = () =>
            {
                if (entity == null)
                {
                    ThrowErrorCodeException("数据对象为空");
                }
                if (String.IsNullOrEmpty(entity.Name))
                {
                    ThrowArgException("分类名称不能为空");
                }
                if (String.IsNullOrEmpty(entity.Id))
                {
                    ThrowArgException("分类编码不能为空");
                }

                ServerContextInfo scInfo = GetServerContextInfo(sc);
                var serverModel          = this.GetDAL <IModelClassDAL>(sc).LoadData(entity.Id, sc);
                if (serverModel == null || string.IsNullOrEmpty(serverModel.Id))
                {
                    ThrowArgException("修改的分类不存在");
                }
                if (IsHasNameExcludeOneself(entity, sc))
                {
                    ThrowArgException("分类名称已经存在");
                }
                //赋值
                serverModel.Name = entity.Name;
                entity           = this.GetDAL <IModelClassDAL>(sc).SaveData(serverModel, sc);
                return(entity);
            };

            return(this.CallFunc <ModelClass>(func, sc, "Update", "修改分类失败"));
        }
コード例 #2
0
ファイル: ModelClassManager.cs プロジェクト: 12345lhf/gitText
        /// <summary>
        /// 新增分类
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="sc"></param>
        /// <returns></returns>
        public ModelClass Add(ModelClass entity, IServerContext sc)
        {
            Func <ModelClass> func = () =>
            {
                if (entity == null)
                {
                    ThrowErrorCodeException("数据对象为空");
                }
                if (String.IsNullOrEmpty(entity.Name))
                {
                    ThrowArgException("分类名称不能为空");
                }
                if (String.IsNullOrEmpty(entity.Id))
                {
                    entity.Id = Guid.NewGuid().ToString();
                }


                ServerContextInfo scInfo = GetServerContextInfo(sc);

                if (IsHasName(entity.Name, sc))
                {
                    ThrowErrorCodeException("分类名称已经存在");
                }

                entity.CreateTime           = DateTime.Now;
                entity.CreateUserId         = scInfo.UserId;
                entity.CreateOrganizationId = scInfo.OrgId;

                entity = this.GetDAL <IModelClassDAL>(sc).SaveData(entity, sc);
                return(entity);
            };

            return(this.CallFunc <ModelClass>(func, sc, "Add", "保存分类失败"));
        }
コード例 #3
0
        /// <summary>
        /// 【设计时】保存设计时数据
        /// </summary>
        /// <param name="data">要保存的数据</param>
        /// <param name="fromPublishModel">调用此接口的来源动作:是否来自发布模块</param>
        /// <param name="sc">上下文服务</param>
        /// <returns>保存成功配置对象,否则返回null</returns>
        public ModelDesignData SaveDesignData(ModelDesignData data, Boolean fromPublishModel, IServerContext sc)
        {
            Func <ModelDesignData> func = () =>
            {
                //          1.1 数据验证
                if (data == null)
                {
                    ThrowErrorCodeException("数据对象为空");
                }
                if (String.IsNullOrEmpty(data.Name))
                {
                    ThrowArgException("请输入模块名称");
                }
                if (String.IsNullOrEmpty(data.Id))
                {
                    data.Id = Guid.NewGuid().ToString();
                }
                ServerContextInfo scInfo = GetServerContextInfo(sc);
                //          1.2 默认值处理
                #region 代码折叠:       默认值处理
                String id = data.Id;
                IModelDesignDataDAL dal     = this.GetDAL <IModelDesignDataDAL>(sc);
                ModelDesignData     oldData = dal.LoadData(id, sc);
                if (oldData == null)
                {
                    //              新增数据
                    data.AddTime   = DateTime.Now;
                    data.AddUserId = scInfo.UserId;
                }
                //                  模块状态处理:是【发布模块】调用此接口时始终为【已发布】;否则新增时为【始终未发布】,保存时为【已保存未发布】
                if (fromPublishModel == true)
                {
                    data.State         = ModelState.Published;
                    data.PublishTime   = DateTime.Now;
                    data.PublishUserId = scInfo.UserId;
                }
                else
                {
                    if (oldData == null || oldData.State == ModelState.Never)
                    {
                        data.State = ModelState.Never;
                    }
                    else
                    {
                        data.State = ModelState.Saved;
                    }
                }
                #endregion
                //          1.3 保存数据
                data = dal.SaveData(data, sc);
                //          1.4 记录保存日志
                this.WriteLog("保存模块数据", oldData, data, sc);
                //          1.5 返回数据
                return(data);
            };

            return(this.CallFunc <ModelDesignData>(func, sc, "SaveDesignData", "【设计时】保存设计时数据"));
        }
コード例 #4
0
        /// <summary>
        /// 记录操作日志
        /// </summary>
        /// <param name="logTitle">日志标题</param>
        /// <param name="oldData">旧数据</param>
        /// <param name="newData">新数据</param>
        /// <param name="sc">上下文</param>
        private void WriteLog(String logTitle, ModelConfigBase oldData, ModelConfigBase newData, IServerContext sc)
        {
            ServerContextInfo scInfo = this.GetServerContextInfo(sc);
            ModelConfigLog    log    = new ModelConfigLog()
            {
                Id        = Guid.NewGuid().ToString(),
                LogDate   = DateTime.Now,
                LogTitle  = logTitle,
                LogUserId = scInfo.UserId,
                OldConfig = oldData,
                NewConfig = newData,
            };

            this.SaveData <IModelConfigLogDAL, ModelConfigLog>(log, sc);
        }
コード例 #5
0
ファイル: ControlManager.cs プロジェクト: 12345lhf/gitText
        /// <summary>
        /// 保存控件信息
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="sc"></param>
        /// <returns></returns>
        public ControlEntity Save(ControlEntity entity, IServerContext sc)
        {
            Func <ControlEntity> func = () =>
            {
                //          1.1 数据验证
                if (entity == null)
                {
                    ThrowErrorCodeException("数据对象为空");
                }
                if (String.IsNullOrEmpty(entity.Code))
                {
                    ThrowArgException("控件编码不能为空");
                }
                if (String.IsNullOrEmpty(entity.Name))
                {
                    ThrowArgException("控件名称不能为空");
                }
                if (String.IsNullOrEmpty(entity.Id))
                {
                    entity.Id = Guid.NewGuid().ToString();
                }
                ServerContextInfo scInfo = GetServerContextInfo(sc);
                //          1.2 默认值处理
                #region 代码折叠:       默认值处理
                String        id      = entity.Id;
                IControlDAL   dal     = this.GetDAL <IControlDAL>(sc);
                ControlEntity oldData = dal.LoadData(id, sc);

                if (oldData == null)
                {
                    //              新增数据
                    entity.AddTime        = DateTime.Now;
                    entity.AddUserId      = scInfo.UserId;
                    entity.OrganizationId = scInfo.OrgId;
                }
                #endregion
                //          1.3 保存数据
                entity = dal.SaveData(entity, sc);
                return(entity);
            };

            return(this.CallFunc <ControlEntity>(func, sc, "Save", "保存控件数据"));
        }
コード例 #6
0
        /// <summary>
        /// 【运行时】保存用户扩展配置数据
        /// </summary>
        /// <param name="data"></param>
        /// <param name="sc"></param>
        /// <returns></returns>
        public ModelUserExtendConfig SaveUserExtendData(ModelUserExtendConfig data, IServerContext sc)
        {
            Func <ModelUserExtendConfig> func = () =>
            {
                //          1.1 数据验证
                if (data == null)
                {
                    ThrowErrorCodeException("数据对象为空");
                }
                if (String.IsNullOrEmpty(data.Id))
                {
                    data.Id = Guid.NewGuid().ToString();
                }
                ServerContextInfo scInfo = GetServerContextInfo(sc);
                //String id = data.Id;
                IModelUserExtendConfigDAL dal = this.GetDAL <IModelUserExtendConfigDAL>(sc);
                //ModelUserExtendConfig oldData = dal.LoadData(id, sc);
                data = dal.SaveData(data, sc);
                return(data);
            };

            return(this.CallFunc <ModelUserExtendConfig>(func, sc, "SaveUserExtendData", "【运行时】保存用户扩展配置数据"));
        }
コード例 #7
0
ファイル: ModelClassManager.cs プロジェクト: 12345lhf/gitText
        /// <summary>
        /// 删除分类
        /// </summary>
        /// <param name="id"></param>
        /// <param name="sc"></param>
        /// <returns></returns>
        public bool Delete(string id, IServerContext sc)
        {
            Func <bool> func = () =>
            {
                if (String.IsNullOrEmpty(id))
                {
                    ThrowArgException("分类编码不能为空");
                }
                ServerContextInfo scInfo = GetServerContextInfo(sc);

                //判断是否可以删除
                List <ModelDesignData> modelList = ModelDesignManager.Instance.GetDesignDataListByUserAndClass(id, sc);
                int?count = modelList?.Count;
                if (count != null && count > 0)
                {
                    ThrowArgException("分类中存在模块,不能删除!");
                }

                IModelClassDAL dal = this.GetDAL <IModelClassDAL>(sc);
                return(dal.DeleteData(id, sc));
            };

            return(this.CallFunc <bool>(func, sc, "Delete", "删除分类失败"));
        }