Cambios por el userstate
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 18
|
||||
VisualStudioVersion = 18.1.11312.151 d18.0
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.14.36915.13 d17.14
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HerramientaCASA", "HerramientaCASA\HerramientaCASA.csproj", "{60B569DA-FC18-45B9-8ACC-8E29D8C2EA2C}"
|
||||
EndProject
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
@inject UserState userState
|
||||
@inject IJSRuntime JS
|
||||
@using bdHerramientaCACOA.db
|
||||
@using static HerramientaCASA.Components.Layout.LoginLayout
|
||||
@inject UserState UserState
|
||||
|
||||
|
||||
@@ -144,24 +145,46 @@
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
{
|
||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||
if (!firstRender)
|
||||
return;
|
||||
|
||||
urlAnterior = await JS.InvokeAsync<string>("eval", "document.referrer");
|
||||
if (!UserState.PuedeAcceder)
|
||||
{
|
||||
rutaActual = Navigation.ToBaseRelativePath(Navigation.Uri);
|
||||
if (!UtilidadesCASA.UrlPermitida(urlAnterior, bd))
|
||||
{
|
||||
Navigation.NavigateTo("/Denegado", true);
|
||||
}
|
||||
else if (userState.idUser == 0)
|
||||
{
|
||||
Navigation.NavigateTo("/", true);
|
||||
}
|
||||
}
|
||||
StateHasChanged();
|
||||
var result = await ProtectedLocalStore.GetAsync<UserSessionData>("userSession");
|
||||
|
||||
if (result.Success && result.Value is not null)
|
||||
{
|
||||
UserState.idUser = result.Value.idUser;
|
||||
UserState.EsAdmin = result.Value.EsAdmin;
|
||||
UserState.PuedeAcceder = result.Value.PuedeAcceder;
|
||||
UserState.RedireccionValida = result.Value.RedireccionValida;
|
||||
}
|
||||
else
|
||||
{
|
||||
UserState.idUser = 0;
|
||||
UserState.EsAdmin = false;
|
||||
UserState.PuedeAcceder = false;
|
||||
UserState.RedireccionValida = false;
|
||||
}
|
||||
|
||||
UserState.EstaCargado = true;
|
||||
|
||||
if (userState?.RedireccionValida == false)
|
||||
{
|
||||
Navigation.NavigateTo("/");
|
||||
return;
|
||||
}
|
||||
else
|
||||
if (userState?.idUser == 0)
|
||||
{
|
||||
Navigation.NavigateTo("/Login");
|
||||
return;
|
||||
}
|
||||
else
|
||||
if (userState?.EsAdmin == false)
|
||||
{
|
||||
Navigation.NavigateTo("/Login");
|
||||
return;
|
||||
}
|
||||
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
@inherits LayoutComponentBase
|
||||
@using BlazorBootstrap;
|
||||
@using HerramientaCASA.Model
|
||||
@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@inject UserState UserState
|
||||
@inject IHttpContextAccessor HttpContextAccessor
|
||||
@@ -8,7 +9,7 @@
|
||||
@inject IJSRuntime JS
|
||||
@using bdHerramientaCACOA.db
|
||||
@inject UserState UserState
|
||||
|
||||
@inject ProtectedLocalStorage ProtectedLocalStore
|
||||
<head>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet" />
|
||||
@@ -42,28 +43,53 @@
|
||||
@code{
|
||||
|
||||
|
||||
string? urlAnterior = "";
|
||||
public tsHerramientasCACOA bd;
|
||||
// string? urlAnterior = "";
|
||||
// public tsHerramientasCACOA bd;
|
||||
|
||||
bool urlVaida = true;
|
||||
string rutaActual = "";
|
||||
// bool urlVaida = true;
|
||||
// string rutaActual = "";
|
||||
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (!firstRender)
|
||||
return;
|
||||
|
||||
var result = await ProtectedLocalStore.GetAsync<UserSessionData>("userSession");
|
||||
|
||||
if (result.Success && result.Value is not null)
|
||||
{
|
||||
UserState.idUser = result.Value.idUser;
|
||||
UserState.EsAdmin = result.Value.EsAdmin;
|
||||
UserState.PuedeAcceder = result.Value.PuedeAcceder;
|
||||
UserState.RedireccionValida = result.Value.RedireccionValida;
|
||||
}
|
||||
else
|
||||
{
|
||||
UserState.idUser = 0;
|
||||
UserState.EsAdmin = false;
|
||||
UserState.PuedeAcceder = false;
|
||||
UserState.RedireccionValida = false;
|
||||
}
|
||||
|
||||
urlAnterior = await JS.InvokeAsync<string>("eval", "document.referrer");
|
||||
//urlAnterior = "https://www.cacoa.es";
|
||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||
if (!UtilidadesCASA.UrlPermitida(urlAnterior,bd))
|
||||
{
|
||||
Navigation.NavigateTo("/Denegado", true);
|
||||
}
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
UserState.EstaCargado = true;
|
||||
|
||||
if (UserState?.RedireccionValida == false)
|
||||
{
|
||||
Navigation.NavigateTo("/");
|
||||
return;
|
||||
}
|
||||
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
public class UserSessionData
|
||||
{
|
||||
public int idUser { get; set; }
|
||||
public bool EsAdmin { get; set; }
|
||||
public bool PuedeAcceder { get; set; }
|
||||
public bool RedireccionValida { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
@inject UserState userState
|
||||
@inject IJSRuntime JS
|
||||
@using bdHerramientaCACOA.db
|
||||
@using static HerramientaCASA.Components.Layout.LoginLayout
|
||||
@inject UserState UserState
|
||||
|
||||
|
||||
@@ -93,7 +94,7 @@
|
||||
<div class="ml-auto">
|
||||
<ul class="navbar-nav mr-auto ulMenu">
|
||||
<li class="nav-item">
|
||||
<NavLink class="nav-link headNav" href="/"> <i class="fas fa-user-slash"></i><span class="miniHide">Cerrar Sesión</span></NavLink>
|
||||
<NavLink class="nav-link headNav" href="/Login"> <i class="fas fa-user-slash"></i><span class="miniHide">Cerrar Sesión</span></NavLink>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -130,26 +131,66 @@
|
||||
private byte[] logoColegioArray = [];
|
||||
private string nombreColegio = "";
|
||||
|
||||
// protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
// {
|
||||
// if (firstRender)
|
||||
// {
|
||||
// bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||
// if (!UserState.PuedeAcceder)
|
||||
// {
|
||||
// urlAnterior = await JS.InvokeAsync<string>("eval", "document.referrer");
|
||||
// rutaActual = Navigation.ToBaseRelativePath(Navigation.Uri);
|
||||
// if (!UtilidadesCASA.UrlPermitida(urlAnterior, bd))
|
||||
// {
|
||||
// Navigation.NavigateTo("/Denegado");
|
||||
// }
|
||||
// else if (userState.idUser == 0)
|
||||
// {
|
||||
// Navigation.NavigateTo("/");
|
||||
// }
|
||||
// }
|
||||
// StateHasChanged();
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
if (!firstRender)
|
||||
return;
|
||||
|
||||
var result = await ProtectedLocalStore.GetAsync<UserSessionData>("userSession");
|
||||
|
||||
if (result.Success && result.Value is not null)
|
||||
{
|
||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||
if (!UserState.PuedeAcceder)
|
||||
{
|
||||
urlAnterior = await JS.InvokeAsync<string>("eval", "document.referrer");
|
||||
rutaActual = Navigation.ToBaseRelativePath(Navigation.Uri);
|
||||
if (!UtilidadesCASA.UrlPermitida(urlAnterior, bd))
|
||||
{
|
||||
Navigation.NavigateTo("/Denegado", true);
|
||||
}
|
||||
else if (userState.idUser == 0)
|
||||
{
|
||||
Navigation.NavigateTo("/", true);
|
||||
}
|
||||
}
|
||||
StateHasChanged();
|
||||
}
|
||||
UserState.idUser = result.Value.idUser;
|
||||
UserState.EsAdmin = result.Value.EsAdmin;
|
||||
UserState.PuedeAcceder = result.Value.PuedeAcceder;
|
||||
UserState.RedireccionValida = result.Value.RedireccionValida;
|
||||
}
|
||||
else
|
||||
{
|
||||
UserState.idUser = 0;
|
||||
UserState.EsAdmin = false;
|
||||
UserState.PuedeAcceder = false;
|
||||
UserState.RedireccionValida = false;
|
||||
}
|
||||
|
||||
UserState.EstaCargado = true;
|
||||
|
||||
if (userState?.RedireccionValida == false)
|
||||
{
|
||||
Navigation.NavigateTo("/");
|
||||
return;
|
||||
}
|
||||
else
|
||||
if (userState?.idUser == 0)
|
||||
{
|
||||
Navigation.NavigateTo("/Login");
|
||||
return;
|
||||
}
|
||||
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
|
||||
@@ -465,7 +465,7 @@
|
||||
Type = ToastType.Primary,
|
||||
Message = $"Baja creada correctamente.",
|
||||
});
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link);
|
||||
}
|
||||
private void actualizarBaja(string jsonObjeto)
|
||||
{
|
||||
@@ -488,7 +488,7 @@
|
||||
|
||||
var link = "/Bajas?idSimulador=" + tsUtilidades.crypt.FEncS(id.ToString(), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", 875421649);
|
||||
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link);
|
||||
}
|
||||
public void RefreshState()
|
||||
{
|
||||
|
||||
@@ -81,9 +81,9 @@
|
||||
private async void cargarListaSimulaciones()
|
||||
{
|
||||
|
||||
var idUser = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
var idUser = UserState.idUser;
|
||||
|
||||
listadoSimulaciones = bd.simulaciones.Include(x => x.idTipoSimulacionNavigation).Where(x => x.idCodigo == idUser.Value && (x.idTipoSimulacionNavigation.Codigo == "TIPOHERRAMIENTA.CASA" || x.idTipoSimulacionNavigation.Codigo == "TIPOHERRAMIENTA.URBAND") && x.idSimulacion != datosDespachoClonado.idSimulacion).ToList();
|
||||
listadoSimulaciones = bd.simulaciones.Include(x => x.idTipoSimulacionNavigation).Where(x => x.idCodigo == idUser && (x.idTipoSimulacionNavigation.Codigo == "TIPOHERRAMIENTA.CASA" || x.idTipoSimulacionNavigation.Codigo == "TIPOHERRAMIENTA.URBAND") && x.idSimulacion != datosDespachoClonado.idSimulacion).ToList();
|
||||
|
||||
}
|
||||
public void RefreshState()
|
||||
|
||||
49
HerramientaCASA/Components/Pages/Default.razor
Normal file
49
HerramientaCASA/Components/Pages/Default.razor
Normal file
@@ -0,0 +1,49 @@
|
||||
@inherits LayoutComponentBase
|
||||
@page "/"
|
||||
@layout DenegadoLayout
|
||||
@inject UserState UserState
|
||||
@inject IJSRuntime JS
|
||||
@inject NavigationManager Navigation
|
||||
@using BlazorBootstrap;
|
||||
@using HerramientaCASA.Model
|
||||
@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using static HerramientaCASA.Components.Layout.LoginLayout
|
||||
@inject ProtectedLocalStorage pls
|
||||
@rendermode InteractiveServer
|
||||
<h3></h3>
|
||||
|
||||
@code {
|
||||
string? urlAnterior = "";
|
||||
public tsHerramientasCACOA bd;
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
urlAnterior = await JS.InvokeAsync<string>("eval", "document.referrer");
|
||||
|
||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||
if (!UtilidadesCASA.UrlPermitida(urlAnterior, bd))
|
||||
{
|
||||
Navigation.NavigateTo("/Denegado", false);
|
||||
}
|
||||
else
|
||||
{
|
||||
UserState.Limpiar();
|
||||
UserState.RedireccionValida = true;
|
||||
await GuardarSesion();
|
||||
Navigation.NavigateTo("/Login", false);
|
||||
}
|
||||
//StateHasChanged();
|
||||
}
|
||||
private async Task GuardarSesion()
|
||||
{
|
||||
await pls.SetAsync("userSession", new UserSessionData
|
||||
{
|
||||
idUser = UserState.idUser,
|
||||
EsAdmin = UserState.EsAdmin,
|
||||
PuedeAcceder = UserState.PuedeAcceder,
|
||||
RedireccionValida = UserState.RedireccionValida
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,7 +12,7 @@
|
||||
@inject ServicioPDF PdfService
|
||||
@rendermode InteractiveServer
|
||||
@inject NavigationManager Navigation
|
||||
|
||||
@inject UserState userState
|
||||
|
||||
<Toasts class="p-3 font-weight-bold" Style="color:white;" AutoHide="true" Delay="4000" Messages="mensajes" Placement="ToastsPlacement.BottomCenter" />
|
||||
<p class="TituloVentana">
|
||||
@@ -183,8 +183,8 @@
|
||||
|
||||
nombreOriginal = casa.NombreSimulacion;
|
||||
}
|
||||
var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = obtenerID.Value;
|
||||
//var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = userState.idUser;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -247,7 +247,7 @@
|
||||
Message = $"Simulación creada correctamente.",
|
||||
});
|
||||
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link, false);
|
||||
|
||||
return idSimulacionCreada;
|
||||
}
|
||||
@@ -273,7 +273,7 @@
|
||||
|
||||
var link = "/HerramientaCASAS?idSimulador=" + tsUtilidades.crypt.FEncS(id.ToString(), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", 875421649);
|
||||
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link, false);
|
||||
}
|
||||
|
||||
public void RefreshState()
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
@inject ProtectedLocalStorage ProtectedLocalStore
|
||||
@inject IJSRuntime JS
|
||||
@inject ServicioPDF PdfService
|
||||
@inject UserState userState
|
||||
|
||||
|
||||
@rendermode InteractiveServer
|
||||
@@ -159,8 +160,8 @@
|
||||
|
||||
}
|
||||
|
||||
var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = obtenerID.Value;
|
||||
//var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = userState.idUser;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -226,7 +227,7 @@
|
||||
Message = $"Simulación creada correctamente.",
|
||||
});
|
||||
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link, false);
|
||||
|
||||
return idSimulacionCreada;
|
||||
}
|
||||
@@ -251,7 +252,7 @@
|
||||
|
||||
var link = "/HerramientaURBAN?idSimulador=" + tsUtilidades.crypt.FEncS(id.ToString(), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", 875421649);
|
||||
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link, false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
@inject ProtectedLocalStorage ProtectedLocalStore
|
||||
@inject IJSRuntime JS
|
||||
@inject ServicioPDF PdfService
|
||||
@inject UserState userState
|
||||
|
||||
|
||||
@page "/LicitacionCASA"
|
||||
@@ -284,8 +285,8 @@
|
||||
nombreOriginal = objetoLicitaciones.Descripcion;
|
||||
|
||||
}
|
||||
var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = obtenerID.Value;
|
||||
//var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = userState.idUser;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -354,7 +355,7 @@
|
||||
Type = ToastType.Primary,
|
||||
Message = $"Licitación creada correctamente.",
|
||||
});
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link, false);
|
||||
return idLicitacionCreada;
|
||||
}
|
||||
private void actualizarLicitacion(string jsonObjeto)
|
||||
@@ -379,7 +380,7 @@
|
||||
|
||||
var link = "/LicitacionCASA?idSimulador=" + tsUtilidades.crypt.FEncS(id.ToString(), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", 875421649);
|
||||
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link, false);
|
||||
}
|
||||
|
||||
public void RefreshState()
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage
|
||||
@inject IJSRuntime JS
|
||||
@inject ServicioPDF PdfService
|
||||
@inject UserState userState
|
||||
|
||||
@inject ProtectedLocalStorage ProtectedLocalStore
|
||||
|
||||
@@ -326,8 +327,8 @@
|
||||
|
||||
}
|
||||
|
||||
var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = obtenerID.Value;
|
||||
//var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = userState.idUser;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -392,7 +393,7 @@
|
||||
Message = $"Licitación creada correctamente.",
|
||||
});
|
||||
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link, false);
|
||||
return idSimulacionCreada;
|
||||
}
|
||||
private void actualizarSimulacion(string jsonObjeto)
|
||||
@@ -416,7 +417,7 @@
|
||||
|
||||
var link = "/LicitacionesUrban?idSimulador=" + tsUtilidades.crypt.FEncS(id.ToString(), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", 875421649);
|
||||
|
||||
Navigation.NavigateTo(link, true);
|
||||
Navigation.NavigateTo(link, false);
|
||||
}
|
||||
|
||||
public async Task CalcularTabla(string idProvincia)
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
@page "/ClaveGenerada"
|
||||
@using HerramientaCASA.Components.Layout
|
||||
@using HerramientaCASA.Model
|
||||
@using bdHerramientaCACOA.db
|
||||
@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage
|
||||
|
||||
@rendermode InteractiveServer
|
||||
@layout LoginLayout
|
||||
@layout DenegadoLayout
|
||||
@inject NavigationManager Navigation
|
||||
@inject ProtectedLocalStorage ProtectedLocalStore
|
||||
@inject UserState UserState
|
||||
|
||||
|
||||
<div class="back">
|
||||
@@ -34,17 +36,22 @@
|
||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||
logoColegioArray = bd.ficheros.Where(x => x.NombreFichero == "LogoColegio").Select(x => x.Fichero).First();
|
||||
|
||||
var obtenerId = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
claveUsuario = obtenerId.Value;
|
||||
//var obtenerId = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
claveUsuario = UserState.idUser;
|
||||
|
||||
if (claveUsuario == 0 || claveUsuario == null)
|
||||
{
|
||||
Navigation.NavigateTo("/", forceLoad: true);
|
||||
} else
|
||||
{
|
||||
UserState.idUser = claveUsuario.Value;
|
||||
UserState.PuedeAcceder = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private async Task irPanelControl()
|
||||
{
|
||||
Navigation.NavigateTo("/PanelControl", forceLoad: true);
|
||||
Navigation.NavigateTo("/PanelControl", forceLoad: false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
<script src="Scripts/popper.min.js"></script>
|
||||
<script src="Scripts/all.min.js"></script>
|
||||
<script src="Scripts/Util.js"></script>
|
||||
<title>Acceso Denegado</title>
|
||||
</head>
|
||||
<div class="fondo">
|
||||
<div class="back">
|
||||
@@ -62,9 +63,11 @@
|
||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||
logoColegioArray = bd.ficheros.First(x => x.NombreFichero == "LogoColegio").Fichero;
|
||||
|
||||
var datosURL = bd.enumeraciones.First(x => x.Codigo.Contains("CW.URLWEBCOLEGIO"));
|
||||
var datosURL = bd.enumeraciones.First(x => x.Codigo.Contains("CW.URLWEBCOLEGIO"));
|
||||
urlWeb = datosURL.ValorAlfabetico1;
|
||||
textoURL = datosURL.ValorAlfabetico2;
|
||||
|
||||
UserState.Limpiar();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,163 +1,204 @@
|
||||
@page "/"
|
||||
@page "/Login"
|
||||
@using HerramientaCASA.Model
|
||||
@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage
|
||||
@using Microsoft.EntityFrameworkCore
|
||||
@using static HerramientaCASA.Components.Layout.LoginLayout
|
||||
@inject ProtectedLocalStorage ProtectedLocalStore
|
||||
@rendermode InteractiveServer
|
||||
@layout LoginLayout
|
||||
@inject IHttpContextAccessor HttpContextAccessor
|
||||
@inject NavigationManager Navigation
|
||||
@inject UserState UserState
|
||||
@inject IJSRuntime JS
|
||||
|
||||
|
||||
<div class="fondo">
|
||||
<div class="back">
|
||||
<div class="back">
|
||||
<div class="div-center arealogin">
|
||||
<div class="content">
|
||||
<div class="d-flex">
|
||||
<div class="content">
|
||||
<div class="d-flex">
|
||||
<img src="Content/Imagenes/CACOA-6.png" height="45" class="me-3" />
|
||||
@if(nombreColegio!="CACOA")
|
||||
@if (nombreColegio != "CACOA")
|
||||
{
|
||||
<div class="ms-auto">
|
||||
<img src="data:image/png;base64, @System.Convert.ToBase64String(logoColegioArray)" height="45" />
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
<h4 class="mt-2">Acceso a la Herramienta</h4>
|
||||
<hr />
|
||||
|
||||
<EditForm Model="login" FormName="loginForm" OnValidSubmit="Acceder">
|
||||
<DataAnnotationsValidator />
|
||||
|
||||
<div class="form-group">
|
||||
<label for="clave">Clave de acceso</label>
|
||||
<input type="number" class="form-control" @bind-value="login.codigo" placeholder="0000000000000" id="clave" />
|
||||
<ValidationMessage For="() => login.codigo" />
|
||||
</div>
|
||||
|
||||
<h4 class="mt-2">Acceso a la Herramienta</h4>
|
||||
<div class="form-group">
|
||||
<label>Password</label>
|
||||
<div class="input-group">
|
||||
<PasswordInput Class="form-control" @bind-Value="login.password" Id="pass" />
|
||||
</div>
|
||||
<ValidationMessage For="() => login.password" />
|
||||
</div>
|
||||
|
||||
<div class="form-group d-flex">
|
||||
<CheckboxInput Class="form-check-input"
|
||||
Id="chkRecuerda"
|
||||
Value="@recuerda"
|
||||
ValueExpression="() => recuerda"
|
||||
ValueChanged="checkCambiado" />
|
||||
<label class="form-check-label" for="chkRecuerda">Recordarme</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<small class="form-text text-muted">
|
||||
Si es la primera vez que utiliza la herramienta,
|
||||
<a href="NuevoAcceso" class="mt-2">cree una nueva clave de acceso</a>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<p class="form-text text-muted" style="color:red !important">@mensajeError</p>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btnBlue">Acceder</button>
|
||||
|
||||
<hr />
|
||||
<EditForm Model="login" FormName="loginForm" OnValidSubmit="Acceder">
|
||||
<DataAnnotationsValidator></DataAnnotationsValidator>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail1">Clave de acceso</label>
|
||||
<input type="number" class="form-control" @bind-value="@login.codigo" placeholder="0000000000000" id="clave" />
|
||||
<ValidationMessage For="() => login.codigo" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Password</label>
|
||||
<div class="input-group">
|
||||
<PasswordInput Class="form-control" @bind-Value="@login.password" Id="pass" />
|
||||
</div>
|
||||
<ValidationMessage For="() => login.password" />
|
||||
</div>
|
||||
<div class="form-group d-flex">
|
||||
@* <input type="checkbox" class="form-check-input" id="chkRecuerda" /> *@
|
||||
<CheckboxInput Class="form-check-input" Id="chkRecuerda" Value=@recuerda ValueExpression="() => recuerda" ValueChanged="(value) => checkCambiado(value)" />
|
||||
<label class="form-check-label" for="Recuerdame">Recordarme</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<small class="form-text text-muted">Si es la primera vez que utiliza la herramienta, <a href="NuevoAcceso" class="mt-2">cree una nueva clave de acceso</a></small>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<p class="form-text text-muted" style="color:red !important">@mensajeError</p>
|
||||
</div>
|
||||
<button type="submit" class="btnBlue"> Acceder </button>
|
||||
<hr />
|
||||
<div class="d-flex">
|
||||
|
||||
<div class="ms-auto">
|
||||
<p style="font-size:10px;margin-bottom:0px" class="text-muted">Desarrollado por:</p>
|
||||
<img src="Content/Imagenes/LogoTcsColor.png" height="20" class="me-3" />
|
||||
</div>
|
||||
</div>
|
||||
</EditForm>
|
||||
</div>
|
||||
</EditForm>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@code {
|
||||
|
||||
public tsHerramientasCACOA bd;
|
||||
@code {
|
||||
public tsHerramientasCACOA bd = default!;
|
||||
private LoginVM login = new LoginVM();
|
||||
private string mensajeError = "";
|
||||
private bool recuerda = false;
|
||||
string? urlAnterior = "";
|
||||
string rutaActual = "";
|
||||
|
||||
private byte[] logoColegioArray = [];
|
||||
private string nombreColegio = "";
|
||||
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
protected override Task OnInitializedAsync()
|
||||
{
|
||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||
nombreColegio = bd.enumeraciones.First(x => x.Codigo == "CW.NOMBRECOLEGIO").ValorAlfabetico1;
|
||||
logoColegioArray = bd.ficheros.Where(x => x.NombreFichero == "LogoColegio").Select(x => x.Fichero).First();
|
||||
logoColegioArray = bd.ficheros
|
||||
.Where(x => x.NombreFichero == "LogoColegio")
|
||||
.Select(x => x.Fichero)
|
||||
.First();
|
||||
|
||||
await ProtectedLocalStore.SetAsync("idUsuario", 0);
|
||||
await ProtectedLocalStore.SetAsync("EsAdmin", false);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
// Limpiar almacenamiento local o sesión si se está utilizando
|
||||
if (HttpContextAccessor?.HttpContext?.Session != null)
|
||||
{
|
||||
HttpContextAccessor.HttpContext.Session.Clear();
|
||||
}
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (!firstRender)
|
||||
return;
|
||||
|
||||
var rec = await ProtectedLocalStore.GetAsync<bool>("rec");
|
||||
if(rec.Value==true){
|
||||
if (rec.Success && rec.Value)
|
||||
{
|
||||
var usuario = await ProtectedLocalStore.GetAsync<int>("US");
|
||||
var clave = await ProtectedLocalStore.GetAsync<string>("PS");
|
||||
login.codigo = usuario.Value;
|
||||
login.password = clave.Value;
|
||||
|
||||
if (usuario.Success)
|
||||
login.codigo = usuario.Value;
|
||||
|
||||
if (clave.Success)
|
||||
login.password = clave.Value;
|
||||
|
||||
recuerda = true;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private async void checkCambiado(bool e)
|
||||
private Task checkCambiado(bool value)
|
||||
{
|
||||
recuerda = e;
|
||||
recuerda = value;
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
private async Task Acceder()
|
||||
{
|
||||
var adminUser = bd.enumeraciones.First(x=> x.Codigo=="CW.ADMIN");
|
||||
mensajeError = "";
|
||||
|
||||
var adminUser = bd.enumeraciones.First(x => x.Codigo == "CW.ADMIN");
|
||||
|
||||
if (login.codigo == adminUser.ValorNumerico1 && login.password == adminUser.ValorAlfabetico1)
|
||||
{
|
||||
await ProtectedLocalStore.SetAsync("idUsuario", -1);
|
||||
await ProtectedLocalStore.SetAsync("EsAdmin", true);
|
||||
|
||||
UserState.idUser = -1;
|
||||
UserState.PuedeAcceder =true;
|
||||
UserState.EsAdmin = true;
|
||||
UserState.PuedeAcceder = true;
|
||||
UserState.RedireccionValida = true;
|
||||
|
||||
Navigation.NavigateTo("/PanelControlConf", forceLoad: true);
|
||||
}
|
||||
else
|
||||
{
|
||||
var usuario = bd.usuarios.FirstOrDefault(x => x.Codigo == login.codigo && x.Contrasena == login.password);
|
||||
await GuardarSesion();
|
||||
|
||||
if (usuario == null)
|
||||
if (recuerda)
|
||||
{
|
||||
mensajeError = "Usuario no encontrado en la base de datos.";
|
||||
await ProtectedLocalStore.SetAsync("US", login.codigo);
|
||||
await ProtectedLocalStore.SetAsync("PS", login.password ?? "");
|
||||
await ProtectedLocalStore.SetAsync("rec", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
await ProtectedLocalStore.SetAsync("idUsuario", usuario.idUsuario);
|
||||
await ProtectedLocalStore.SetAsync("EsAdmin", false);
|
||||
|
||||
UserState.idUser = usuario.idUsuario;
|
||||
UserState.PuedeAcceder =true;
|
||||
|
||||
|
||||
if (recuerda)
|
||||
{
|
||||
await ProtectedLocalStore.SetAsync("US", login.codigo);
|
||||
await ProtectedLocalStore.SetAsync("PS", login.password);
|
||||
await ProtectedLocalStore.SetAsync("rec", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
await ProtectedLocalStore.SetAsync("rec", false);
|
||||
}
|
||||
|
||||
|
||||
Navigation.NavigateTo("/PanelControl", forceLoad: true);
|
||||
await ProtectedLocalStore.DeleteAsync("US");
|
||||
await ProtectedLocalStore.DeleteAsync("PS");
|
||||
await ProtectedLocalStore.SetAsync("rec", false);
|
||||
}
|
||||
|
||||
Navigation.NavigateTo("/PanelControlConf");
|
||||
return;
|
||||
}
|
||||
|
||||
var usuario = bd.usuarios.FirstOrDefault(x => x.Codigo == login.codigo && x.Contrasena == login.password);
|
||||
|
||||
if (usuario is null)
|
||||
{
|
||||
mensajeError = "Usuario no encontrado en la base de datos.";
|
||||
return;
|
||||
}
|
||||
|
||||
UserState.idUser = usuario.idUsuario;
|
||||
UserState.EsAdmin = false;
|
||||
UserState.PuedeAcceder = true;
|
||||
UserState.RedireccionValida = true;
|
||||
|
||||
await GuardarSesion();
|
||||
|
||||
if (recuerda)
|
||||
{
|
||||
await ProtectedLocalStore.SetAsync("US", login.codigo);
|
||||
await ProtectedLocalStore.SetAsync("PS", login.password ?? "");
|
||||
await ProtectedLocalStore.SetAsync("rec", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
await ProtectedLocalStore.DeleteAsync("US");
|
||||
await ProtectedLocalStore.DeleteAsync("PS");
|
||||
await ProtectedLocalStore.SetAsync("rec", false);
|
||||
}
|
||||
|
||||
Navigation.NavigateTo("/PanelControl");
|
||||
}
|
||||
|
||||
private async Task GuardarSesion()
|
||||
{
|
||||
await ProtectedLocalStore.SetAsync("userSession", new UserSessionData
|
||||
{
|
||||
idUser = UserState.idUser,
|
||||
EsAdmin = UserState.EsAdmin,
|
||||
PuedeAcceder = UserState.PuedeAcceder,
|
||||
RedireccionValida = UserState.RedireccionValida
|
||||
});
|
||||
}
|
||||
}
|
||||
`
|
||||
@@ -1,13 +1,14 @@
|
||||
@page "/NuevoAcceso"
|
||||
@using HerramientaCASA.Components.Layout
|
||||
@using HerramientaCASA.Model
|
||||
@using bdHerramientaCACOA.db
|
||||
@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage
|
||||
|
||||
@rendermode InteractiveServer
|
||||
@layout LoginLayout
|
||||
@layout DenegadoLayout
|
||||
@inject NavigationManager Navigation
|
||||
@inject ProtectedLocalStorage ProtectedLocalStore
|
||||
|
||||
@inject UserState UserState
|
||||
|
||||
<div class="back">
|
||||
<div class="div-center">
|
||||
@@ -64,10 +65,12 @@
|
||||
nuevoAcceso.Codigo = nuevoAcceso.idUsuario;
|
||||
bd.SaveChanges();
|
||||
|
||||
await ProtectedLocalStore.SetAsync("idUsuario", nuevoAcceso.idUsuario);
|
||||
//await ProtectedLocalStore.SetAsync("idUsuario", nuevoAcceso.idUsuario);
|
||||
|
||||
//UserState.idUser = nuevoAcceso.idUsuario;
|
||||
|
||||
|
||||
Navigation.NavigateTo("/ClaveGenerada", forceLoad: true);
|
||||
Navigation.NavigateTo("/Login");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,8 +71,8 @@
|
||||
{
|
||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: true);
|
||||
|
||||
var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = obtenerID.Value;
|
||||
//var obtenerID = await ProtectedLocalStore.GetAsync<int>("idUsuario");
|
||||
idUser = UserState.idUser;
|
||||
|
||||
listadoSimulaciones = bd.simulaciones.Include(x => x.idTipoSimulacionNavigation).Include(x => x.idFicheroJSONNavigation).Where(x => x.idCodigo == idUser && x.idTipoSimulacionNavigation.Codigo == "TIPOHERRAMIENTA." + TipoSimulacion).ToList();
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
private void irNuevaSimulacion()
|
||||
{
|
||||
Navigation.NavigateTo("/Bajas", true);
|
||||
Navigation.NavigateTo("/Bajas", false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
private void irNuevaSimulacion()
|
||||
{
|
||||
Navigation.NavigateTo("/HerramientaURBAN", true);
|
||||
Navigation.NavigateTo("/HerramientaURBAN", false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
private void irNuevaSimulacion()
|
||||
{
|
||||
Navigation.NavigateTo("/HerramientaCASAS", true);
|
||||
Navigation.NavigateTo("/HerramientaCASAS", false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
private void irNuevaSimulacion()
|
||||
{
|
||||
Navigation.NavigateTo("/LicitacionCASA", true);
|
||||
Navigation.NavigateTo("/LicitacionCASA", false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
private void irNuevaSimulacion()
|
||||
{
|
||||
Navigation.NavigateTo("/LicitacionesURBAN", true);
|
||||
Navigation.NavigateTo("/LicitacionesURBAN", false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,64 +2,21 @@
|
||||
{
|
||||
public class UserState
|
||||
{
|
||||
private readonly object _lock = new object();
|
||||
private int _idUser;
|
||||
private bool _esAdmin;
|
||||
private bool _puedeAcceder;
|
||||
public int idUser
|
||||
public int idUser { get; set; }
|
||||
public bool EsAdmin { get; set; }
|
||||
public bool PuedeAcceder { get; set; }
|
||||
public bool RedireccionValida { get; set; }
|
||||
public bool EstaCargado { get; set; }
|
||||
//public DateTime UltimoAcceso { get; set; }
|
||||
|
||||
public void Limpiar()
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (_lock)
|
||||
{
|
||||
return _idUser;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (_lock)
|
||||
{
|
||||
_idUser = value;
|
||||
}
|
||||
}
|
||||
idUser = 0;
|
||||
EsAdmin = false;
|
||||
PuedeAcceder = false;
|
||||
RedireccionValida = false;
|
||||
EstaCargado = true;
|
||||
//UltimoAcceso = DateTime.Now;
|
||||
}
|
||||
|
||||
public bool EsAdmin
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (_lock)
|
||||
{
|
||||
return _esAdmin;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (_lock)
|
||||
{
|
||||
_esAdmin = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public bool PuedeAcceder
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (_lock)
|
||||
{
|
||||
return _puedeAcceder;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (_lock)
|
||||
{
|
||||
_puedeAcceder = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using bdHerramientaCACOA.dbcontext;
|
||||
using bdHerramientaCACOA.HerramientaUrban;
|
||||
using DinkToPdf;
|
||||
using DinkToPdf.Contracts;
|
||||
using HerramientaCASA;
|
||||
@@ -7,10 +8,12 @@ using HerramientaCASA.Model;
|
||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||
using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Internal;
|
||||
using System.Globalization;
|
||||
using System.Runtime.InteropServices;
|
||||
using tsUtilidades;
|
||||
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
|
||||
@@ -57,7 +60,7 @@ builder.Services.AddSession(options =>
|
||||
builder.Services.AddHttpClient();
|
||||
builder.Services.AddBlazorBootstrap();
|
||||
builder.Services.AddAntiforgery();
|
||||
builder.Services.AddSingleton<UserState>();
|
||||
builder.Services.AddScoped<UserState>();
|
||||
builder.Services.AddScoped<ProtectedLocalStorage>();
|
||||
|
||||
var app = builder.Build();
|
||||
@@ -94,29 +97,41 @@ app.UseAntiforgery();
|
||||
|
||||
app.Use(async (context, next) =>
|
||||
{
|
||||
var userState = context.RequestServices.GetService<UserState>();
|
||||
var path = context.Request.Path;
|
||||
//var userState = context.RequestServices.GetService<UserState>();
|
||||
//var path = context.Request.Path;
|
||||
|
||||
if (path == "/" ||
|
||||
path.StartsWithSegments("/_blazor") ||
|
||||
path.StartsWithSegments("/Content") ||
|
||||
path.StartsWithSegments("/Scripts") ||
|
||||
path.StartsWithSegments("/favicon.ico") ||
|
||||
path.StartsWithSegments("/_framework"))
|
||||
{
|
||||
await next();
|
||||
return;
|
||||
}
|
||||
|
||||
//// Redirigir al home si no hay token y la ruta no es p<>blica
|
||||
//if (userState?.idUser == 0)
|
||||
//if (path == "/" ||
|
||||
// path == "/Denegado" ||
|
||||
// path.StartsWithSegments("/_blazor") ||
|
||||
// path.StartsWithSegments("/_content") ||
|
||||
// path.StartsWithSegments("/Content") ||
|
||||
// path.StartsWithSegments("/Scripts") ||
|
||||
// path.StartsWithSegments("/favicon.ico") ||
|
||||
// path.StartsWithSegments("/_framework") ||
|
||||
// (path == "/Login" && userState.RedireccionValida == true))
|
||||
//{
|
||||
// Console.WriteLine($"Redirigiendo al home desde: {path}");
|
||||
// context.Response.Redirect("/");
|
||||
// await next();
|
||||
// return;
|
||||
//}
|
||||
|
||||
// Continuar con la solicitud
|
||||
|
||||
//if (userState?.RedireccionValida == false)
|
||||
//{
|
||||
// Console.WriteLine($"Redirigiendo al home desde: {path}");
|
||||
// context.Response.Redirect("/");
|
||||
// await next();
|
||||
// return;
|
||||
//}
|
||||
//else
|
||||
//if (userState?.idUser == 0)
|
||||
//{
|
||||
// Console.WriteLine($"Redirigiendo al home desde: {path}");
|
||||
// context.Response.Redirect("/Login");
|
||||
// await next();
|
||||
// return;
|
||||
//}
|
||||
|
||||
////Continuar con la solicitud
|
||||
await next();
|
||||
});
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ using bdHerramientaCACOA.HerramientaURBAN;
|
||||
using BlazorBootstrap;
|
||||
using ClosedXML.Excel;
|
||||
using DocumentFormat.OpenXml.Office2013.Drawing.ChartStyle;
|
||||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using HerramientaCASA.Components.Pages;
|
||||
using HerramientaCASA.Components.Pages.HerramientaCASATabs;
|
||||
using HerramientaCASA.Model;
|
||||
@@ -1513,5 +1514,7 @@ namespace HerramientaCASA
|
||||
return table;
|
||||
}
|
||||
|
||||
|
||||
//private static
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
}
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"WriteConnection": "Server=localhost;Port=22222;Database=herramientascoaaragon;User Id=cacoa;Password=cacoa2018-;",
|
||||
"ReadOnlyConnection": "Server=localhost;Port=22222;Database=herramientascoaaragon;User Id=cacoa;Password=cacoa2018-;"
|
||||
//"WriteConnection": "Server=localhost;Port=22222;Database=herramientascacoa;User Id=cacoa;Password=cacoa2018-;",
|
||||
//"ReadOnlyConnection": "Server=localhost;Port=22222;Database=herramientascacoa;User Id=cacoa;Password=cacoa2018-;"
|
||||
|
||||
// CONEXIÓN CACOA
|
||||
//"WriteConnection": "Server=77.229.174.85;Port=22222;Database=herramientascacoa;User Id=cacoa;Password=cacoa2018-;",
|
||||
//"ReadOnlyConnection": "Server=77.229.174.85;Port=22222;Database=herramientascacoa;User Id=cacoa;Password=cacoa2018-;"
|
||||
"WriteConnection": "Server=77.229.174.85;Port=22222;Database=herramientascacoa;User Id=cacoa;Password=cacoa2018-;",
|
||||
"ReadOnlyConnection": "Server=77.229.174.85;Port=22222;Database=herramientascacoa;User Id=cacoa;Password=cacoa2018-;"
|
||||
|
||||
// CONEXIÓN Herramienta Cacoa Generica
|
||||
//"WriteConnection": "Server=77.229.174.85;Port=22222;Database=herramientascacoagenerica;User Id=cacoa;Password=cacoa2018-;",
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 3.2 KiB |
Reference in New Issue
Block a user