/// <summary> /// Cand lista de fisiere este updatata, fisierele sunt luate in functie de /// propietatile selectate de utilizator si de valoarea boolean-ului filtered. /// Daca path-ul obtinut din baza de date nu mai este prezent pe calculator, /// atunci fisierul respectiv isi va avea informatiile redate cu rosu. /// </summary> /// <param name="filtered">Daca este true, atunci cautarea va fi filtrata.</param> private void UpdateFileList(bool filtered = false) { fileView.Items.Clear(); List <int> propertiesToSearchFor = new List <int>(); var propertyIndices = propertyView.CheckedIndices.Cast <int>(); if (filtered) { foreach (int property in propertyIndices) { propertiesToSearchFor.Add(Properties[property].Id); } } Files = FileAPI.FileSearch(propertiesToSearchFor); foreach (var file in Files) { var listItem = new ListViewItem(new string[] { file.Id.ToString(), file.Name, file.Description, file.Path, file.Size.ToString(), file.CreationDate.ToString(), file.ToDelete.ToString() }); if (!System.IO.File.Exists(file.Path)) { listItem.ForeColor = Color.Red; } fileView.Items.Add(listItem); } }
/// <summary> /// Aceasta metoda permite cautarea fisierelor ce contin anumite propietati /// primite in forma de lista de id-uri. /// </summary> /// <param name="propertyIndices">Lista cu id-urile propietatilor.</param> /// <returns>Lista cu obiecte de tip fisier dupa filtrare.</returns> List <File> IFile.FileSearch(List <int> propertyIndices) { return(FileAPI.FileSearch(propertyIndices)); }