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.
BackgroundBuilder
📝 Project description
🖥️ An MVVM WPF application (.NET 8) providing an Excel-like editor for the
contatostable in PostgreSQL
📑 Prerequisites
CREATE TABLE public.contatos (
ramal text PRIMARY KEY NOT NULL,
nome text NOT NULL,
email text,
area text,
aniversario date,
"isComando" boolean NOT NULL
);
🔧 Setup
-
✏️ Edit
appsettings.json, set yourConnectionStrings:ContatosDb. -
🖥️ In a terminal:
dotnet restore dotnet build dotnet run --project BackgroundBuilder.csproj -
🪟 The main window will appear; on load it fetches and displays all contatos.
🏗️ Architecture
- 🏛️ MVVM with
ObservableObject,RelayCommand - 🧩 DI via
Microsoft.Extensions.Hosting - 💾 Repositories (
PostgresContatoRepository) handle all DB I/O with Dapper - 🔌 Services (
DatabaseService) manage the Npgsql connection - 🧠 ViewModels free of data-access logic: only orchestration
🚀 Releases
📆 21/05/2025: 🆕 Background & Export Features
-
🎨 Select Background…
Opens a file picker—choose any image (PNG, JPG, BMP). That image becomes your canvas. -
🖼️ Create Image…
Saves the current DataGrid overlaid on the background as a single PNG.
Uses WPF’sRenderTargetBitmapandPngBitmapEncoderunder the hood.
Description
Languages
C#
100%