Ejemplo n.º 1
0
        //http://localhost:9000/CPSite/api/FormEngine/InitFormDefaultView?FormId=1&CurUserId=1&CurUserIden=E0A04F94-90D5-4C2A-8C9D-836813F73DC4
        public CPWebApiBaseReturnEntity InitFormDefaultViewForEditor(int FormId, int CurUserId, string CurUserIden)
        {
            base.SetHeader();
            CurUserIden = CPAppContext.FormatSqlPara(CurUserIden);
            CPWebApiBaseReturnEntity re = new CPWebApiBaseReturnEntity();

            if (this.CheckUserIden(CurUserId, CurUserIden) == false)
            {
                re.Result   = false;
                re.ErrorMsg = "系统检测到非法获取数据,请传入正确的用户会话Key与用户Id参数!";
                return(re);
            }
            try
            {
                re.Result = CPFormTemplate.Instance(CurUserId).InitFormDefaultViewForEditor(FormId);
                if (re.Result == false)
                {
                    re.ErrorMsg = "自动初始化一个默认视图时出错!";
                }
                return(re);
            }
            catch (Exception ex)
            {
                re.Result   = false;
                re.ErrorMsg = ex.Message.ToString();
                return(re);
            }
        }
Ejemplo n.º 2
0
        public FileResult DownloadFormConfig(string FormIds, int CurUserId, string CurUserIden)
        {
            base.SetHeader();
            CurUserIden = CPAppContext.FormatSqlPara(CurUserIden);
            CPWebApiBaseReturnEntity re = new CPWebApiBaseReturnEntity();

            if (this.CheckUserIden(CurUserId, CurUserIden) == false)
            {
                throw new Exception("系统检测到非法获取数据,请传入正确的用户会话Key与用户Id参数!");
            }
            FormIds = FormIds.Replace("@", ",");
            FormIds = CPAppContext.FormatSqlPara(FormIds);
            List <int> col = new List <int>();

            FormIds.Split(',').ToList().ForEach(t => {
                if (string.IsNullOrEmpty(t) == false)
                {
                    col.Add(int.Parse(t));
                }
            });
            string sXml = CPFormTemplate.Instance(CurUserId).GetFormConfigXml(col);

            byte[] byteArray = System.Text.Encoding.Default.GetBytes(sXml);
            return(File(byteArray, "application/x-msdownload", "表单配置.CPXml"));
        }
Ejemplo n.º 3
0
        public GetFormFieldByViewIdReturn GetFormViewByViewId(int ViewId
                                                              , int CurUserId, string CurUserIden
                                                              )
        {
            base.SetHeader();
            CurUserIden = CPAppContext.FormatSqlPara(CurUserIden);
            GetFormFieldByViewIdReturn re = new GetFormFieldByViewIdReturn();

            if (this.CheckUserIden(CurUserId, CurUserIden) == false)
            {
                re.Result   = false;
                re.ErrorMsg = "系统检测到非法获取数据,请传入正确的用户会话Key与用户Id参数!";
                return(re);
            }
            try
            {
                re.FieldCol = CPFormTemplate.Instance(CurUserId).GetFormFieldByViewId(ViewId);
                re.View     = CPFormTemplate.Instance(CurUserId).GetFormViewByViewId(ViewId, false);
                re.Result   = true;
                return(re);
            }
            catch (Exception ex)
            {
                re.Result   = false;
                re.ErrorMsg = ex.Message.ToString();
                return(re);
            }
        }
Ejemplo n.º 4
0
        //http://localhost:9000/CPSite/api/FormEngine/SynFormFieldInfo?FormId=1&CurUserId=1&CurUserIden=E0A04F94-90D5-4C2A-8C9D-836813F73DC4
        public CPWebApiBaseReturnEntity SynFormFieldInfo(int FormId, int CurUserId, string CurUserIden)
        {
            base.SetHeader();
            CurUserIden = CPAppContext.FormatSqlPara(CurUserIden);
            CPWebApiBaseReturnEntity re = new CPWebApiBaseReturnEntity();

            if (this.CheckUserIden(CurUserId, CurUserIden) == false)
            {
                re.Result   = false;
                re.ErrorMsg = "系统检测到非法获取数据,请传入正确的用户会话Key与用户Id参数!";
                return(re);
            }
            try
            {
                re.Result = CPFormTemplate.Instance(CurUserId).SynFieldFromDb(FormId);
                if (re.Result == false)
                {
                    re.ErrorMsg = "从数据库同步字段信息时出错了!";
                }
                return(re);
            }
            catch (Exception ex)
            {
                re.Result   = false;
                re.ErrorMsg = ex.Message.ToString();
                return(re);
            }
        }
Ejemplo n.º 5
0
        public static CPFormTemplate Instance(int curUserId)
        {
            CPFormTemplate iObj = CPAppContext.GetService <CPFormTemplate>();

            iObj.CurUserId = curUserId;
            return(iObj);
        }
