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 salvar imagem em caminho de rede
compartilhado no `ImageService.cs`. No `MainWindowViewModel.cs`,
incluída mensagem de confirmação e abertura automática da imagem
gerada. Ajustada lógica de mapeamento de colunas no processamento
de planilhas, com mudanças nas correspondências e início da
segunda tabela. Adicionada verificação para evitar erros ao buscar
aniversários. Mensagem de confirmação adicionada ao final do
processamento da planilha.
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.