public string SubmitItem(DicItem itemsDetailEntity, string keyValue) { var list = new List <DicItem>(); var expression = ExtLinq.True <DicItem>(); if (!string.IsNullOrEmpty(keyValue)) { expression = expression.And(t => t.ItemId == itemsDetailEntity.ItemId); expression = expression.And(t => t.Code == itemsDetailEntity.Code); expression = expression.And(t => t.Id != keyValue); list = Read(expression).ToList(); if (list.Count > 0) { return("重复的编码"); } var data = Get <Dic>(keyValue); itemsDetailEntity.MapTo(data); data.Id = (keyValue); SaveChanges(); } else { expression = expression.And(t => t.ItemId == itemsDetailEntity.ItemId); expression = expression.And(t => t.Code == itemsDetailEntity.Code); list = Read(expression).ToList(); if (list.Count > 0) { return("重复的编码"); } itemsDetailEntity.Id = Guid.NewGuid().ToString("N").ToUpper(); AddAndSave(itemsDetailEntity); } return(""); }
public static IList <DicItem> GetEnumDataSource(string enumKey, string category = "", string subCategory = "") { DataTable dt = GetEnumTable(enumKey, category, subCategory); IList <DicItem> list = new List <DicItem>(); foreach (DataRow row in dt.Rows) { var dicItem = new DicItem { Text = row["text"].ToString(), Value = row["value"].ToString() }; if (dt.Columns.Contains("category")) { dicItem.Category = row["category"].ToString(); } if (dt.Columns.Contains("subCategory")) { dicItem.SubCategory = row["subCategory"].ToString(); } list.Add(dicItem); } return(list); }
public DicMeta Create() { var dicType = DicType.AutoCreateFromAttribute(x => Dic_DicTypeCode.OrgType, typeof(Dic_DicTypeCode)); var dicMeta = DicMeta.Create(dicType); var orgTypeItems = DicItem.AutoCreateAllFromAttribute(typeof(Dic_OrgTypeCode), Dic_DicTypeCode.OrgType); dicMeta.DicItems = orgTypeItems.Cast <IDicItem>().ToList(); return(dicMeta); }
public DicItem ToDicItem() { DicItem dicItem = new DicItem(); dicItem.Id = Id; dicItem.Key = Key; dicItem.IsForDesign = IsForDesign; dicItem.Tr = Tr; dicItem.En = En; return(dicItem); }
//protected string GetDicValue(string key, params string[] param) //{ // Enums.Languages language = Enums.Languages.Turkce; // if (Session != null) // { // RealPersonBo realPersonBo = Session.RealPerson; // if (realPersonBo != null) // language = realPersonBo.LanguageId; // } // return GetDicValue(key, language, param); //} public static string GetbyLang(DicItem dicItem, Enums.Languages language) { switch (language) { case Enums.Languages.xTurkish: return(dicItem.Tr); case Enums.Languages.xEnglish: return(dicItem.En); default: return(dicItem.Tr); } }
public static string GetDicValue(string key, Enums.Languages language, params string[] param) { if (Stc.DicItemList == null || Stc.DicItemList.Count == 0) { return(key); } DicItem item = Stc.DicItemList.Where(x => x.Key == key).FirstOrDefault(); if (item == null) { return(key); } return(GetbyLang(item, language)); }
public static Guid GetDicChangeSetId(Enums.Languages langId) { Guid result; DicItem dicItem = DicItemList.Where(x => x.Id == -1).First(); switch (langId) { case Enums.Languages.xTurkish: result = dicItem.Tr.ToGuid(); break; case Enums.Languages.xEnglish: result = dicItem.En.ToGuid(); break; default: result = dicItem.Tr.ToGuid(); break; } return(result); }
static void ReadLangFile(string filePath, List <DicItem> Lists) { if (Lists == null) { Lists = new List <DicItem>(); } var file = File.Open(filePath, FileMode.Open); List <string> txt = new List <string>(); LoadTextData(file, txt); file.Close(); file.Dispose(); string fileName = System.IO.Path.GetFileNameWithoutExtension(filePath) + "_"; foreach (var item in txt) { string[] resultString = Regex.Split(item, splitStr, RegexOptions.IgnoreCase); DicItem d = new DicItem(); d.Key = resultString[0].Replace("\\r\\n", Environment.NewLine).Trim('\"'); d.TargetValue = resultString[1].Replace("\\r\\n", Environment.NewLine).Trim('\"'); d.NamePrex = fileName; Lists.Add(d); } }
public DicItem ParseDic(string raw) { HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(raw); HtmlNodeCollection links = doc.DocumentNode.SelectNodes("//a[@href]");//the parameter is use xpath see: https://www.w3schools.com/xml/xml_xpath.asp DicItem di = new DicItem(); var fromwebnode = doc.DocumentNode.SelectSingleNode("//img[contains(@src,'/btn_collect.gif')]") ?? doc.DocumentNode.SelectSingleNode("//img[contains(@src,'/bg_opendict.gif')]"); if (fromwebnode != null) { //웹수집은 건너뛰자 return(null); } var yominode = doc.DocumentNode.SelectSingleNode("//span[@class=\"maintitle\"]"); if (yominode != null) { di.Yomi = WebUtility.HtmlDecode(yominode.InnerText); if (Regex.Match(di.Yomi, @"[^ぁ-んァ-ンー*]").Success) { return(null); } } var mainnode = doc.DocumentNode.SelectSingleNode("//h3/em"); if (mainnode != null) { var words = WebUtility.HtmlDecode(mainnode.InnerText).Replace("[", "").Replace("]", "").Split(new string[] { "·" }, StringSplitOptions.RemoveEmptyEntries).ToList(); int i = 0; while (i < words.Count) { if (words[i] == di.Yomi) { words.Remove(di.Yomi); } else { if (di.Word != null) { di.Word += ", "; } di.Word += words[i]; i++; } } } var summarynode = doc.DocumentNode.SelectSingleNode("//div[@class=\"spot_area\"]/p"); if (summarynode != null) { di.Summary = WebUtility.HtmlDecode(summarynode.InnerText); } var typenode = doc.DocumentNode.SelectSingleNode("//div[@class=\"tc-panels\"]//h5"); if (typenode != null) { di.Type = WebUtility.HtmlDecode(typenode.InnerText); } var meaning = doc.DocumentNode.SelectNodes("//li[@class=\"inner_lst\"]/span"); if (meaning != null) { for (int i = 0; i < meaning.Count; i++) { di.Content += string.Format("{0}. {1}", i + 1, WebUtility.HtmlDecode(meaning[i].InnerText)) + "\n"; } } var starnode = doc.DocumentNode.SelectSingleNode("//div[@class=\"spot_area\"]//img[@class=\"star\"]"); if (starnode != null) { string cname = starnode.Attributes["src"].Value; Match m = Regex.Match(cname, @"(?<star>\d).gif$"); if (m.Success) { di.Stars = Convert.ToInt32(m.Groups["star"].Value); } else { di.Stars = 1; } } var jlptnode = doc.DocumentNode.SelectSingleNode("//div[@class=\"spot_area\"]//a[contains(@class,'jlpt')]/span"); if (jlptnode != null) { string cname = jlptnode.InnerText; Match m = Regex.Match(cname, @"\d"); if (m.Success) { di.JLPT = m.Value; } } return(di); }
public static Dictionary <string, DicItem[]> GetMany(string keys) { var dics = DicItem.GetDics(keys.Split(",")); return(dics); }
public static DicItem[] Get(string key) { var dic = DicItem.GetDics(key).ElementAt(0).Value; return(dic); }
public static QrCodeDTO GetProductDetail(string id, decimal versionnumber) { var formDic = new List <DicItem>(); var subFormDic = new List <DicItem>(); var result = new QrCodeDTO { AuditStep = "" }; var SqlHelper = SQLHelper.CreateSqlHelper("Project"); var sql = "select * from S_E_ProductVersion with(nolock) where ProductID='" + id + "' and Version='" + versionnumber + "'"; var version = SqlHelper.ExecuteDataTable(sql).AsEnumerable().FirstOrDefault(); if (version == null) { throw new Exception("没有找到ID为【" + id + "】,版本为【" + versionnumber.ToString() + "】的成品图纸"); } sql = "select * from S_I_ProjectInfo where ID='" + version["ProjectInfoID"].ToString() + "'"; var project = SqlHelper.ExecuteDataTable(sql).AsEnumerable().FirstOrDefault(); if (project == null) { throw new Exception("没有找到指定的成品图纸"); } sql = "select * from S_W_WBS with(nolock) where ProjectInfoID='" + version["ProjectInfoID"].ToString() + "'"; var wbsList = SqlHelper.ExecuteDataTable(sql).AsEnumerable().Where(a => version["WBSFullID"].ToString().StartsWith(a["FullID"].ToString())); var FormDics = new List <Dictionary <string, string> >(); try { string strDLLPath = System.Reflection.Assembly.GetExecutingAssembly().CodeBase; strDLLPath = strDLLPath.Substring(8); string filePath = Path.GetDirectoryName(strDLLPath) + "\\QrCodeItems.json"; if (System.IO.File.Exists(filePath)) { using (StreamReader sr = new StreamReader(filePath, Encoding.UTF8)) { byte[] mybyte = Encoding.UTF8.GetBytes(sr.ReadToEnd()); var jsonString = Encoding.UTF8.GetString(mybyte); var json = JsonHelper.ToObject(jsonString); FormDics = JsonHelper.ToObject <List <Dictionary <string, string> > >(json["FormDic_Product"].ToString()); } } } catch (Exception) { throw new Exception("Json配置文件出错"); } result.ID = version["ID"].ToString(); result.Title = version["Name"].ToString(); result.SubTitle = version["Code"].ToString(); //获取子项、专业等WBS节点 var wbsListDic = new Dictionary <string, DataRow>(); var wbsTypes = Enum.GetNames(typeof(QrCodeView.Models.WBSType)); foreach (var wbsType in wbsTypes) { var dataRow = wbsList.FirstOrDefault(a => a["WBSType"].ToString() == wbsType); if (dataRow != null) { wbsListDic.Add(wbsType, dataRow); } } var subproject = wbsList.FirstOrDefault(a => a["WBSType"].ToString() == WBSType.SubProject.ToString()); var area = wbsList.FirstOrDefault(a => a["WBSType"].ToString() == WBSType.Area.ToString()); var device = wbsList.FirstOrDefault(a => a["WBSType"].ToString() == WBSType.Device.ToString()); var major = wbsList.FirstOrDefault(a => a["WBSType"].ToString() == WBSType.Major.ToString()); var work = wbsList.FirstOrDefault(a => a["WBSType"].ToString() == WBSType.Work.ToString()); //获取成果的图框信息 var frameDic = new Dictionary <string, string>(); var frameDicList = new List <AttburiteColInfo>(); var isOld = true; if (version.Table.Columns.Contains("FrameAllAttInfo")) { if (!string.IsNullOrEmpty(version["FrameAllAttInfo"].ToString())) { if (version["FrameAllAttInfo"].ToString().StartsWith("{")) { isOld = true; frameDic = JsonHelper.ToObject <Dictionary <string, string> >(version["FrameAllAttInfo"].ToString()); } else { isOld = false; frameDicList = JsonHelper.ToObject <List <AttburiteColInfo> >(version["FrameAllAttInfo"].ToString()); } } } foreach (var f in FormDics) { var dic = new DicItem(); dic.FieldName = f.GetValue("FieldName"); var valueFrom = f.GetValue("ValueFrom"); var fieldCode = f.GetValue("FieldCode"); var frameItems = f.GetValue("FrameItems"); if (valueFrom.Equals(ValueFrom.FieldValue.ToString(), StringComparison.OrdinalIgnoreCase)) { dic.FieldValue = f["FieldValue"]; } else if (valueFrom.Equals(ValueFrom.FrameInfo.ToString(), StringComparison.OrdinalIgnoreCase)) { dic.FieldValue = f["FrameItems"]; //修订算法,支持找不到设为空 2019-3-31 if (dic.FieldValue.IndexOf('}') >= 0) { string[] _keyDics1 = dic.FieldValue.Split('}'); foreach (var key1 in _keyDics1) { string[] _keyDics2 = key1.Split('{'); if (_keyDics2.Length > -1) { string key2 = _keyDics2.Last(); if (isOld) { dic.FieldValue = dic.FieldValue.Replace("{" + key2 + "}", frameDic.GetValue(key2)); } else { var frameValue = frameDicList.FirstOrDefault(a => a.Name == key2); dic.FieldValue = dic.FieldValue.Replace("{" + key2 + "}", frameValue == null ? "" : frameValue.Value); } } } } } else if (valueFrom.IndexOf('.') >= 0) { var adapters = valueFrom.Split('.'); if (adapters.Length > 0) { var tableName = adapters[0]; var columnName = adapters.Last(); if (tableName.Equals(TableName.S_I_ProjectInfo.ToString(), StringComparison.OrdinalIgnoreCase)) { if (project.Table.Columns.Contains(columnName)) { dic.FieldValue = project[columnName].ToString(); } } else if (tableName.Equals(TableName.S_E_ProductVersion.ToString(), StringComparison.OrdinalIgnoreCase)) { if (version.Table.Columns.Contains(columnName)) { dic.FieldValue = version[columnName].ToString(); } } else if (adapters.Length > 1) { var type = adapters[1]; var wbs = wbsListDic.GetValue(type); if (wbs != null && wbs.Table.Columns.Contains(columnName)) { dic.FieldValue = wbs[columnName].ToString(); } } } } else { switch (f["FieldCode"]) { case "Customer": if (project.Table.Columns.Contains("CustomerName")) { dic.FieldValue = project["CustomerName"].ToString(); } break; case "Name": if (version.Table.Columns.Contains("Name")) { dic.FieldValue = version["Name"].ToString(); } break; case "Code": if (version.Table.Columns.Contains("Code")) { dic.FieldValue = version["Code"].ToString(); } break; case "ProjectInfoName": if (project.Table.Columns.Contains("Name")) { dic.FieldValue = project["Name"].ToString(); } break; case "ProjectInfoCode": if (project.Table.Columns.Contains("Code")) { dic.FieldValue = project["Code"].ToString(); } break; case "SubProjectName": if (subproject != null && subproject.Table.Columns.Contains("Name")) { dic.FieldValue = subproject["Name"].ToString(); } break; case "AreaName": if (area != null && area.Table.Columns.Contains("Name")) { dic.FieldValue = area["Name"].ToString(); } break; case "DeviceName": if (device != null && device.Table.Columns.Contains("Name")) { dic.FieldValue = device["Name"].ToString(); } break; case "MajorName": if (major != null && major.Table.Columns.Contains("Name")) { dic.FieldValue = major["Name"].ToString(); } break; case "WorkName": if (work != null && work.Table.Columns.Contains("Name")) { dic.FieldValue = work["Name"].ToString(); } break; case "ProjectChargerName": if (project.Table.Columns.Contains("ChargeUserName")) { dic.FieldValue = project["ChargeUserName"].ToString(); } break; case "MajorChargerName": if (major != null && major.Table.Columns.Contains("ChargeUserName")) { dic.FieldValue = major["ChargeUserName"].ToString(); } break; case "ApproverName": if (version.Table.Columns.Contains("ApproverName")) { dic.FieldValue = version["ApproverName"].ToString(); } break; case "AuditorName": if (version.Table.Columns.Contains("AuditorName")) { dic.FieldValue = version["AuditorName"].ToString(); } break; case "CollactorName": if (version.Table.Columns.Contains("CollactorName")) { dic.FieldValue = version["CollactorName"].ToString(); } break; case "DesignerName": if (version.Table.Columns.Contains("DesignerName")) { dic.FieldValue = version["DesignerName"].ToString(); } break; default: break; } } dic.IconCls = f.GetValue("IconCls"); formDic.Add(dic); } result.FormDic = formDic; var subdic1 = new DicItem { FieldName = "Version", FieldValue = "版本:" + versionnumber }; subFormDic.Add(subdic1); result.SubFormDic = subFormDic; return(result); }
/// <summary> /// Look up word from online dictionary . /// </summary> /// <param name="word">Word parameter .</param> /// <param name="isOOV">If the word is OOV.</param> /// <returns>Return a LexicalItem for each word .</returns> public LexicalItem Lookup(string word, ref bool isOOV) { _item = new LexicalItem(_language); _word = word.ToLower(); _item.Grapheme = _word; bool flag = false; Dictionary<string, Collection<string>> prons = new Dictionary<string, Collection<string>>(); isOOV = false; foreach (DictionaryModel dic in _dics) { Collection<string> pronunciations = dic.Lookup(word); isOOV = dic.IsOOV; if (!dic.IsOOV) { if (string.IsNullOrEmpty(dic.Word)) { throw new InvalidDataException(Helper.NeutralFormat( "Error happened when processing word \"{0}\": The word parsed from web is empty", word)); } else if (dic.Pronunciations.Count == 0) { throw new InvalidDataException(Helper.NeutralFormat( "Error happened when processing word \"{0}\": The pronunciation parsed from web is empty", word)); } else { DicItem item = new DicItem(); item.Word = dic.Word; item.POS = dic.POS; item.Pronunciations = dic.Pronunciations; _dicItems.Add(item); if (word.Equals(dic.Word, StringComparison.InvariantCultureIgnoreCase)) { foreach (string pron in dic.Pronunciations) { if (!prons.Keys.Contains(pron)) { Collection<string> pos = new Collection<string>(); pos.Add(dic.POS); prons.Add(pron, pos); } else { if (!prons[pron].Contains(dic.POS)) { prons[pron].Add(dic.POS); } } } } else { flag = true; } } } dic.Reset(); } GenerateLexicalItem(prons); _isMorphology = flag; return Item; }
public JsonResult Add(DicItem model) { var result = bll.Add(model); return(Json(result)); }
//protected string GetDicValue(string key, params string[] param) //{ // Enums.Languages language = Enums.Languages.Turkce; // if (Session != null) // { // RealPersonBo realPersonBo = Session.RealPerson; // if (realPersonBo != null) // language = realPersonBo.LanguageId; // } // return GetDicValue(key, language, param); //} protected string GetbyLang(DicItem dicItem, Enums.Languages language) { return(Stc.GetbyLang(dicItem, language)); }
//Adds dictonary items designating them as the root, category or just a word public DictionaryItem(bool isRoot, bool isCategory, string categoryName = "", params DictionaryItem [] dictionaryItems) { this._isRoot = isRoot; this._isCategory = isCategory; if (isCategory == true && categoryName != string.Empty) { this.RootName = ActiveDictionary.Dictionary.Root.RootName; _dictionaryItems = new List <DictionaryItem>(); if (DictionaryTree.HasCategory(categoryName, ActiveDictionary.Dictionary.Root) == false) { _categoryName = categoryName; _wordName = null; _wordDefinition = null; foreach (DictionaryItem DicItem in dictionaryItems) { if (DicItem.IsCategory == false && DicItem.IsRoot == false) { if (!DictionaryTree.HasWord(DicItem.WordName, ActiveDictionary.Dictionary.Root)) { _dictionaryItems.Add(DicItem); } else { continue; } } } } else { //If the category already exists just add the word foreach (DictionaryItem DicItem in ActiveDictionary.Dictionary.Root.DictionaryItems) { if (!DictionaryTree.HasWord(DicItem.WordName, ActiveDictionary.Dictionary.Root)) { if (DicItem.CategoryName == categoryName) { DicItem.AddDictionaryItem(dictionaryItems[0]); break; } } else { continue; } } return; } } else if (isCategory == false && isRoot == false && categoryName != "") { foreach (DictionaryItem DicItem in ActiveDictionary.Dictionary.Root.DictionaryItems) { if (!DictionaryTree.HasWord(DicItem.WordName, ActiveDictionary.Dictionary.Root)) { if (DicItem.CategoryName == categoryName) { DicItem.AddDictionaryItem(dictionaryItems[0]); break; } } else { continue; } } } }
public JsonResult Edit(DicItem model) { var result = bll.Edit(model); return(Json(result)); }