Ejemplo n.º 6
0
        public CPWebApiBaseReturnEntity SynFormConfig(int TargetSysId, bool IsCreateNew, int CurUserId, string CurUserIden)
        {
            base.SetHeader();
            CurUserIden = CPAppContext.FormatSqlPara(CurUserIden);
            CPWebApiBaseReturnEntity re = new CPWebApiBaseReturnEntity();

            if (this.CheckUserIden(CurUserId, CurUserIden) == false)
            {
                re.Result   = false;
                re.ErrorMsg = "系统检测到非法获取数据,请传入正确的用户会话Key与用户Id参数!";
                return(re);
            }
            try
            {
                var files = Request.Form.Files;
                foreach (var file in files)
                {
                    //  var filename = ContentDispositionHeaderValue
                    //                   .Parse(file.ContentDisposition)
                    //                .FileName
                    //                .Trim('"');
                    ////  filename = _FilePath + $@"\{filename}";
                    //  size += file.Length;
                    byte[] bData = null;
                    using (var fileStream = file.OpenReadStream())
                        using (var ms = new MemoryStream())
                        {
                            fileStream.CopyTo(ms);
                            bData = ms.ToArray();
                            //var fileBytes = ms.ToArray();
                            //string s = Convert.ToBase64String(fileBytes);
                            //// act on the Base64 data
                        }
                    if (bData != null)
                    {
                        if (IsCreateNew)
                        {
                            re.Result = CPFormTemplate.Instance(CurUserId).InitFormFromConfigXml(TargetSysId, bData);
                        }
                        else
                        {
                            re.Result = CPFormTemplate.Instance(CurUserId).SyncFormFromConfigXml(TargetSysId, bData);
                        }
                    }
                }
                re.Result = true;
                return(re);
            }
            catch (Exception ex)
            {
                re.Result   = false;
                re.ErrorMsg = ex.Message.ToString();
                return(re);
            }
        }
Ejemplo n.º 7
0
 public void AfterSave(ICPFormAfterSaveEventArgs e)
 {
     if (e.IsAdd)
     {
         int  formId    = Convert.ToInt32(e.GetFieldValue("Form_Main", "FormId", 0));
         int  curUserId = Convert.ToInt32(CPExpressionHelper.Instance.RunCompile("${CPUser.UserId()}"));
         bool b         = CPFormTemplate.Instance(curUserId).SynFieldFromDb(formId);
         if (b)
         {
             b = CPFormTemplate.Instance(curUserId).InitFormDefaultView(formId);
         }
         if (b)
         {
             b = CPFormTemplate.Instance(curUserId).AddDefaultScene(formId);
         }
     }
 }
Ejemplo n.º 8
0
        public CPWebApiBaseReturnEntity SaveViewHTML([FromBody] SaveViewHTMLInput input)
        {
            base.SetHeader();
            GetFormFieldByViewIdReturn re = new GetFormFieldByViewIdReturn();

            if (this.CheckUserIden(input.CurUserId, input.CurUserIden) == false)
            {
                re.Result   = false;
                re.ErrorMsg = "系统检测到非法获取数据,请传入正确的用户会话Key与用户Id参数!";
                return(re);
            }
            try
            {
                re.Result = CPFormTemplate.Instance(input.CurUserId).SaveViewHTML(input.ViewId, input.ViewHTML);
                return(re);
            }
            catch (Exception ex)
            {
                re.Result   = false;
                re.ErrorMsg = ex.Message.ToString();
                return(re);
            }
        }
Ejemplo n.º 9
0
        public SaveFormDataReturn SaveFormData([FromBody] SaveFormDataInput input)
        {
            base.SetHeader();
            SaveFormDataReturn re = new SaveFormDataReturn();

            if (this.CheckUserIden(input.CurUserId, input.CurUserIden) == false)
            {
                re.Result   = false;
                re.ErrorMsg = "系统检测到非法获取数据,请传入正确的用户会话Key与用户Id参数!";
                return(re);
            }
            try
            {
                CPForm         form = CPFormTemplate.Instance(input.CurUserId).GetForm(input.FormCode, true, true, false, false, false, false);
                string         errormsg;
                string         pkValues = input.PKValue;
                CPFormUseScene useScene = CPFormTemplate.Instance(input.CurUserId).GetFormUseScene(input.SceneCode, false);
                re.Result = CPFormEngine.Instance(input.CurUserId).SaveData(form, form.ChildTableCol, form.FieldCol,
                                                                            ref pkValues, input.FormDataJSON, useScene, out errormsg);
                if (re.Result == false)
                {
                    re.ErrorMsg = errormsg;
                }
                else
                {
                    re.PKValues = pkValues;
                }
                return(re);
            }
            catch (Exception ex)
            {
                re.Result   = false;
                re.ErrorMsg = ex.Message.ToString();
                return(re);
            }
        }
