/// <summary> /// Rod.xmlの内容を全て取得する /// </summary> /// <returns>RodDBModel</returns> private RodDBModel getRodDB() { try { string xmlFilename = PATH_FISHDB + @"\" + FILENAME_RODDB; RodDBModel roddb = new RodDBModel(); if (File.Exists(xmlFilename)) { FileStream fs = new FileStream(xmlFilename, System.IO.FileMode.Open); XmlSerializer serializer = new XmlSerializer(typeof(RodDBModel)); roddb = (RodDBModel)serializer.Deserialize(fs); fs.Close(); } return(roddb); } catch (Exception e) { logger.Fatal("{0}の取得中にエラーが発生しました。", FILENAME_RODDB); throw e; } }
/// <summary> /// Rod.xmlに登録内容を書き出す /// </summary> /// <param name="iRodDB">RodDBModel</param> /// <returns>True:成功</returns> private bool putRodDB(RodDBModel iRodDB) { try { string xmlFilename = PATH_FISHDB + @"\" + FILENAME_RODDB; StreamWriter sw = new StreamWriter(xmlFilename, false, new UTF8Encoding(false)); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add(String.Empty, String.Empty); XmlSerializer serializer = new XmlSerializer(typeof(RodDBModel)); serializer.Serialize(sw, iRodDB, ns); //書き込み sw.Flush(); sw.Close(); sw = null; return(true); } catch (Exception e) { logger.Fatal("{0}の登録中にエラーが発生しました。", FILENAME_RODDB); throw e; } }
/// <summary> /// 竿を取得する /// </summary> /// <param name="iSearchString">竿名称(正規表現)</param> /// <returns>竿の一覧</returns> public List <RodDBRodModel> SelectRod(string iSearchString) { logger.Trace("SearchString={0}", iSearchString); List <RodDBRodModel> ret = new List <RodDBRodModel>(); RodDBModel roddb = getRodDB(); if (iSearchString == string.Empty) { ret = roddb.Rod; } else { foreach (RodDBRodModel rod in roddb.Rod) { if (MiscTool.IsRegexString(rod.RodName, iSearchString)) { ret.Add(rod); } } } ret.Sort(RodDBModel.SortTypeName); return(ret); }