first commit
This commit is contained in:
321
Forms/Login.cs
Normal file
321
Forms/Login.cs
Normal file
@@ -0,0 +1,321 @@
|
||||
using EFCDesk.Classes;
|
||||
using EFCDesk.Forms;
|
||||
using System.Data.SQLite;
|
||||
using System.Xml;
|
||||
using System.Xml.Linq;
|
||||
using static EFCDesk.Program;
|
||||
|
||||
namespace EFCDesk
|
||||
{
|
||||
public partial class Login : Form
|
||||
{
|
||||
|
||||
private bool ExisteConfiguracionExpediente()
|
||||
{
|
||||
using (var connection = sqliteHelper.GetConnection())
|
||||
{
|
||||
connection.Open();
|
||||
|
||||
// Verificar si hay registros en la tabla ArchivosProcesados
|
||||
string checkQuery = "SELECT COUNT(1) FROM Configuracion;";
|
||||
int registrosExistentes;
|
||||
using (var command = new SQLiteCommand(checkQuery, connection))
|
||||
{
|
||||
registrosExistentes = Convert.ToInt32(command.ExecuteScalar());
|
||||
}
|
||||
|
||||
// Si hay registros, no realizar el escaneo inicial
|
||||
if (registrosExistentes == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void VistaConfiguracionExpediente()
|
||||
{
|
||||
|
||||
//FormCargarInformacion info = new FormCargarInformacion();
|
||||
//info.Show();
|
||||
MessageBox.Show("Debe capturar la configuraci<63>n inicial para el env<6E>o de los archivos a expediente electr<74>nico", "Configuraci<63>n", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
|
||||
this.Hide();
|
||||
FormConfiguracionExpediente configExp = new FormConfiguracionExpediente();
|
||||
configExp.ShowDialog();
|
||||
try
|
||||
{
|
||||
configExp.Dispose();
|
||||
this.Visible = true;
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
}
|
||||
|
||||
private static SQLiteHelper sqliteHelper = new SQLiteHelper(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "historico.db"));
|
||||
public Login()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void buttonOpciones_Click(object sender, EventArgs e)
|
||||
{
|
||||
FormConfiguracionJSON configuracion = new FormConfiguracionJSON();
|
||||
configuracion.ShowDialog();
|
||||
}
|
||||
|
||||
private async void buttonInicioSesion_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
//var config = ConfiguracionJSON.LoadFromJson();
|
||||
|
||||
//Cursor.Current = Cursors.WaitCursor;
|
||||
|
||||
//string user = textBoxUsuario.Text.Trim();
|
||||
//string pass = textBoxContrasenia.Text.Trim();
|
||||
|
||||
//if (user == "")
|
||||
//{
|
||||
// MessageBox.Show("Debe ingresar el usuario");
|
||||
// textBoxUsuario.Focus();
|
||||
// return;
|
||||
//}
|
||||
|
||||
|
||||
//if (pass == "")
|
||||
//{
|
||||
// MessageBox.Show("Debe ingresar la contrase<73>a");
|
||||
// textBoxContrasenia.Focus();
|
||||
// return;
|
||||
//}
|
||||
|
||||
|
||||
//if ((user == "admin") && (pass == "teamweb"))
|
||||
//{
|
||||
// //frmAdmin configuracion = new frmAdmin();
|
||||
// //configuracion.ShowDialog();
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
|
||||
// try
|
||||
// {
|
||||
// string crypUser = General.CodificarBase64(user);
|
||||
// string crypPass = General.CodificarBase64(pass);
|
||||
// string cadena = crypUser + "|" + crypPass;
|
||||
// string liga = config.DominioExp + "/api/auth/" + cadena;
|
||||
// dynamic root = config.Consulta(liga);
|
||||
// if (root is XmlElement)
|
||||
// {
|
||||
|
||||
// string id = "";
|
||||
// string mensaje = "";
|
||||
// XmlNodeList nodes = root.SelectNodes("/xml/item");
|
||||
// foreach (XmlNode node in nodes)
|
||||
// {
|
||||
// id = node["login"].InnerText;
|
||||
// mensaje = node["mensaje"].InnerText;
|
||||
// }
|
||||
// if (id != "0")
|
||||
// {
|
||||
// //this.Hide();
|
||||
// /**/
|
||||
// /*
|
||||
// SplashScreenEspera Espera = new SplashScreenEspera();
|
||||
// Espera.ShowDialog();
|
||||
// */
|
||||
// /*
|
||||
// Globales.DirRootExpediente = MyClass.configuracion("folder");
|
||||
|
||||
// if (!Directory.Exists(Globales.DirRootExpediente))
|
||||
// {
|
||||
// string Folder = "C:" + Path.DirectorySeparatorChar + "EFC";
|
||||
|
||||
// MyClass.configuracion("folder", Folder);
|
||||
|
||||
// Globales.DirRootExpediente = Folder;
|
||||
|
||||
// Directory.CreateDirectory(Globales.DirRootExpediente);
|
||||
// }
|
||||
// */
|
||||
// /*actualizar config*/
|
||||
// config.UsuarioExp = user;
|
||||
// config.PasswordExp = pass;
|
||||
// int.TryParse(id, out int idInt);
|
||||
// config.idUsuarioExp = idInt;
|
||||
// config.SaveToJson();
|
||||
// this.Hide();
|
||||
|
||||
// FormCargarInformacion info = new FormCargarInformacion();
|
||||
// info.Show();
|
||||
// //Application.Run(new frmMain());
|
||||
// using (var connection = sqliteHelper.GetConnection())
|
||||
// {
|
||||
// connection.Open();
|
||||
|
||||
// // Verificar si hay registros en la tabla ArchivosProcesados
|
||||
// string checkQuery = "SELECT COUNT(1) FROM Configuracion;";
|
||||
// int registrosExistentes;
|
||||
// using (var command = new SQLiteCommand(checkQuery, connection))
|
||||
// {
|
||||
// registrosExistentes = Convert.ToInt32(command.ExecuteScalar());
|
||||
// }
|
||||
|
||||
// // Si hay registros, no realizar el escaneo inicial
|
||||
// if (registrosExistentes == 0)
|
||||
// {
|
||||
// FormConfiguracionExpediente configExp = new FormConfiguracionExpediente();
|
||||
// configExp.Show();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// FormMain Main = new FormMain();
|
||||
// Main.Show();
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// MessageBox.Show(mensaje);
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// else if (root is Exception)
|
||||
// {
|
||||
// MessageBox.Show(root.ToString());
|
||||
// return;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// MessageBox.Show("Error: No se hizo el login correctamente. Contacte a su proveedor");
|
||||
// return;
|
||||
// }
|
||||
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// MessageBox.Show(ex.ToString());
|
||||
// }
|
||||
//}
|
||||
|
||||
//cursor.current = cursors.default;
|
||||
|
||||
if (!ExisteConfiguracionExpediente())
|
||||
{
|
||||
VistaConfiguracionExpediente();
|
||||
return;
|
||||
}
|
||||
|
||||
string user = txtUsuario.Text.Trim();
|
||||
string pass = textBoxContrasenia.Text.Trim();
|
||||
|
||||
bool EsvalidoDatos = Utils.Util.StringsValidos(user, pass);
|
||||
|
||||
if(!EsvalidoDatos)
|
||||
{
|
||||
MessageBox.Show("Debe ingresar el usuario y contrase<73>a", "Informaci<63>n", MessageBoxButtons.OK);
|
||||
return;
|
||||
}
|
||||
|
||||
var configJson = ConfiguracionJSON.LoadFromJson();
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
try
|
||||
{
|
||||
|
||||
configJson.UsuarioExp = user;
|
||||
configJson.PasswordExp = pass;
|
||||
|
||||
if (Properties.Settings.Default.urlEFC.ToString() == "")
|
||||
{
|
||||
MessageBox.Show("No se ha configurado el dominio de expediente electronico", "Informaci<63>n", MessageBoxButtons.OK);
|
||||
return;
|
||||
}
|
||||
|
||||
if (configJson.FolderExpediente == null)
|
||||
{
|
||||
MessageBox.Show("No se ha configurado la ruta de expediente(s)", "Informaci<63>n", MessageBoxButtons.OK);
|
||||
return;
|
||||
}
|
||||
|
||||
bool Esvalido = Utils.Util.StringsValidos(configJson.UsuarioExp, configJson.PasswordExp);
|
||||
|
||||
if (!Esvalido)
|
||||
{
|
||||
MessageBox.Show("No se ha configurado el usuario o contrase<73>a de expediente electronico", "Informaci<63>n", MessageBoxButtons.OK);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
textBoxContrasenia.Text = configJson.PasswordExp ?? String.Empty;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(textBoxContrasenia.Text))
|
||||
{
|
||||
MessageBox.Show("Ingresa el Id de usuario", "Informaci<63>n", MessageBoxButtons.OK);
|
||||
textBoxContrasenia.Focus();
|
||||
return;
|
||||
}
|
||||
|
||||
configJson.SaveToJson();
|
||||
|
||||
bool EsLoginValido = await Utils.Util.Login(txtUsuario.Text, textBoxContrasenia.Text);
|
||||
|
||||
if (!EsLoginValido)
|
||||
{
|
||||
MessageBox.Show("No se pudo hacer login.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
//string token = textBoxContrasenia.Text;
|
||||
|
||||
//using var apiClient = new ApiClient(timeout: TimeSpan.FromSeconds(10), maxRetries: 3, retryDelay: TimeSpan.FromSeconds(2));
|
||||
//string response = await apiClient.GetAsync(url: config.DominioExp+ "/api/v1/customs/pedimentos/", token);
|
||||
Cursor.Current = Cursors.Default;
|
||||
|
||||
//SecureDataHandler.SaveData(textBoxContrasenia.Text);
|
||||
//textBoxContrasenia.Text = string.Empty;
|
||||
|
||||
this.Hide();
|
||||
FormMain Main = new FormMain(Globales.gMonitor);
|
||||
Main.Show();
|
||||
|
||||
|
||||
}
|
||||
catch (ApiException ex)
|
||||
{
|
||||
MessageBox.Show($"API respondi<64> con error: {ex.Message} (C<>digo {ex.StatusCode})");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show($"Error en la petici<63>n: {ex.Message}");
|
||||
}
|
||||
|
||||
Cursor.Current = Cursors.Default;
|
||||
}
|
||||
|
||||
private void textBoxContrasenia_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
//buttonInicioSesion_Click(this, new EventArgs());
|
||||
buttonInicioSesion.PerformClick();
|
||||
}
|
||||
}
|
||||
|
||||
private void Login_Shown(object sender, EventArgs e)
|
||||
{
|
||||
if (!ExisteConfiguracionExpediente())
|
||||
{
|
||||
VistaConfiguracionExpediente();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void textBoxContrasenia_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user