Ejemplo n.º 10
0
        public GetFormInfoReturn GetFormInfo(string FormCode, string SceneCode, string ViewCode, string InitGroupCode,
                                             string RightGroupCode, string PKValues
                                             , int CurUserId, string CurUserIden, string DeviceType = "1",
                                             bool IsView = false
                                             )
        {
            GetFormInfoReturn re = new GetFormInfoReturn();

            try
            {
                base.SetHeader();
                FormCode       = CPAppContext.FormatSqlPara(FormCode);
                SceneCode      = CPAppContext.FormatSqlPara(SceneCode);
                ViewCode       = CPAppContext.FormatSqlPara(ViewCode);
                InitGroupCode  = CPAppContext.FormatSqlPara(InitGroupCode);
                RightGroupCode = CPAppContext.FormatSqlPara(RightGroupCode);
                PKValues       = CPAppContext.FormatSqlPara(PKValues);
                CurUserIden    = CPAppContext.FormatSqlPara(CurUserIden);
                DeviceType     = CPAppContext.FormatSqlPara(DeviceType);

                if (this.CheckUserIden(CurUserId, CurUserIden) == false)
                {
                    re.Result   = false;
                    re.ErrorMsg = "系统检测到非法获取数据,请传入正确的用户会话Key与用户Id参数!";
                    return(re);
                }
                CPForm form = CPFormTemplate.Instance(CurUserId).GetForm(FormCode, true, true, false, false, false, true);
                form.ViewCol = new List <CPFormView>();
                form.ViewCol.Add(CPFormTemplate.Instance(CurUserId).GetFormView(ViewCode, true));
                //re.Form = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<CPForm, CPFormClient>()
                //                                  .Map(form);
                Mapper.Initialize(cfg =>
                {
                    cfg.CreateMap <CPForm, CPFormClient>();
                });

                re.Form = AutoMapper.Mapper.Map <CPFormClient>(form);
                CPFormGroup rightGroup = CPFormTemplate.Instance(CurUserId).GetFormRightGroup(RightGroupCode, true);
                // re.FieldRightCol = (rightGroup == null ? null : rightGroup.FieldRightCol);
                CPFormGroup initGroup = CPFormTemplate.Instance(CurUserId).GetFormInitGroup(InitGroupCode, true);
                re.Form.FieldInitCol = (initGroup == null ? null : initGroup.FieldInitCol);
                re.ViewHTML          = CPFormTemplate.Instance(CurUserId).FormatFormViewHtml(form, form.FieldCol, form.ViewCol[0],
                                                                                             (rightGroup == null ? null : rightGroup.FieldRightCol),
                                                                                             CPEnum.ConvertDeviceTypeEnum(int.Parse(DeviceType)), true, IsView);
                //获取应用场景
                re.Form.UseSceneCol = new List <CPFormUseScene>();
                re.Form.UseSceneCol.Add(CPFormTemplate.Instance(CurUserId).GetFormUseScene(SceneCode, true));
                re.Form.UseSceneCol.ForEach(t =>
                {
                    t.FormSavedInfo = CPExpressionHelper.Instance.RunCompile(t.FormSavedInfo);

                    //处理按钮是否显示
                    List <CPFormUseSceneFunc> funcCol = new List <CPFormUseSceneFunc>();
                    t.FuncCol.ForEach(func => {
                        if (func.FuncIsShowInView == CPFormEnum.FuncIsShowInViewEnum.ShowAll)
                        {
                            funcCol.Add(func);
                        }
                        else if (func.FuncIsShowInView == CPFormEnum.FuncIsShowInViewEnum.OnlyWriteShow)
                        {
                            if (IsView == false)
                            {
                                funcCol.Add(func);
                            }
                        }
                        else if (func.FuncIsShowInView == CPFormEnum.FuncIsShowInViewEnum.OnlyReadShow)
                        {
                            if (IsView == true)
                            {
                                funcCol.Add(func);
                            }
                        }
                    });
                    #region 添加修改配置按钮
                    if (re.Form.SysId.HasValue && re.Form.SysId.Value.Equals(CPAppContext.InnerSysId) == false)
                    {
                        string UserAdminSysIds = CPExpressionHelper.Instance.RunCompile("${CPUser.UserAdminSysIds()}");
                        if (UserAdminSysIds.Split(',').ToList().Contains(re.Form.SysId.ToString()))
                        {
                            CPFormUseSceneFunc func1 = new CPFormUseSceneFunc();
                            func1.FuncTitle          = "修改配置";
                            func1.ShowOrder          = 999999;
                            func1.FuncIcon           = "icon-shezhi1";
                            func1.IsControlByRight   = false;
                            func1.FuncIsShowInView   = CPFormEnum.FuncIsShowInViewEnum.ShowAll;
                            func1.FuncExeJS          = "CPFormUpdateConfig(" + re.Form.Id + ")";
                            func1.SceneID            = t.Id;
                            funcCol.Add(func1);
                        }
                    }
                    #endregion
                    t.FuncCol = funcCol;
                    t.FuncCol = t.FuncCol.OrderBy(c => c.ShowOrder).ToList();
                });

                //读取真实数据
                re.FormDataJSON = CPFormEngine.Instance(CurUserId).GetFormDataJSON(form, form.ChildTableCol,
                                                                                   form.FieldCol, re.Form.FieldInitCol, PKValues, re.Form.UseSceneCol[0]);
                re.Result = true;
                return(re);
            }
            catch (Exception ex)
            {
                re.Result   = false;
                re.ErrorMsg = ex.Message.ToString();
                return(re);
            }
        }