74 lines
2.2 KiB
C#
74 lines
2.2 KiB
C#
using System;
|
|
using System.Windows;
|
|
using PipefyAddCompanies.Core.Services;
|
|
using PipefyAddCompanies.Core.UseCases;
|
|
using PipefyAddCompanies.UI.ViewModels;
|
|
using Microsoft.Win32;
|
|
using System.IO;
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
namespace PipefyAddCompanies.UI.Views
|
|
{
|
|
public partial class MainWindow : Window
|
|
{
|
|
private readonly MainWindowViewModel _viewModel;
|
|
|
|
public MainWindow()
|
|
{
|
|
InitializeComponent();
|
|
|
|
var pipefyService = new PipefyService();
|
|
var processadorDeEmpresas = new ProcessadorDeEmpresas(pipefyService);
|
|
|
|
_viewModel = new MainWindowViewModel(processadorDeEmpresas);
|
|
DataContext = _viewModel;
|
|
}
|
|
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
|
|
{
|
|
// Chama o método de limpeza no ViewModel antes de fechar o app
|
|
if (DataContext is MainWindowViewModel viewModel)
|
|
{
|
|
viewModel.OnWindowClosing();
|
|
}
|
|
}
|
|
|
|
internal static string? SelecionarArquivoPlanilha()
|
|
{
|
|
OpenFileDialog openFileDialog = new()
|
|
{
|
|
Filter = "Arquivos de Excel (*.xlsx)|*.xlsx|Todos os arquivos (*.*)|*.*",
|
|
Title = "Selecione a Planilha de Empresas"
|
|
};
|
|
|
|
return openFileDialog.ShowDialog() == true ? openFileDialog.FileName : null;
|
|
}
|
|
private void Window_DragEnter(object sender, DragEventArgs e)
|
|
{
|
|
if (e.Data.GetDataPresent(DataFormats.FileDrop))
|
|
{
|
|
e.Effects = DragDropEffects.Copy;
|
|
}
|
|
else
|
|
{
|
|
e.Effects = DragDropEffects.None;
|
|
}
|
|
}
|
|
|
|
private void Window_Drop(object sender, DragEventArgs e)
|
|
{
|
|
if (e.Data.GetDataPresent(DataFormats.FileDrop))
|
|
{
|
|
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
|
|
|
if (files.Length > 0)
|
|
{
|
|
string filePath = files[0];
|
|
|
|
_viewModel.DefinirCaminhoPlanilha(filePath); // Método de carregamento no ViewModel
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|