public ActionResult GetMadreDepurada(string id) { ModeloMadreTemporal modMadreTemporal = new ModeloMadreTemporal(); MadreTemporal myDataMT = modMadreTemporal.Buscar(Convert.ToInt64(id)); return(Json(myDataMT, JsonRequestBehavior.AllowGet)); }
private string ConstruirParametroMadreTemporal(MadreTemporal madreTemp, Dictionary <string, object> propiedadesObejtoBusqueda) { string cadenaA = ""; foreach (var item in propiedadesObejtoBusqueda) { if (item.Key == "Identificador") { continue; } if ((bool)item.Value) { switch (item.Key) { case "Nombres": cadenaA += madreTemp.Nombres; break; case "PrimerApellido": cadenaA += madreTemp.PrimerApellido; break; case "SegundoApellido": cadenaA += madreTemp.SegundoApellido; break; case "TercerApellido": cadenaA += madreTemp.TercerApellido; break; case "NombreCompleto": cadenaA += madreTemp.NombreCompleto; break; case "DocumentoIdentidad": cadenaA += madreTemp.DocumentoIdentidad; break; case "FechaNacimiento": cadenaA += madreTemp.FechaNacimiento; break; case "LocalidadNacimiento": cadenaA += madreTemp.LocalidadNacimiento; break; } } } return(cadenaA); }
public List <Madre> BuscarSemejantes(ParametrosBusqueda parBusqueda) { long identificador = Convert.ToInt64(parBusqueda.Identificador); MadreTemporal madreTemp = new MadreTemporal(); madreTemp = Listar().Where(m => m.Id == identificador).FirstOrDefault(); Dictionary <string, object> propiedadesBusqueda = ObtenerElementos(parBusqueda, MemberTypes.Property); List <Madre> madresCandidatas = new List <Madre>(); Madre peorSemejanza = new Madre(); int distanciaCalculada; int peorDistancia = -1; //string strParametrosMadreTemporal = madreTemp.NombreCompleto; string cadenaMadreTemporal = ConstruirParametroMadreTemporal(madreTemp, propiedadesBusqueda); //foreach (Madre ma in madre.Listar()) foreach (Madre ma in db.Madres.ToList()) { distanciaCalculada = Distancia.Levenshtein(cadenaMadreTemporal, ConstruirParametroMadre(ma, propiedadesBusqueda)); if (madresCandidatas.Count < 10) { ma.IdMunicipio = distanciaCalculada; //** madresCandidatas.Add(ma); if (distanciaCalculada > peorDistancia) { peorDistancia = distanciaCalculada; peorSemejanza = ma; } } else { if (distanciaCalculada < peorDistancia) { ma.IdMunicipio = distanciaCalculada; //** madresCandidatas.Remove(peorSemejanza); madresCandidatas.Add(ma); // Peor distancia entre los 10 peorDistancia = -1; foreach (var item in madresCandidatas) { distanciaCalculada = Distancia.Levenshtein(madreTemp.NombreCompleto, item.NombreCompleto); if (distanciaCalculada > peorDistancia) { peorDistancia = distanciaCalculada; peorSemejanza = item; } } } } } return(madresCandidatas.OrderBy(m => m.IdMunicipio).ToList()); }
public MadreTemporal Buscar(long id = 0) { MadreTemporal madreTemporal = (from mt in db.MadresTemporal where mt.Id == id select mt).FirstOrDefault(); if (madreTemporal == null) { return(null); } return(madreTemporal); }
public string MadresTemporal() { ModeloRevisionManual mrm = new ModeloRevisionManual(); mrm.EliminarTodoMadreTempo(); string connectionString = "Data Source=HERNAN-PC04;Initial Catalog=BDPersonas_new;User ID=sa; password=123456"; string queryString = @"select Nombres, PrimerApellido, SegundoApellido, Nombres+PrimerApellido+SegundoApellido AS 'NombreCompleto', DocumentoIdentidad, 0 AS 'TipoDocumentoIdentidad', FechaNacimiento from SECC_1A where idS1_A < 100 and S1_02 = 2 and FechaNacimiento is not null"; string resultado = ""; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { MadreTemporal madreTempo = new MadreTemporal(); madreTempo.Id = IdentifierGenerator.NewId(); madreTempo.IdSesion = 1; madreTempo.FechaUltimaTransaccion = DateTime.Now; madreTempo.FechaRegistro = DateTime.Now; madreTempo.DescripcionEstadoSincronizacion = ""; madreTempo.Nombres = reader[0].ToString(); madreTempo.PrimerApellido = reader[1].ToString(); madreTempo.SegundoApellido = reader[2].ToString(); madreTempo.TercerApellido = ""; madreTempo.NombreCompleto = madreTempo.Nombres + madreTempo.PrimerApellido + madreTempo.SegundoApellido + madreTempo.TercerApellido; madreTempo.DocumentoIdentidad = reader[4].ToString(); madreTempo.TipoDocumentoIdentidad = TipoDocumentoIdentidad.CarnetIdentidad; madreTempo.FechaNacimiento = Convert.ToDateTime(reader[6].ToString()); //madreTempo.IdDepartamento = 69; //madreTempo.IdProvincia = 540; //madreTempo.IdMunicipio = 2254; madreTempo.IdDepartamento = 1640861101374000000; madreTempo.IdProvincia = 1640861101405000000; madreTempo.IdMunicipio = 1640861101436000000; madreTempo.LocalidadNacimiento = ""; madreTempo.Defuncion = false; mrm.Crear(madreTempo); } reader.Close(); } return("OK: " + resultado); }
public void Crear(MadreTemporal madreTemp) { db.MadresTemporal.Add(madreTemp); db.SaveChanges(); }