Giuliano Paschoalino 2636848f6d Adiciona funcionalidade de upload de imagens PNG
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.
2025-08-28 15:24:44 -03:00
2025-05-15 09:39:58 -03:00
2025-05-15 09:39:58 -03:00
2025-05-15 09:39:58 -03:00
2025-05-15 09:39:58 -03:00

BackgroundBuilder

.NET WPF XAML C# MVVM DI PostgreSQL Npgsql Dapper Windows

📝 Project description

🖥️ An MVVM WPF application (.NET 8) providing an Excel-like editor for the contatos table in PostgreSQL


📑 Prerequisites

  • .NET
  • PostgreSQL database with table:
  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

  1. ✏️ Edit appsettings.json, set your ConnectionStrings:ContatosDb.

  2. 🖥️ In a terminal:

    dotnet restore
    dotnet build
    dotnet run --project BackgroundBuilder.csproj
    
  3. 🪟 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 WPFs RenderTargetBitmap and PngBitmapEncoder under the hood.


Description
No description provided
Readme 117 KiB
Languages
C# 100%