Example #1
0
        //保存模板
        public JsonResult SaveTemplet(Templet entity)
        {
            JsonResult jsonreslut = new JsonResult();

            try
            {
                string id;
                jsonreslut.result = false;
                if (string.IsNullOrEmpty(entity.ID))
                {
                    new Repository <Templet>().Insert(entity, true, out id);
                }
                else
                {
                    new Repository <Templet>().Update(entity, true, out id);
                }
                jsonreslut.result = true;
            }
            catch (Exception ex)
            {
                LogHelper.WriteException(ex, LogType.BussinessDLL);
                jsonreslut.result = false;
                jsonreslut.msg    = ex.Message;
            }
            return(jsonreslut);
        }
Example #2
0
        /// <summary>
        /// 设置默认模板
        /// </summary>
        /// <param name="templet"></param>
        /// <returns></returns>
        public ActionResult SetCurrent(Templet templet, LoginUser user)
        {
            AjaxResult result = new AjaxResult("设置成功!");

            templet.IsCurrent = true;

            templet.SaveTime = DateTime.Now;

            templet.SaveUser = user.UserName;

            var templets = _unitOfWork.TempletRepository.Get(m => m.FxtCompanyId == user.FxtCompanyId && m.DatType == templet.DatType && m.TempletId != templet.TempletId);

            foreach (var temp in templets)
            {
                if (temp.IsCurrent)
                {
                    temp.IsCurrent = false;

                    temp.SaveTime = DateTime.Now;

                    temp.SaveUser = user.UserName;

                    _unitOfWork.TempletRepository.Update(temp);
                }
            }

            _unitOfWork.Commit();

            return(AjaxJson(result));
        }
Example #3
0
        private void dgv_Data_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int    rowindex    = e.RowIndex;
            int    columnindex = e.ColumnIndex;
            string id          = dgv_Data.Rows[rowindex].Cells["ID"].Value.ToString();

            if (columnindex == 0) //编辑
            {
                lb_ID.Text      = id.ToString();
                tb_Code.Text    = dgv_Data.Rows[rowindex].Cells["Code"].Value.ToString();
                tb_Code.Enabled = false;
                tb_Title.Text   = dgv_Data.Rows[rowindex].Cells["Title"].Value.ToString();
                tb_Remark.Text  = dgv_Data.Rows[rowindex].Cells["Remark"].Value.ToString();
                string FileTypeID = dgv_Data.Rows[rowindex].Cells["FileTypeID"].Value.ToString();

                if (FileTypeID == "")
                {
                    cb_FileType.SelectedValue = 0;
                }
                else
                {
                    cb_FileType.SelectedValue = int.Parse(FileTypeID);
                }
            }
            else if (columnindex == 1)  //删除
            {
                if (MessageBox.Show("确认删除?", "此删除不可恢复", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    if (menuDal.TempletTypeByParentIDGetList(Convert.ToInt32(id)).Count > 0)
                    {
                        MessageBox.Show("请删除子目录。");
                        return;
                    }
                    ITemplet tlDal = new Templet();
                    if (tlDal.TempletByParentIDGetList(Convert.ToInt32(id)).Count > 0)
                    {
                        MessageBox.Show("请删除子目录模板。");
                        return;
                    }
                    if (menuDal.TempletType_Del(Convert.ToInt32(id)) == 1)
                    {
                        QueryData();
                        MessageBox.Show("删除成功。");
                    }
                    else
                    {
                        MessageBox.Show("删除失败。");
                    }
                }
            }
        }
Example #4
0
        /// <summary>
        /// 删除文件夹
        /// </summary>
        /// <param name="path">文件夹路径</param>
        /// <returns>删除文件夹</returns>
        /// Code By DengXi

        protected void DelDir(string path)
        {
            int     result  = 0;
            Templet tpClass = new Templet();

            result = tpClass.Del(path, "", 0);
            if (result == 1)
            {
                PageSuccessMsg("删除文件夹成功!", "", "template_list.aspx");
            }
            else
            {
                PageErrorMsg("参数错误");
            }
        }
Example #5
0
        /// <summary>
        /// 删除文件
        /// </summary>
        /// <param name="path">文件路径</param>
        /// <returns>删除文件</returns>
        /// Code By DengXi

        protected void DelFile(string path, string filename)
        {
            int     result  = 0;
            Templet tpClass = new Templet();

            result = tpClass.Del(path, filename, 1);
            if (result == 1)
            {
                PageSuccessMsg("删除文件成功!", "", "template_list.aspx");
            }
            else
            {
                PageErrorMsg("参数错误");
            }
        }
