Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,14 +1,5 @@
using LocadoraDeVeiculos.Aplicacao.ClienteModule;
using LocadoraDeVeiculos.Aplicacao.CupomModule;
using LocadoraDeVeiculos.Aplicacao.FuncionarioModule;
using LocadoraDeVeiculos.Aplicacao.GrupoDeVeiculosModule;
using LocadoraDeVeiculos.Aplicacao.LocacaoModule;
using LocadoraDeVeiculos.Aplicacao.ParceiroModule;
using LocadoraDeVeiculos.Aplicacao.ServicoModule;
using LocadoraDeVeiculos.Aplicacao.VeiculoModule;
using LocadoraDeVeiculos.Aplicacao.FuncionarioModule;
using LocadoraDeVeiculos.Dominio.FuncionarioModule;
using LocadoraDeVeiculos.Infra.EntityFramework;
using LocadoraDeVeiculos.Infra.EntityFramework.Features;
using System;
using System.Threading;
using System.Windows.Forms;
Expand All @@ -19,76 +10,69 @@ public partial class TelaLogin : Form
{
private Thread thread;

private readonly LocadoraDeVeiculosDBContext db;
private readonly ServicoAppService servicoAppService;
private readonly ParceiroAppService parceiroAppServic,e;
private readonly CupomAppService cupomAppService;
private readonly FuncionarioAppService funcionarioAppService;
private readonly GrupoDeVeiculosAppService grupoDeVeiculosAppService;
private readonly ClienteAppService clienteAppService;
private readonly VeiculoAppService veiculoAppService;
private readonly LocacaoAppService locacaoAppService;
private readonly Func<TelaPrincipalForm> telaPrincipalFactory;

private Funcionario funcionarioLogado;

public TelaLogin()
public TelaLogin(
FuncionarioAppService funcionarioAppService,
Func<TelaPrincipalForm> telaPrincipalFactory)
{
InitializeComponent();

db = new();
funcionarioAppService = new(new FuncionarioORM(db));
servicoAppService = new(new ServicoORM(db));
clienteAppService = new(new ClienteORM(db));
funcionarioAppService = new(new FuncionarioORM(db));
veiculoAppService = new(new VeiculoORM(db));
locacaoAppService = new(new LocacaoORM(db));
this.funcionarioAppService = funcionarioAppService;
this.telaPrincipalFactory = telaPrincipalFactory;
}

private void BtnConfirmar_Click(object sender, EventArgs e)
{

if (textUsuario.Text == "admin" && textSenha.Text == "admin")
{
funcionarioLogado = new Funcionario("admin", "administrador");
EfetuarLogin();
return;
}

else
foreach (Funcionario funcionario in funcionarioAppService.SelecionarTodasEntidade())
{
foreach (Funcionario funcionario in funcionarioAppService.SelecionarTodasEntidade())
if (textUsuario.Text == funcionario.UsuarioAcesso && textSenha.Text == funcionario.Senha)
{
funcionarioLogado = funcionario;
EfetuarLogin();
return;
}

textUsuario.Clear();
textSenha.Clear();
MessageBox.Show("Invalid Login or Password.");
if (textUsuario.Text == funcionario.UsuarioAcesso &&
textSenha.Text == funcionario.Senha)
{
funcionarioLogado = funcionario;
EfetuarLogin();
return;
}
}

textUsuario.Clear();
textSenha.Clear();
MessageBox.Show("Invalid Login or Password.");
}

private void EfetuarLogin()
{
MessageBox.Show($"Welcome {textUsuario.Text}!");

thread = new Thread(ChamarTelaPrincipal);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();

TelaLogin login = new();
this.Dispose();
login.Close();
Close();
}

public void ChamarTelaPrincipal()
{
TelaPrincipalForm.FuncionarioLogado = funcionarioLogado;
Application.Run(new TelaPrincipalForm(servicoAppService, clienteAppService, veiculoAppService, locacaoAppService));

TelaPrincipalForm telaPrincipal = telaPrincipalFactory();

Application.Run(telaPrincipal);
}

private void LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
MessageBox.Show("Please contact the administrator to recreate your password.");
}
}
}
}
8 changes: 5 additions & 3 deletions LocadoraDeVeiculos/LocadoraDeVeiculos.WindowsApp/Program.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
using LocadoraDeVeiculos.WindowsApp.Features.Login;
using Autofac;
using LocadoraDeVeiculos.WindowsApp.Features.Login;
using System;
using LocadoraDeVeiculos.Infra.EntityFramework;
using System.Windows.Forms;
using Microsoft.EntityFrameworkCore;
using System.Linq;
using LocadoraDeVeiculos.Infra.Logs;
using LocadoraDeVeiculos.WindowsApp.Shared;

namespace LocadoraDeVeiculos.WindowsApp
{
Expand All @@ -18,12 +20,12 @@ static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
LocadoraDeVeiculosDBContext db = new ();
LocadoraDeVeiculosDBContext db = new();
GeradorLog.ConfigurarLog();
var pendingChanges = db.Database.GetPendingMigrations();
if (pendingChanges.Any())
db.Database.Migrate();
Application.Run(new TelaLogin());
Application.Run(AutoFac.Container.Resolve<TelaLogin>());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
using LocadoraDeVeiculos.WindowsApp.Features.Devolucoes;
using LocadoraDeVeiculos.WindowsApp.Features.Funcionarios;
using LocadoraDeVeiculos.WindowsApp.Features.GrupoDeVeiculos;
using LocadoraDeVeiculos.WindowsApp.Features.Login;
using LocadoraDeVeiculos.WindowsApp.Features.Locacoes;
using LocadoraDeVeiculos.WindowsApp.Features.Parceiros;
using LocadoraDeVeiculos.WindowsApp.Features.Servicos;
Expand All @@ -45,9 +46,17 @@ static AutoFac()

ConfigurarOperacoes();

ConfigurarForms();

Container = Builder.Build();
}

private static void ConfigurarForms()
{
Builder.RegisterType<TelaLogin>().InstancePerDependency();
Builder.RegisterType<TelaPrincipalForm>().InstancePerDependency();
}

private static void ConfigurarOperacoes()
{
Builder.RegisterType<OperacoesClientes>().InstancePerDependency();
Expand Down