示例#1
0
        /// <summary>
        /// Cand butonul de modificare fisier e apasat, se verifica cate fisiere au fost selectate.
        /// Daca este unul singur, atunci fisierul va fi modificat in functie de textul din
        /// path, nume si descriere fisier + propietatile selectate.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void changeButton_Click(object sender, EventArgs e)
        {
            var fileIndices = fileView.CheckedIndices.Cast <int>();

            if (fileIndices.Count() != 1)
            {
                return;
            }

            List <int> propertiesToChange = new List <int>();
            var        propertyIndices    = propertyView.CheckedIndices.Cast <int>();

            foreach (int property in propertyIndices)
            {
                propertiesToChange.Add(Properties[property].Id);
            }

            var file = new ModelAndAPI.File()
            {
                Id          = Files[fileIndices.ElementAt(0)].Id,
                Name        = nameBox.Text,
                Description = fileDescriptionBox.Text,
                Path        = filePathBox.Text
            };

            FileAPI.ModifyFile(file, propertiesToChange);

            nameBox.Text            = "";
            fileDescriptionBox.Text = "";
            filePathBox.Text        = "";
            UpdateFileList();
        }
 /// <summary>
 /// Aceasta metoda permite modificarea unui fisier si propietatile lui.
 /// </summary>
 /// <param name="file">Fisierul primit ca obiect. Campurile care nu sunt
 /// goale vor inlocui pe cele din baza de date.</param>
 /// <param name="propertyIndices">Lista cu id-urile propietatilor. Initial,
 /// toate propietatile vor fi sterse din fisier ca apoi sa fie inlocuite de acestea.</param>
 /// <returns>Un boolean care spune daca adaugarea a fost realizata cu succes.</returns>
 bool IFile.ModifyFile(File file, List <int> propertyIndices)
 {
     return(FileAPI.ModifyFile(file, propertyIndices));
 }