public async Task <IActionResult> Delete(Guid?id) { var validateToken = await ValidatedToken(_configuration, _getHelper, "contacto"); if (validateToken != null) { return(validateToken); } if (!await ValidateModulePermissions(_getHelper, moduloId, eTipoPermiso.PermisoEscritura)) { return(RedirectToAction(nameof(Index))); } if (id == null) { TempData["toast"] = "Identificador incorrecto."; return(RedirectToAction(nameof(Index))); } var colaborador = await _getHelper.GetColaboradorByIdAsync((Guid)id); if (colaborador == null) { TempData["toast"] = "Colaborador inexistente (identificador incorrecto)."; return(RedirectToAction(nameof(Index))); } try { _context.Colaboradores.Remove(colaborador); await _context.SaveChangesAsync(); TempData["toast"] = "Los datos del colaborador fueron eliminados correctamente."; await BitacoraAsync("Baja", colaborador); } catch (Exception ex) { string excepcion = ex.InnerException != null?ex.InnerException.Message.ToString() : ex.ToString(); TempData["toast"] = "Los datos del colaborador no pueden ser eliminados por integridad de la información."; await BitacoraAsync("Baja", colaborador, excepcion); } return(RedirectToAction(nameof(Index))); }