Example #6
0
        /// <summary>
        /// 修改文件夹名称
        /// </summary>
        /// <param name="path">文件夹路径</param>
        /// <returns>修改文件夹名称</returns>
        /// Code By DengXi


        protected void EidtDirName(string path)
        {
            string str_OldName = Request.QueryString["OldFileName"];
            string str_NewName = Request.QueryString["NewFileName"];

            if (str_OldName == "" || str_OldName == null || str_OldName == string.Empty || str_NewName == "" || str_NewName == null || str_NewName == string.Empty)
            {
                PageErrorMsg("参数传递错误");
            }

            Templet tpClass = new Templet();
            int     result  = tpClass.EidtName(path, str_OldName, str_NewName, 0);
            //if (result == 1)
            //    PageRight("更改文件夹名成功!", s_url);
            //else
            //    PageError("参数传递错误!", s_url);
        }
Example #7
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSaveTemplate_Click(object sender, EventArgs e)
        {
            #region 检查
            if (string.IsNullOrEmpty(cmbType.Text))
            {
                MessageHelper.ShowMsg(MessageID.W000000002, MessageType.Alert, "模板类型");
                return;
            }
            if (string.IsNullOrEmpty(txtTemplateSaveName.Text.ToString()))
            {
                MessageHelper.ShowMsg(MessageID.W000000001, MessageType.Alert, "模板名称");
                return;
            }

            #endregion
            Templet   entity = new Templet();
            ComboItem item   = (ComboItem)cmbType.SelectedItem;
            if (item != null)
            {
                entity.TypeID = item.Value.ToString();
            }
            entity.ID      = ID;
            entity.CREATED = CREATED;
            entity.Name    = txtTemplateSaveName.Text;
            entity.Desc    = txtTemplateDesc.Text;
            if (!string.IsNullOrEmpty(fullfilename))
            {
                entity.FilePath = FileHelper.UploadFile(fullfilename, UploadType.Templet, null, null);
            }

            if (string.IsNullOrEmpty(entity.FilePath) && !string.IsNullOrEmpty(fullfilename))
            {
                return;
            }
            else
            {
                JsonResult json = bll.SaveTemplet(entity);
                MessageHelper.ShowRstMsg(json.result);
                if (json.result)
                {
                    btnClearTemplate_Click(null, null);
                }
                DataBindTemplet();
            }
        }
Example #8
0
        public void CreateCopiedTemplet(long parentTempletId, long referenceTempletId, long pId, string creater)
        {
            Templet templet = new Templet();

            try
            {
                templet.CreateCopiedTemplet(parentTempletId, referenceTempletId, pId, creater);
            }
            catch (Exception e)
            {
                string logMessage = string.Format($"Create child templet error!\n {e.StackTrace}");
                log.Error(logMessage);
                var responseMessge = new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content      = new StringContent(logMessage),
                    ReasonPhrase = "Create child templet ERROR"
                };
                throw new HttpResponseException(responseMessge);
            }
        }
Example #9
0
        public string CreateChildWithoutTemplet(long parentTempletId, string templetName, long pId, string creater)
        {
            Templet templet = new Templet();

            try
            {
                return(templet.CreateTemplet(parentTempletId, templetName, pId, creater));
            }
            catch (Exception e)
            {
                string logMessage = string.Format($"Create child templet error!\n {e.StackTrace}");
                log.Error(logMessage);
                var responseMessge = new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content      = new StringContent(logMessage),
                    ReasonPhrase = "Create child templet ERROR"
                };
                throw new HttpResponseException(responseMessge);
            }
        }
Example #10
0
        public void DeleteTemplet(long parentTempletId, long TempletId, int rlSeqNo)
        {
            Templet templet = new Templet();

            try
            {
                templet.DeleteTemplet(parentTempletId, TempletId, rlSeqNo);
            }
            catch (Exception e)
            {
                string logMessage = string.Format($"Delete templet error!\n {e.StackTrace}");
                log.Error(logMessage);
                var responseMessge = new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content      = new StringContent(logMessage),
                    ReasonPhrase = "Delete templet ERROR"
                };
                throw new HttpResponseException(responseMessge);
            }
        }
