/// <summary> /// 判断能否成为ID /// </summary> /// <returns></returns> int IsId(ImageModle modle) { Boolean IDs = true; Boolean Urls = true; foreach (ImageModle m in GetAllImage()) { if (modle.Url == m.Url) { Urls = false; break; } if (m.ID == modle.ID) { IDs = false; break; } } if (!Urls) { //情况 1 URL已经有了 return(1); } else if (!IDs) { //情况 2 ID 已经有了 return(2); } //情况 3 这个可以用 return(3); }
ImageModle XmlToModle(XmlNode imagenode) { ImageModle modle = new ImageModle(); modle = (new ImageModle() { ID = Convert.ToInt32(imagenode.Attributes["ID"].Value), Time = imagenode["Time"].InnerText.ToString(), Title = imagenode["Title"].InnerText.ToString(), Url = imagenode["Url"].InnerText.ToString(), }); return(modle); }
/// <summary> /// 不需要提供ID /// </summary> /// <param name="modle"></param> /// <returns></returns> public XmlNode AddXmlNode(ImageModle modle) { int MaxID = MainNode.ChildNodes.Count + 1; int ID = 0; Random rd = new Random(); while (true) { ID = rd.Next(1, MaxID + 1); int r = IsId(new ImageModle() { ID = ID, Url = modle.Url }); if (r == 3) { break; } else if (r == 1) { return(null); } } XmlNode xn = xml.CreateElement("Image"); XmlAttribute attr = xml.CreateAttribute("ID"); attr.Value = ID.ToString(); xn.Attributes.Append(attr); // XmlNode IDNode = xml.CreateElement("ID"); XmlNode TitleNode = xml.CreateElement("Title"); XmlNode TitleUrl = xml.CreateElement("Url"); XmlNode TitleTime = xml.CreateElement("Time"); // IDNode.InnerText = modle.ID.ToString(); TitleNode.InnerText = modle.Title; TitleUrl.InnerText = modle.Url; TitleTime.InnerText = modle.Time; // xn.AppendChild(IDNode); xn.AppendChild(TitleNode); xn.AppendChild(TitleUrl); xn.AppendChild(TitleTime); MainNode.AppendChild(xn); Save(); return(xn); }
/// <summary> /// 根据传进来的modle值进行查询 /// </summary> /// <param name="modle">里边的值可以不填,即不判断</param> /// <returns>List</returns> public List <ImageModle> GetImagesByModle(ImageModle modle) { List <ImageModle> list = new List <ImageModle>(); foreach (XmlNode node in MainNode) { Boolean BID = node.Attributes["ID"].Value == 0.ToString() ? true : node.Attributes["ID"].Value == modle.ID.ToString(); Boolean BTitle = modle.Title == "" ? true : node["Title"].InnerText == modle.Title; Boolean BTime = modle.Time == "" ? true : node["Time"].InnerText == modle.Time; Boolean BUrl = modle.Url == "" ? true : node["Url"].InnerText == modle.Url; Boolean TRUES = BID == BTitle == BTime == BUrl; if (TRUES) { list.Add(XmlToModle(node)); } } return(list); }
/// <summary> /// 加载选项 /// </summary> /// <param name="modle">本体</param> /// <param name="Loads">是否加载额外操作 true加载 false 只加载图像</param> public MainImageFormItem(ImageModle modle, Boolean Loads) { if (Loads) { ContextMenuStrip cms = new ContextMenuStrip(); cms.Items.Add("打开", null, OpenImate); cms.Items.Add("保存到", null, SavesTo); cms.Items.Add("转换格式", null, SavesNewImage); cms.Items.Add("详细信息", null, ImageDI); cms.Items.Add("打开文件位置", null, OpenImageUrl); cms.Items.Add("删除", null, Delete); this.ContextMenuStrip = cms; } if (modle != null) { this.modle = modle; this.Text = modle.Title + "\n" + modle.Time; } try { this.backgroundimage = Image.FromFile(modle.Url); this.BackgroundImage = backgroundimage; } catch { try { Icon icon = Icon.ExtractAssociatedIcon(modle.Url); Bitmap b = icon.ToBitmap(); backgroundimage = b; this.BackgroundImage = backgroundimage; } catch { this.BackgroundImage = Image.FromFile(@"Image\Images\NULL.png"); } } }
//这个是整个图片 public ImageForm(ImageModle modle) { GetSupert = false; InitializeComponent(); this.modle = modle; }
List <ImageModle> Select_Image(ImageModle modle) { IMAGE_MODLE_XML_BLL imxb = new IMAGE_MODLE_XML_BLL(); return(imxb.GetImagesByModle(modle)); }
/// <summary> /// 根据传进来的modle值进行查询 /// </summary> /// <param name="modle">里边的值可以不填,即不判断</param> /// <returns>List</returns> public List <ImageModle> GetImagesByModle(ImageModle modle) { return(imxg.GetImagesByModle(modle)); }
public XmlNode AddXmlNode(ImageModle modle) { return(imxg.AddXmlNode(modle)); }