private void btnSearch_Click(object sender, EventArgs e) { filePaths.Clear(); imageList = new ImageList(); imageList.ImageSize = new Size(64, 64); listViewFile.Items.Clear(); string toSearch = textBox1.Text.ToLower(); MediaTagsClient c = new MediaTagsClient(); if (checkBox1.Checked) { var mediaResult = c.QueryMediaDate(toSearch, dateTimePickerFrom.Value.Date, dateTimePickerTo.Value.Date) .ToList(); var tagsResult = c.QueryTags(toSearch); HashSet <int> mediaIds = new HashSet <int>(tagsResult); foreach (int mediaId in mediaIds) { Media m = c.GetMedia(mediaId); if (m.Creation_Date >= dateTimePickerFrom.Value.Date && m.Creation_Date <= dateTimePickerTo.Value.Date) { mediaResult.Add(m); } } foreach (Media m in mediaResult) { filePaths.Add(m.Path); } AddFilesToListView(mediaResult); } else { var mediaResult = c.QueryMedia(toSearch) .ToList(); var tagsResult = c.QueryTags(toSearch); HashSet <int> mediaIds = new HashSet <int>(tagsResult); foreach (int mediaId in mediaIds) { Media m = c.GetMedia(mediaId); mediaResult.Add(m); } foreach (Media m in mediaResult) { filePaths.Add(m.Path); } AddFilesToListView(mediaResult); } c.Close(); }
private void btnSave_Click(object sender, EventArgs e) { mediaLoaded.Creation_Date = dateTimePicker.Value.Date; mediaLoaded.Description = txtDescription.Text; if (result == "IN DB") { c.UpdateMedia(mediaLoaded); } else { c.AddMedia(mediaLoaded); } c.Close(); result = "SAVED"; this.Close(); }
private void AddFilesToListView(List <string> fp) { MediaTagsClient c = new MediaTagsClient(); int cnt = 0; foreach (string filePath in fp) { Media result = c.GetMediaByPath(filePath); Color clr; if (result != null) { clr = Color.Green; } else { clr = Color.AliceBlue; } if (IsImage(Path.GetExtension(filePath))) { using (FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { imageList.Images.Add(Image.FromStream(stream)); } } else { using (FileStream stream = new FileStream("./videoicon.png", FileMode.Open, FileAccess.Read)) { imageList.Images.Add(Image.FromStream(stream)); } } listViewFile.LargeImageList = imageList; listViewFile.Items.Add(new ListViewItem { ImageIndex = cnt, Text = filePath.Substring(filePath.LastIndexOf("\\") + 1), Tag = filePath, BackColor = clr }); cnt++; } c.Close(); }