Curso de MVC .Net C# Entity Framework, autentificación #2

En este segundo video veremos cómo agregar Entity Framework a nuestro proyecto MVC .Net, ademas explicare puntos clave para evitar problemas a futuro, te ahorrare horas de stackoverfow.

Primer video del curso: https://www.youtube.com/watch?v=UZNoQMio4XM

¿Cómo hacer un between entre dos fechas con Eloquent en Laravel 5.x?

Para hacer un between en Laravel utilizando Eloquent entre un rango de fechas, lo podemos hacer de la siguiente manera:


//creams 2 objetos tipo carbon con las fechas
$f1 = new \Carbon\Carbon("01-01-2018");
$f2 = new \Carbon\Carbon("31-01-2018");

//aplicamos Eloquent
$lst=MiModelo::where("date_start",">=",$f1)
             ->where("date_end","<=",$f2)
             ->get(); 

¿Cómo obtener la diferencia en minutos de dos fechas en Laravel 5.x?

Para obtener la diferencia en minutos de dos fechas haremos uso de Carbon una extensión de DateTime que viene incluida en Laravel la cual tiene muchísimas funcionalidades interesantes.

A continuación un ejemplo:


//convertimos la fecha 1 a objeto Carbon
$carbon1 = new \Carbon\Carbon("2018-01-01 00:00:00");
//convertimos la fecha 2 a objeto Carbon
$carbon2 = new \Carbon\Carbon("2018-02-02 00:00:00");
//de esta manera sacamos la diferencia en minutos
$minutesDiff=$carbon1->diffInMinutes($carbon2);

¿Cómo bloquear el botón de regresar del navegador con javascript?

El siguiente código sirve para que puedas bloquear desde una web por medio de javascript el botón de regresar que tiene el navegador.

El código funciona con Chrome, Firefox, Edge, Opera (quizá con otros navegador, pero con estos lo probe).

Solo basta que pongan las 3 líneas siguientes al finalizar de cargar su DOM.


window.location.hash="no-back-button";
window.location.hash="Again-No-back-button";//esta linea es necesaria para chrome
window.onhashchange=function(){window.location.hash="no-back-button";}

Video demostrándolo

¿Cómo insertar miles de registros con Entity Framework? C# .Net

En el siguiente video te explico una manera correcta de insertar miles de registros utilizando Entity Framework.

Aprende Entity Framework en 10 minutos


int numeroLotes = 1000;

using (var db = new pruebaEntities())
{
      for (int i = 0; i < 4000; i++)
      {
           var oNumber = new numbers();
           oNumber.number = i;
           oNumber.date = DateTime.Now;

           db.numbers.Add(oNumber);

           if(i%numeroLotes==0)
                 db.SaveChanges();

           }

           db.SaveChanges();
       }
}

Leer archivo de Excel en C# .Net sin utilizar Librerías de office #spreadsheetlight

En este video te muestro como leer un archivo de Excel desde C# .Net y guardarlo en una base de datos sin utilizar las librerías de Office.

Utilizaremos una librería creada por el MIT llamada spreadsheetlight

Crear archivo de excel con spreadsheetlight: https://www.youtube.com/watch?v=NlTv8Xv7cW0

Aprende entity framework en 10 minutos: https://www.youtube.com/watch?v=6nT-RjMEG0o


string path = @"C:\turuta\miexcel.xlsx";
SLDocument sl = new SLDocument(path);

using (var db= new pruebaEntities()) {

    int iRow = 2;
    while (!string.IsNullOrEmpty(sl.GetCellValueAsString(iRow, 1)))
    {
          string codigo = sl.GetCellValueAsString(iRow, 1);
          string nombre = sl.GetCellValueAsString(iRow, 2);
          int edad = sl.GetCellValueAsInt32(iRow, 3);

          var oMiExcel = new miexcel();
          oMiExcel.codigo = codigo;
          oMiExcel.nombre = nombre;
          oMiExcel.edad = edad;

          db.miexcel.Add(oMiExcel);
          db.SaveChanges();

          iRow++;
      }

}

¿Cómo obtener la diferencia en minutos de dos fechas en mysql? TIMESTAMPDIFF

Para obtener la diferencia en minutos de dos fechas en mysql existe la función TIMESTAMPDIFF la cual nos ayuda a realizar la resta.

Esta función también nos permite obtener otros valores como hora, días, segundos etc.

Se utiliza de la siguiente forma:


select TIMESTAMPDIFF(MINUTE,fechaInicial,fechaFinal) as minutos from MiTabla