lunes, 5 de octubre de 2015

Filtros dinámicos en SQL

Ir formando la consulta por medio de una cadena (código rojo) y usar IFs puede servirnos pero puede ser algo batalloso después.


Así que veremos otra alternativa a esto de arriba claro cuando necesitemos que un parámetro del WHERE sea dinámico.

Básicamente jugamos con el parámetro de entro en un AND usando un OR para las opciones 




martes, 11 de febrero de 2014

Función para sacar el nombre corto de un archivo en C#.

  Buenos días hoy les traigo una función para C# muy útil para acortar los nombres de los archivos, esta muy función me sirvió para abrir archivos .DBF ya que el controlador no puede abrir archivos de más de 8 caracteres. Esta función hace uso de kernel32.dll, el resultado sería archvi~1

La función la encontré y la comparto para que sea más fácil su búsqueda.

public static string GetShortFileName(string fileDirectory, string fileNameWithExtension)
{
    StringBuilder temp = new StringBuilder(255);

    string path = System.IO.Path.Combine(fileDirectory, fileNameWithExtension);

    int n = GetShortPathName(path, temp, 255);

    if (n == 0)
        throw new NotImplementedException();

    string extension = System.IO.Path.GetExtension(path);

    return ((temp.ToString().Split('\\')).Last()).ToLower();//.Replace(extension, string.Empty);
}

[System.Runtime.InteropServices.DllImport("kernel32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
public static extern int GetShortPathName(
    [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)]    
        string path,
    [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)]    
        StringBuilder shortPath,
    int shortPathLength);

Si también tienen problemas para abrir un .DBF esto podría servirles, claro partiendo de que ya tienen la conexión
string nomFile = GetShortFileName(Path.GetDirectoryName(FilePath), Path.GetFileName(FilePath));
nomFile = nomFile.Substring(0, nomFile.Length - 4);
                
OleDbDataAdapter dadp = new OleDbDataAdapter("select * from [" + nomFile + "#DBF];", con);

martes, 7 de enero de 2014

Libro de TRANCE-Formation of America en español y en inglés.

   Hola a todos les comparto este libro que ya no es nada nuevo pero sigue siendo algo interesante. La versión en inglés es muy fácil conseguirla pero la de español es un poco tardado encontrar un lugar para bajarlo y es por eso que lo comparto.

   El libro es en sí mismo una autobiografía documentada de Cathy O'Brien la cual nos cuenta que el gobierno de los Estados Unidos la utilizo como esclava sexual y de como la controlaban mentalmente mediante traumas y de como ella y su hija Kelly les ayudan a escapar de su cruel infierno.

   Ella de cierta manera deja claro que de como U.S.A empieza con su proyecto del Nuevo Orden Mundial (Nuevo Gobierno Mundial). También relatando que los senadores, gobernadores, presidentes, agentes de la CIA, personal de la NASA, entre otros son gente despreciable, abominable, pedofila, drogadicta que no le importa la vida de las demás personas.

   Nos ocultan muchas, nos engañan, nos hacen creer que las cosas son para nuestro beneficio pero en realidad son para perjudicarnos y ellos son los únicos beneficiados. Tenemos que abrir los ojos unirnos pensar en como salir de su trampa y de como devolverles el golpe que nos han dado.

  Y como dice al final:
"La verdad nos hará libres"

 Links:

---------------------------------------------MediaFire

En español
http://www.mediafire.com/view/w7iz5nea1pb6jng/TRANCE-formacion-de-America.pdf

En Inglés
http://www.mediafire.com/view/a5aipesahatbzu2/Trance-Formation-Of-America.pdf
------------------------------------------------------------------------------------------

---------------------------------------------Google Drive

En español
https://drive.google.com/file/d/0B7fjx4tpw7DybmZwSW4teGZtb2M/edit?usp=sharing

