Exemplo n.º 1
0
        /// <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));
 }