Prizm.Main.Forms.ExternalFile.ExternalFilesViewModel.TrySaveFiles C# (CSharp) Method

TrySaveFiles() public method

public TrySaveFiles ( Domain item ) : bool
item Domain
return bool
        public bool TrySaveFiles(Domain.Entity.Item item)
        {
            bool successCopy = true;
            if (FilesToAttach.Count > 0)
            {
                if (!Directory.Exists(Directories.TargetPath))
                {
                    Directory.CreateDirectory(Directories.TargetPath);
                    DirectoryInfo directoryInfo = new DirectoryInfo(Directories.TargetPath);
                    directoryInfo.Attributes |= FileAttributes.Hidden;
                }
                foreach (KeyValuePair<string, string> kvp in FilesToAttach)
                {
                    var newFileName = kvp.Key;
                    try
                    {
                        System.IO.File.Copy(
                          Directories.FilesToAttachFolder + newFileName,
                          Directories.TargetPath + newFileName
                        );
                    }
                    catch (Exception e)
                    {
                        successCopy = false;
                        log.Error(e.Message);
                        RemoveCopiedFilesIfError();
                        break;
                    }
                }
            }

            if (successCopy)
            {
                PersistFiles(item);
            }

            return successCopy;
        }