En Inglés
https://drive.google.com/file/d/0B7fjx4tpw7DyOGxPQXI2dUVtbjg/edit?usp=sharing
------------------------------------------------------------------------------------------------------

-----------------------------------------------SkyDrive

En español
http://sdrv.ms/KwGEPb

En Inglés
http://sdrv.ms/KwGAiq
--------------------------------------------------------------------------------------------------

----------------------------------------------DropBox

En español
https://www.dropbox.com/s/rczbpe6pxfhcc5f/TRANCE-formacion-de-America.pdf

En Inglés
https://www.dropbox.com/s/ks3dfv6f7v9hosy/Trance-Formation-Of-America.pdf
-------------------------------------------------------------------------------------------------


miércoles, 23 de octubre de 2013

Pasar una View o PartialView a string MVC

La función no la hice yo y aquí esta la fuente https://gist.github.com/cassioeskelsen/831567 pero como a veces es algo difícil de encontrar la pongo aquí para que sea más fácil su búsqueda.


protected string RenderPartialViewToString(string viewName, object model)
{
    if (string.IsNullOrEmpty(viewName))
        viewName = ControllerContext.RouteData.GetRequiredString("action");

    ViewData.Model = model;

    using (StringWriter sw = new StringWriter())
    {
        ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
        ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
        viewResult.View.Render(viewContext, sw);

        return sw.GetStringBuilder().ToString();
    }
}

miércoles, 25 de septiembre de 2013

Error al cagar un .obj en mvc asp con three.js

Cuando intentamos cargar un .obj no nos deja porque la extención no esta mapeada por lo cual hay que agregarla en la configuración del Web.config



    
      
    
  

viernes, 6 de septiembre de 2013

¿Como saber si las cookies están habilitadas del lado del cliente?

Esto se puede comprobar en el Javascript con el objeto con la propiedad cookieEnabled del objeto navigator.


function are_cookies_enabled() {
        var cookieEnabled = (navigator.cookieEnabled) ? true : false;

        if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
            document.cookie = "testcookie";
            cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
        }
        return (cookieEnabled);
    }

También se puede saber creando una cookie y comprobar si el navegador lo hizo o no.






Fuentes:
http://stackoverflow.com/questions/2167310/how-to-show-a-message-only-if-cookies-are-disabled-in-browser
http://stackoverflow.com/questions/531393/how-to-detect-server-side-whether-cookies-are-disabled
http://es.softuses.com/70356

¿Como saber si esta habilitado el Javasript del lado del cliente?

Esto es en realidad es muy sencillo solo hay que utilizar la etiqueta <noscript> y de entro de ella el mensaje que se quiera dar al usuario en caso de que no este habilitado el Javascript.




Fuentes:
http://respag.net/c%C3%B3mo-detectar-si-javascript-est%C3%A1-habilitado.aspx
http://www.enable-javascript.com/es/

jueves, 4 de julio de 2013

Usar un clase Anonymous Type en C#

Los Anonymous Type son una característica de C# proporcionan una manera conveniente para encapsular un conjunto de propiedades de sólo lectura en un solo objeto sin tener que definir explícitamente un tipo de primera. El nombre del tipo es generado por el compilador y no está disponible a nivel de código fuente. El tipo de cada propiedad se infiere por el compilador.

Los Anonymous Type son tipos de clases que se derivan directamente de object, y que no se pueden convertir a cualquier tipo excepto objeto. El compilador proporciona un nombre para cada tipo anónimo, aunque su aplicación no puede acceder a ella. Desde el punto de vista del tiempo de ejecución de lenguaje común, un tipo anónimo no es diferente de cualquier otro tipo de referencia.

Declaración:
object o = new { valor1 = "", valor2 = "", valor3 = "" };

Consulta:
Type t = o.GetType();
ProcessInfo p = t.GetProperty("valor1");
object v = p.GetValue(t);

Ó en 2 líneas:
Type t = o.GetType();
object v = t.GetProperty("valor1").GetValue(t);