59 lines
No EOL
2 KiB
C#
59 lines
No EOL
2 KiB
C#
using CuentasCobrar.CORE.Exceptions;
|
|
using CuentasCobrar.UI.Helpers;
|
|
using CuentasCobrar.UI.Services.Interfaces;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using static CuentasCobrar.UI.Helpers.Enum;
|
|
|
|
namespace CuentasCobrar.UI.Controllers
|
|
{
|
|
public class HomeController : BaseController
|
|
{
|
|
private readonly IUsuarioAPI _usuarioAPI;
|
|
public HomeController ( IUsuarioAPI usuarioAPI )
|
|
{
|
|
_usuarioAPI = usuarioAPI;
|
|
}
|
|
|
|
public async Task<IActionResult> Index ()
|
|
{
|
|
|
|
try
|
|
{
|
|
if (Request.Cookies["CookieToken"] == null)
|
|
{
|
|
string tokenUsuario = await CrearToken ( _usuarioAPI );
|
|
CrearCookies ( tokenUsuario );
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (ex.GetType () == typeof ( BadRequestException ))
|
|
{
|
|
BadRequestException excepcion = ex as BadRequestException;
|
|
CustomNotification ( $"Error {excepcion.number}: {excepcion.Message}", TipoNotificacion.error, NotificationPosition.Center, "Usuario" );
|
|
return RedirectToAction ( "Error", new { numeroError = excepcion.number, descripcionError = excepcion.Message } );
|
|
}
|
|
else
|
|
{
|
|
return RedirectToAction ( "Error", new { numeroError = 500, descripcionError = "Se produjo un error!" } );
|
|
}
|
|
}
|
|
return View ();
|
|
}
|
|
|
|
public IActionResult Privacy ()
|
|
{
|
|
return View ();
|
|
}
|
|
|
|
[ResponseCache ( Duration = 0, Location = ResponseCacheLocation.None, NoStore = true )]
|
|
public IActionResult Error ( int? numeroError, string descripcionError )
|
|
{
|
|
ViewBag.NumeroError = numeroError == null ? 503 : numeroError;
|
|
ViewBag.descripcionError = descripcionError == null ? "Ha ocurrido un problema al comunicarse con el servidor" : descripcionError;
|
|
|
|
return View ();
|
|
}
|
|
|
|
}
|
|
} |