Example #11
0
        public void LockTemplet(long templetId)
        {
            Templet templet = new Templet();

            try
            {
                templet.LockTemplet(templetId);
            }
            catch (Exception e)
            {
                string logMessage = string.Format($"Lock templet error!\n {e.StackTrace}");
                log.Error(logMessage);
                var responseMessge = new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content      = new StringContent(logMessage),
                    ReasonPhrase = "Lock templet error"
                };
                throw new HttpResponseException(responseMessge);
            }
        }
        /// <summary>
        /// 显示菜单Treeview
        /// </summary>
        private void QueryMenu()
        {
            nodeid   = 0;
            menuList = menuDal.TempletTypeGetList();
            ITemplet tdal = new Templet();

            templetList = tdal.TempletGetList();

            TreeNode        tn   = new TreeNode("根目录");
            TempletTypeInfo info = new TempletTypeInfo();

            info.ID = 0;
            GetNode(tn, info);
            tn.ExpandAll();
            tv_left.Nodes.Clear();
            tv_left.Nodes.Add(tn);

            nodeMax1 = 0;
            TreeNodeCollection tnc = tv_left.Nodes;

            GetNodeNameMax(tnc);
        }
Example #13
0
        public ActionResult Create(Templet templet, int type, LoginUser user)
        {
            ViewBag.FieldTemplets = _unitOfWork.FieldTempletRepository.Get(m => m.Vaild == 1).ToList();

            if (type == SYSCodeManager.DATATYPECODE_1)
            {
                ViewBag.GroupList = _unitOfWork.FieldGroupTempletRepository.Get(m => m.FxtCompanyId == user.FxtCompanyId && m.DatType == SYSCodeManager.DATATYPECODE_1 && m.Vaild == 1).OrderBy(m => m.Sort).ToList();

                return(View("CreateProject", templet ?? new Templet()));
            }
            else if (type == SYSCodeManager.DATATYPECODE_2)
            {
                ViewBag.GroupList = _unitOfWork.FieldGroupTempletRepository.Get(m => m.FxtCompanyId == user.FxtCompanyId && m.DatType == SYSCodeManager.DATATYPECODE_2 && m.Vaild == 1).OrderBy(m => m.Sort).ToList();

                return(View("CreateBuilding", templet ?? new Templet()));
            }
            else
            {
                ViewBag.GroupList = _unitOfWork.FieldGroupTempletRepository.Get(m => m.FxtCompanyId == user.FxtCompanyId && m.DatType == SYSCodeManager.DATATYPECODE_4 && m.Vaild == 1).OrderBy(m => m.Sort).ToList();

                return(View("CreateHouse", templet ?? new Templet()));
            }
        }
        //初始化变量
        void InitializeVariable( )
        {
            picturebox.MouseDown += new MouseEventHandler(pictureBox_MouseDown);
            picturebox.MouseMove += new MouseEventHandler(pictureBox_MouseMove);
            picturebox.MouseUp += new MouseEventHandler(pictureBox_MouseUp);
            picturebox.MouseLeave += new EventHandler(picturebox_MouseLeave);
            picturebox.Paint += new PaintEventHandler(AutoPaintRectangle);

            foreach (Button tmp in Designtools.Controls) //设计框内的所有按钮初始化为disable状态
            {
                tmp.Enabled = false;
            }

            ExistNumber = new List<int>();//初始化一个队列,记录哪些数字在模板识别中存在

            AddBorder.Enabled = false;
            CutNumberBmp.Enabled = false;

            MakeMod .Enabled = false;
            SetMod.Enabled = false; //初始化步骤按钮的使能为false

            tooltip = new ToolTip(); //初始化提示控件

            DatagridviewgroupBox.Text = null;
            //RecordList = new List<Record>();
            if (!File.Exists(savePath + "\\feather.h"))//若feather.h文件不存在,则新建一个空的文件
            {
                string InitFeather = null;
                for (int i = 0; i < 12053; i++)
                {
                    InitFeather += "0,";
                }
                InitFeather += "0";
                string data = " image_data_packet_desc_type  image_data_packet_desc={" + InitFeather + "};";
                StreamWriter streamwriter = File.CreateText(savePath + "\\" + "feather.h");
                streamwriter.WriteLine(data);
                streamwriter.Close();
            }

            BorderdataGrid.ColumnHeadersVisible = false;
            BorderdataGrid.RowHeadersVisible = false;
            FeatherdataGrid.ColumnHeadersVisible = false;
            FeatherdataGrid.RowHeadersVisible = false;
              //  savePath = currentPath;

            templetFlag = new Templet();
            templetFlag.templetName = null;
            templetFlag.templetSize = new System.Drawing.Size(0, 0);
            templetFlag.templetPoint = new Point(-1, -1);
            templetFlag.feathers.featherPoints = new featherRgnstruct[NumberPoints*10];
            for (int i = 0; i < NumberPoints*10; i++)
            {
                templetFlag.feathers.featherPoints[i].featherNum = 0;
                templetFlag.feathers.featherPoints[i].rec = new Rectangle(0, 0, 0, 0);
            }
        }
