Foi adicionada a funcionalidade de upload de imagens PNG para um
local de rede específico. No backend, a interface `IImageService`
e o serviço `ImageService` foram atualizados com o método
assíncrono `MoveFile`, que move arquivos para o destino desejado,
criando diretórios se necessário e exibindo mensagens de erro em
caso de falha.
No frontend, foi adicionado um botão "Upload" à interface gráfica
(`MainWindow.xaml`), vinculado ao comando `UploadImageCommand` no
`MainWindowViewModel`. Este comando utiliza o método privado
`UploadImageAsync` para abrir uma caixa de diálogo, permitir a
seleção de um arquivo PNG e mover o arquivo utilizando o serviço
de imagens. Feedback ao usuário é exibido para sucesso ou erro.
Adicionada funcionalidade para importar contatos de arquivos Excel
usando a biblioteca ClosedXML, incluindo o comando
`ImportExcelCommand` e o método `ImportExcelAsync` na classe
`MainWindowViewModel`. Ajustado o layout da interface gráfica
para incluir um botão "Importar".
Outras alterações incluem:
- Adição de pacotes ao projeto (`ClosedXML`, `Dapper`, etc.).
- Ajustes no cálculo de `gridWidth` e `gridHeight` em `ImageService`.
- Alteração do valor da constante `OverlayOffset` em `ImageService`.
- Refatoração do método `SaveBitmap` para tratamento de exceções.
- Correção na substituição de extensão ao salvar imagens.
- Reorganização de inicialização de coleções em `MainWindowViewModel`.
Essas mudanças melhoram a funcionalidade e a consistência do projeto.