Exemplo n.º 1
0
        /// <summary>
        /// Renames the selected files according to the selected settings.
        /// </summary>
        private async Task RenameWorkAsync()
        {
            try
            {
                var renameSettings = this.BuildRenameSettings();

                var renameEngine = new RenameEngine(renameSettings);
                renameEngine.NamingProcessed += RenameEngine_NamingProcessed;

                LogHelper.LogHeader(renameSettings);

                // get NamingRequest items
                var listViewItems  = ListViewHelper.GetCollectionItems(this.listViewSelectedItems.Items);
                var namingRequests = listViewItems.Select(a => new NamingRequest((ObjectType)a.Tag, a.Text)).ToList();

                // send the files/directories to rename, save results
                this.namingResults = await renameEngine.Rename(namingRequests);

                // refresh UI
                this.LoadFiles(this.fullPath);
            }
            catch (Exception ex)
            {
                LogHelper.LogException(ex); throw ex;
            }
            finally
            {
                await LogHelper.SaveChangesAsync();
            }
        }