Example #15
0
        /// <summary>
        /// 生成单元室号模板
        /// </summary>
        /// <param name="house">单元室号</param>
        /// <param name="templet">模板</param>
        /// <returns></returns>
        public TempletDto CreateHouseTempletDto(House house, Templet templet)
        {
            TempletDto templetDto = new TempletDto();

            templetDto.TempletId = templet.TempletId;

            templetDto.TempletName = templet.TempletName;

            templetDto.FieldGroups = new List <FieldGroupDto>();

            //获取实体属性
            var propertys = house.GetType().GetProperties();

            foreach (var fieldGroup in templet.FieldGroups)
            {
                FieldGroupDto fieldGroupDto = new FieldGroupDto();

                fieldGroupDto.FieldGroupName = fieldGroup.FieldGroupName;

                fieldGroupDto.Fields = new List <FieldDto>();

                if (fieldGroup.Fields != null && fieldGroup.Fields.Count > 0)
                {
                    foreach (var field in fieldGroup.Fields)
                    {
                        FieldDto fieldDto = new FieldDto();
                        fieldDto.EdiTextType = field.EdiTextType;
                        fieldDto.FieldName   = field.FieldName;
                        //fieldDto.FieldType = field.FieldType;
                        fieldDto.Title      = field.Title;
                        fieldDto.MaxLength  = field.MaxLength;
                        fieldDto.MinLength  = field.MinLength;
                        fieldDto.IsRequired = field.IsRequired;
                        fieldDto.IsNull     = field.IsNull;

                        switch (field.FieldType)
                        {
                        case 1:
                            fieldDto.Type = "E";
                            break;

                        case 2:
                            fieldDto.Type = "T";
                            break;

                        case 3:
                            fieldDto.Type = "R";
                            break;

                        case 5:
                            fieldDto.Type = "C";
                            break;

                        case 6:
                            fieldDto.Type = "DT";
                            break;

                        default:
                            break;
                        }

                        List <FxtDataAcquisition.Domain.Models.SYSCode> codes = new List <FxtDataAcquisition.Domain.Models.SYSCode>();

                        switch (field.FieldName)
                        {
                        case "StructureCode":
                            codes = _codeService.StructureCodeManager();
                            break;

                        case "VDCode":
                            codes = _codeService.LevelManager();
                            break;

                        case "NoiseCode":
                            codes = _codeService.NoiseManager();
                            break;

                        case "PurposeCode":
                            codes = _codeService.HousePurposeCodeManager();
                            break;

                        case "FrontCode":
                            codes = _codeService.HouseFrontCodeManager();
                            break;

                        case "SightCode":
                            codes = _codeService.HouseSightCodeManager();
                            break;

                        case "HouseTypeCode":
                            codes = _codeService.HouseTypeCodeManager();
                            break;

                        case "SubHouseType":
                            codes = _codeService.HouseSubHouseTypeManager();
                            break;

                        case "FitmentCode":
                            codes = _codeService.HouseFitmentCodeTypeManager();
                            break;

                        default:
                            break;
                        }

                        //取值
                        var property = propertys.Where(pInfo => pInfo.Name == field.FieldName).FirstOrDefault();

                        if (property != null)
                        {
                            var value = property.GetValue(house);

                            if (value != null)
                            {
                                if (value is DateTime)
                                {
                                    fieldDto.Value = DateTime.Parse(value.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
                                }
                                else
                                {
                                    fieldDto.Value = value.ToString();

                                    if (codes != null && codes.Count > 0)
                                    {
                                        //选项值
                                        if (fieldDto.FieldType == 3)
                                        {
                                            var code = codes.FirstOrDefault(m => m.Code == int.Parse(fieldDto.Value));

                                            fieldDto.Value = code == null ? "" : code.CodeName;
                                        }
                                        else if (fieldDto.FieldType == 5)
                                        {
                                            //多选
                                            var vs = fieldDto.Value.Split(',').ConvertToIntList();

                                            var codeList = codes.Where(m => vs.Contains(m.Code));

                                            if (codeList != null)
                                            {
                                                var vsname = codeList.Select(m => m.CodeName);

                                                fieldDto.Value = string.Join(",", vsname);
                                            }
                                        }

                                        fieldDto.Choise = codes.Select(m => m.CodeName).ToList();
                                    }
                                }
                            }
                        }

                        fieldGroupDto.Fields.Add(fieldDto);
                    }
                }

                templetDto.FieldGroups.Add(fieldGroupDto);
            }

            return(templetDto);
        }
Example #16
0
        public ActionResult Create(string formeditor, Templet templet, LoginUser user, List <FieldDto> selects)
        {
            AjaxResult result = new AjaxResult("保存成功!");

            #region 是否已存在

            Templet isExists = null;

            if (templet.TempletId > 0)
            {
                isExists = _unitOfWork.TempletRepository.GetBy(m => m.TempletName == templet.TempletName && m.FxtCompanyId == user.FxtCompanyId && m.Vaild == 1 && m.TempletId != templet.TempletId);
            }
            else
            {
                isExists = _unitOfWork.TempletRepository.GetBy(m => m.TempletName == templet.TempletName && m.FxtCompanyId == user.FxtCompanyId && m.Vaild == 1);
            }

            if (isExists != null)
            {
                result.Result = false;

                result.Message = "模板已存在!";

                return(AjaxJson(result));
            }

            #endregion

            #region

            //var templet = new Templet();

            //获取分组标签
            var pregGroup = @"<fieldset.*?</fieldset>";

            MatchCollection matchs = Regex.Matches(formeditor, pregGroup);

            //必选
            List <string> isselects = new List <string>();

            if (matchs != null && matchs.Count > 0)
            {
                for (int i = 0; i < matchs.Count; i++)
                {
                    //取分组
                    var pregGroupName = "groupname=\"(.?|.+?)\"";

                    Match gourpMatch = Regex.Match(matchs[i].Value, pregGroupName);

                    if (!gourpMatch.Value.IsNullOrEmpty())
                    {
                        string groupName = gourpMatch.Value.Split('=')[1].Replace(@"\", "").Replace("\"", "");

                        if (!groupName.IsNullOrEmpty())
                        {
                            var fieldGroup = new FieldGroup();

                            fieldGroup.FieldGroupName = groupName;

                            fieldGroup.Sort = i;

                            fieldGroup.AddUser = user.UserName;

                            fieldGroup.AddTime = DateTime.Now;

                            fieldGroup.Vaild = 1;

                            _unitOfWork.FieldGroupRepository.Delete(m => m.TempletId == templet.TempletId);

                            templet.FieldGroups = templet.FieldGroups == null ? new List <FieldGroup>() : templet.FieldGroups;
                            //templet.FieldGroups = new List<FieldGroup>();

                            templet.FieldGroups.Add(fieldGroup);

                            //获取字段标签
                            var preg = @"<(img|input|textarea|select|fieldset).*?(</select>|</textarea>|</fieldset>|>)";

                            MatchCollection fieldMatchs = Regex.Matches(matchs[i].Value, preg);

                            if (fieldMatchs != null && fieldMatchs.Count > 0)
                            {
                                for (int f = 0; f < fieldMatchs.Count; f++)
                                {
                                    //取字段
                                    var pregFieldName = "fieldname=\"(.?|.+?)\"";

                                    Match fieldMatch = Regex.Match(fieldMatchs[f].Value, pregFieldName);

                                    if (!string.IsNullOrEmpty(fieldMatch.Value))
                                    {
                                        string fieldName = fieldMatch.Value.Split('=')[1].Replace(@"\", "").Replace("\"", "");

                                        if (!fieldName.IsNullOrEmpty())
                                        {
                                            //字段类型
                                            var pregFieldType = "fieldtype=\"(.?|.+?)\"";

                                            Match fieldTypeMatch = Regex.Match(fieldMatchs[f].Value, pregFieldType);

                                            string fieldType = fieldTypeMatch.Value.Split('=')[1].Replace(@"\", "").Replace("\"", "");

                                            //标题
                                            var pregFieldTitle = "title=\"(.?|.+?)\"";

                                            Match fieldTitleMatch = Regex.Match(fieldMatchs[f].Value, pregFieldTitle);

                                            string fieldTitle = fieldTitleMatch.Value.Split('=')[1].Replace(@"\", "").Replace("\"", "");

                                            //字段最大长度
                                            var pregFieldMaxLength = "fieldmaxlength=\"(.?|.+?)\"";

                                            Match fieldMaxLengthMatch = Regex.Match(fieldMatchs[f].Value, pregFieldMaxLength);

                                            string[] fieldMaxLengths = fieldMaxLengthMatch.Value.Split('=');

                                            string fieldMaxLength = fieldMaxLengths.Length > 1 ? fieldMaxLengths[1].Replace(@"\", "").Replace("\"", "") : "";

                                            //字段最小长度
                                            var pregFieldMinLength = "fieldminlength=\"(.?|.+?)\"";

                                            Match fieldMinLengthMatch = Regex.Match(fieldMatchs[f].Value, pregFieldMinLength);

                                            string[] fieldMinLengths = fieldMinLengthMatch.Value.Split('=');

                                            string fieldMinLength = fieldMinLengths.Length > 1 ? fieldMaxLengths[1].Replace(@"\", "").Replace("\"", "") : "";

                                            //必填
                                            var pregFieldIsRequire = "fieldisrequire=\"(.?|.+?)\"";

                                            Match pregFieldIsRequireMatch = Regex.Match(fieldMatchs[f].Value, pregFieldIsRequire);

                                            string[] fieldIsRequires = pregFieldIsRequireMatch.Value.Split('=');

                                            string fieldIsRequire = fieldIsRequires.Length > 1 ? fieldIsRequires[1].Replace(@"\", "").Replace("\"", "") : "";

                                            //可空
                                            var pregFieldIsNull = "fieldisnull=\"(.?|.+?)\"";

                                            Match pregFieldIsNullMatch = Regex.Match(fieldMatchs[f].Value, pregFieldIsNull);

                                            string[] fieldIsNulls = pregFieldIsNullMatch.Value.Split('=');

                                            string fieldIsNull = fieldIsNulls.Length > 1 ? fieldIsNulls[1].Replace(@"\", "").Replace("\"", "") : "";

                                            //必选
                                            var pregFieldIsSelect = "fieldisselect=\"(.?|.+?)\"";

                                            Match pregFieldIsSelectMatch = Regex.Match(fieldMatchs[f].Value, pregFieldIsSelect);

                                            string[] fieldIsSelects = pregFieldIsSelectMatch.Value.Split('=');

                                            string fieldIsSelect = fieldIsSelects.Length > 1 ? fieldIsSelects[1].Replace(@"\", "").Replace("\"", "") : "";

                                            //字段值类型
                                            var pregFieldEditextType = "fieldeditexttype=\"(.?|.+?)\"";

                                            Match pregFieldEditextTypeMatch = Regex.Match(fieldMatchs[f].Value, pregFieldEditextType);

                                            string[] fieldeditexttypes = pregFieldEditextTypeMatch.Value.Split('=');

                                            string fieldeditexttype = fieldeditexttypes.Length > 1 ? fieldeditexttypes[1].Replace(@"\", "").Replace("\"", "") : "";

                                            //默认值
                                            var pregfielddefultvalue = "fielddefultvalue=\"(.?|.+?)\"";

                                            Match pregfielddefultvalueMatch = Regex.Match(fieldMatchs[f].Value, pregfielddefultvalue);

                                            string[] fielddefultvalues = pregfielddefultvalueMatch.Value.Split('=');

                                            string fielddefultvalue = fielddefultvalues.Length > 1 ? fielddefultvalues[1].Replace(@"\", "").Replace("\"", "") : "";

                                            //选项值
                                            //var pregfieldchoise = "fieldchoise=\"(.?|.+?)\"";

                                            //Match pregfieldchoiseMatch = Regex.Match(fieldMatchs[f].Value, pregfieldchoise);

                                            //string[] fieldchoises = pregfieldchoiseMatch.Value.Split('=');

                                            //string fieldchoise = fieldchoises.Length > 1 ? fieldchoises[1].Replace(@"\", "").Replace("\"", "") : "";

                                            var field = new Field();

                                            field.FieldName = fieldName;

                                            field.Title = fieldTitle;

                                            int maxlength = 0;
                                            if (int.TryParse(fieldMaxLength, out maxlength))
                                            {
                                                field.MaxLength = maxlength;
                                            }

                                            int minlength = 0;
                                            if (int.TryParse(fieldMinLength, out maxlength))
                                            {
                                                field.MinLength = minlength;
                                            }

                                            int isrequire = 0;
                                            if (int.TryParse(fieldIsRequire, out isrequire))
                                            {
                                                field.IsRequired = isrequire;
                                            }
                                            else
                                            {
                                                field.IsRequired = 0;
                                            }

                                            int isnull = 0;
                                            if (int.TryParse(fieldIsNull, out isnull))
                                            {
                                                field.IsNull = isnull;
                                            }
                                            else
                                            {
                                                field.IsNull = 0;
                                            }

                                            int editexttype = 0;
                                            if (int.TryParse(fieldeditexttype, out editexttype))
                                            {
                                                field.EdiTextType = editexttype;
                                            }

                                            int isselect = 0;
                                            if (int.TryParse(fieldIsSelect, out isselect) && isselect > 0)
                                            {
                                                isselects.Add(fieldName);
                                                field.IsSelect = isselect;
                                            }
                                            else
                                            {
                                                field.IsSelect = 0;
                                            }

                                            field.DefaultValue = fielddefultvalue;

                                            //field.Choise = fieldchoise;

                                            int filetype = 0;
                                            if (int.TryParse(fieldType, out filetype))
                                            {
                                                field.FieldType = filetype;

                                                switch (filetype)
                                                {
                                                case 1:
                                                    field.Type = "E";
                                                    break;

                                                case 2:
                                                    field.Type = "T";
                                                    break;

                                                case 3:
                                                    field.Type = "R";
                                                    break;

                                                case 5:
                                                    field.Type = "C";
                                                    break;

                                                case 6:
                                                    field.Type = "DT";
                                                    break;

                                                default:
                                                    break;
                                                }
                                            }

                                            field.Sort = f;

                                            field.AddUser = user.UserName;

                                            field.AddTime = DateTime.Now;

                                            field.Vaild = 1;

                                            _unitOfWork.FieldRepository.Delete(m => m.FieldGroupId == fieldGroup.FieldGroupId);

                                            fieldGroup.Fields = fieldGroup.Fields == null ? new List <Field>() : fieldGroup.Fields;
                                            //fieldGroup.Fields = new List<Field>();

                                            fieldGroup.Fields.Add(field);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            //必选
            if (selects != null && selects.Count() > 0)
            {
                var isse = selects.Select(m => m.FieldName).Except(isselects);

                if (isse != null && isse.Count() > 0)
                {
                    string msg = string.Join(",", selects.Where(m => isse.Contains(m.FieldName)).Select(m => m.Title));

                    result.Result = false;

                    result.Message = "请选择必选字段:" + msg;

                    return(AjaxJson(result));
                }
            }

            //templet.TempletName = formname;

            if (templet.TempletId > 0)
            {
                templet.SaveUser = user.UserName;

                templet.SaveTime = DateTime.Now;
            }
            else
            {
                templet.AddUser = user.UserName;

                templet.AddTime = DateTime.Now;

                //templet.DatType = datType;

                templet.FxtCompanyId = user.FxtCompanyId;

                templet.Vaild = 1;

                _unitOfWork.TempletRepository.Insert(templet);
            }

            _unitOfWork.Commit();

            #endregion

            return(AjaxJson(result));
        }
        private void SetTempletbutton1_Click(object sender, EventArgs e)
        {
            if (SetTemplettextBox1.Text != null)
            {
                if (!Directory.Exists(savePath + "\\NumberBmp" + "\\" + SetTemplettextBox1.Text))
                {
                    Directory.CreateDirectory(savePath + "\\NumberBmp" + "\\" + SetTemplettextBox1.Text);
                    Templet templet = new Templet();
                    templet.templetName = SetTemplettextBox1.Text;
                    CurrentTempletName = SetTemplettextBox1.Text;
                    SetTemplettextBox2.Text = null;
                    SetTemplettextBox3.Text = null;
                    //if(SetTemplettextBox3.)
                    templet.templetSize = new Size(0, 0);
                    templet.feathers.featherPoints = new featherRgnstruct[NumberPoints*10];
                    for (int i = 0; i < NumberPoints*10; i++)
                    {
                        templet.feathers.featherPoints[i].featherNum = 0;
                        templet.feathers.featherPoints[i].rec = new Rectangle(0, 0, 0, 0);
                    }
                    templetFlag = templet;
                }
                else
                {
                    DialogResult result= MessageBox.Show("该名字模板已存在,是否覆盖原有数据","提示",MessageBoxButtons.OKCancel);
                    if (result.Equals(DialogResult.OK))
                    {
                        if (borderRegion != null)
                        {
                            borderRegion.Clear();
                            showborder.Clear();
                            BorderdataGrid.Rows.Clear();
                        }
                        Directory.Delete(savePath + "\\NumberBmp" +"\\"+ SetTemplettextBox1.Text, true);
                        Directory.CreateDirectory(savePath + "\\NumberBmp" + "\\" + SetTemplettextBox1.Text);
                        Templet templet = new Templet();
                        templet.templetName = SetTemplettextBox1.Text;
                        //if(SetTemplettextBox3.)
                        SetTemplettextBox2.Text = "";
                        SetTemplettextBox3.Text = "";
                        templet.templetPoint = new Point(0, 0);
                        templet.templetSize = new Size(0, 0);

                        templet.feathers.featherPoints = new featherRgnstruct[NumberPoints*10];
                        for (int i = 0; i < NumberPoints*10; i++)
                        {
                            templet.feathers.featherPoints[i].featherNum = 0;
                            templet.feathers.featherPoints[i].rec = new Rectangle(0, 0, 0, 0);
                        }
                        CurrentTempletName = SetTemplettextBox1.Text;
                        templetFlag = templet;
                    }
                    else if (result.Equals(DialogResult.Cancel))
                    {
                        CurrentTempletName = SetTemplettextBox1.Text;
                        templetFlag.templetName = SetTemplettextBox1.Text;
                        if (File.Exists(savePath + "\\NumberBmp" + "\\" + SetTemplettextBox1.Text + "\\" + "templet.txt"))
                        {
                            string streamreader = File.ReadAllText(savePath + "\\NumberBmp" + "\\" + SetTemplettextBox1.Text + "\\" + "templet.txt");
                            string[] Templetdata = streamreader.Split(',');
                            templetFlag.templetPoint = new Point(int.Parse(Templetdata[1]), int.Parse(Templetdata[2]));
                            templetFlag.templetSize = new System.Drawing.Size(int.Parse(Templetdata[3]), int.Parse(Templetdata[4]));
                            SetTemplettextBox2.Text = Templetdata[1] + "," + Templetdata[2];  //将文件里存的模板大小位置信息给到截取模板文本框内
                            SetTemplettextBox3.Text = Templetdata[3] + "," + Templetdata[4];
                            isShowTemplateBorder = true; //绘制模板框

                            for (int i = 0; i < NumberPoints*10; i++)
                            {
                                featherRgnstruct tmp = new featherRgnstruct();
                                tmp.rec = new Rectangle(int.Parse(Templetdata[5 + 4 * i]), int.Parse(Templetdata[6 + 4 * i]), 3, 3);
                                tmp.Pixel = int.Parse(Templetdata[7 + 4 * i]);
                                tmp.featherNum = int.Parse(Templetdata[8 + 4 * i]);

                                if (tmp.featherNum != 0)
                                {
                                    tmp.classifyNUM = i / NumberPoints;
                                }
                                templetFlag.feathers.featherPoints[i] = tmp;

                            }

                            NextStep.Enabled = true;
                            SetTemplettextBox2.Text = Templetdata[1].ToString() + "," + Templetdata[2].ToString();
                            SetTemplettextBox3.Text = Templetdata[3].ToString() + "," + Templetdata[4].ToString();
                        }
                        else
                        {
                        }
                    }
                }
                picturebox.Invalidate();
                DrawTempleBorder.Enabled = true;
                SetTemplettextBox3.Enabled = true;
                SetTemplettextBox2.Enabled = true;
            }
            else
            {
                MessageBox.Show("请输入模板名");
            }
        }