protected void eliminaregistros(procesoDocumentacion objeto) { DocumentacionDemoLocalEntities contextoL = new DocumentacionDemoLocalEntities(); ////Eliminar Caso procesoDocumentacion casoPreEliminar = contextoL.procesoDocumentacion.FirstOrDefault(X => X.uniqueIdentifier == objeto.uniqueIdentifier); if (casoPreEliminar != null) { Script = "delete from procesodocumentacion where uniqueidentifier = '" + objeto.uniqueIdentifier.ToString() + "'"; c.ConsultaAUX(Script); } //Eliminar asignacion del caso usuarioXradicado asignacionEliminar = contextoL.usuarioXradicado.FirstOrDefault(X => X.rad == objeto.rad && X.proceso == objeto.proceso); if (asignacionEliminar != null) { Script = "delete from usuarioxradicado where rad = '" + objeto.rad.ToString() + "' and proceso = '" + objeto.proceso.ToString() + "'"; c.ConsultaAUX(Script); } //Eliminar soportes del caso var soporteXradicado = from p in contextoL.soporteXRadicado where p.rad == objeto.rad && p.idPersona == objeto.idPersonaDestinatario select p; if (soporteXradicado != null) { foreach (var soporte in soporteXradicado) { Script = "delete from soporteXRadicado where idSoportePersona = '" + soporte.idSoportePersona.ToString() + "'"; c.ConsultaAUX(Script); } } }
protected void btnDescarga_Click(object sender, EventArgs e) { try { List <string> caso = new List <string>(); //1. identificar los ids de los casos seleccionados foreach (GridViewRow row in dgvHistoricoNna.Rows) { CheckBox check = row.FindControl("CheckBox1") as CheckBox; //1,1. guardar los Id seleccionados en un DropDownList if (check.Checked) { string proceso = Convert.ToString(row.Cells[3].Text); string radicado = Convert.ToString(row.Cells[2].Text); caso.Add(proceso + '/' + radicado); } } //1.2 validar casos repetidos var consulta = (from p in caso select p).Distinct(); List <string> rads = new List <string>(); foreach (var item in consulta) { rads.Add(item); } //2 insercion en base Local ///2.1. Personas ////obtener todos los idPersona de todos los radicados List <string> idPersona = new List <string>(); foreach (var item in rads) { string[] radicado = item.Split('/'); Script = "select distinct p.idPersonaDestinatario from procesoDocumentacion p where p.rad = '" + radicado[1].ToString() + "' and p.proceso = '" + radicado[0].ToString() + "'"; DataTable DT = c.ConsultaAUX(Script); if (DT.Rows.Count > 0) { for (int i = 0; i < DT.Rows.Count; i++) { DataRow DR = DT.Rows[i]; idPersona.Add(DR.ItemArray[0].ToString()); } } } ////insertar las personas en la base Local DocumentacionDemoEntities contextoR = new DocumentacionDemoEntities(); var personaInsertar = from p in contextoR.persona where idPersona.Contains(p.idPersona.ToString()) select p; foreach (var personaR in personaInsertar) { DocumentacionDemoLocalEntities contextoL = new DocumentacionDemoLocalEntities(); persona prePersona = contextoL.persona.FirstOrDefault(X => X.idPersona == personaR.idPersona); if (prePersona == null) { persona nvaPersona = new persona(); nvaPersona.idPersona = personaR.idPersona; nvaPersona.idPersonaUnique = personaR.idPersonaUnique; nvaPersona.primerNombre = personaR.primerNombre; nvaPersona.segundoNombre = personaR.segundoNombre; nvaPersona.primerApellido = personaR.primerApellido; nvaPersona.segundoApellido = personaR.segundoApellido; nvaPersona.tipoDocumento = personaR.tipoDocumento; nvaPersona.noDocumento = personaR.noDocumento; nvaPersona.fechaNacimiento = personaR.fechaNacimiento; nvaPersona.genero = personaR.genero; contextoL.persona.Add(nvaPersona); contextoL.SaveChanges(); } } ////buscar todos los registros en la base de datos de los radicados seleccionados /////insertar los casos en la base Local foreach (var radicadoR in rads) { string[] radR = radicadoR.Split('/'); string procesoR = radR[0].ToString(); string radrR = radR[1].ToString(); var casoInsertar = from p in contextoR.procesoDocumentacion where p.proceso == procesoR && p.rad == radrR select p; foreach (var registroInsertar in casoInsertar) { DocumentacionDemoLocalEntities contextoL = new DocumentacionDemoLocalEntities(); procesoDocumentacion preCargueRegistro = contextoL.procesoDocumentacion.FirstOrDefault(X => X.uniqueIdentifier == registroInsertar.uniqueIdentifier); if (preCargueRegistro == null) { procesoDocumentacion nvoRegistro = new procesoDocumentacion(); nvoRegistro.uniqueIdentifier = registroInsertar.uniqueIdentifier; nvoRegistro.rad = registroInsertar.rad; nvoRegistro.proceso = registroInsertar.proceso; nvoRegistro.hechoVictimizante = registroInsertar.hechoVictimizante; nvoRegistro.daneOcurrenciaHecho = registroInsertar.daneOcurrenciaHecho; nvoRegistro.fechaOcurrenciaHecho = registroInsertar.fechaOcurrenciaHecho; nvoRegistro.parentesco = registroInsertar.parentesco; nvoRegistro.porcentaje = registroInsertar.porcentaje; nvoRegistro.usuarioModificacion = (Session["usuarioLogeado"] as usuario).id; nvoRegistro.fechaModificacion = DateTime.Now; nvoRegistro.idPersonaVictima = registroInsertar.idPersonaVictima; nvoRegistro.idPersonaDestinatario = registroInsertar.idPersonaDestinatario; nvoRegistro.regModificado = false; contextoL.procesoDocumentacion.Add(nvoRegistro); usuarioXradicado NvaAsignacionLocal = new usuarioXradicado(); NvaAsignacionLocal.rad = registroInsertar.rad; NvaAsignacionLocal.proceso = registroInsertar.proceso; NvaAsignacionLocal.idusuario = (Session["usuarioLogeado"] as usuario).id; NvaAsignacionLocal.estado = true; NvaAsignacionLocal.fechaAsignacion = DateTime.Now; contextoL.usuarioXradicado.Add(NvaAsignacionLocal); contextoL.SaveChanges(); } } usuarioXradicado nvaAsignacion = new usuarioXradicado(); nvaAsignacion.rad = radicadoR; nvaAsignacion.proceso = procesoR; nvaAsignacion.idusuario = (Session["usuarioLogeado"] as usuario).id; nvaAsignacion.estado = true; nvaAsignacion.fechaAsignacion = DateTime.Now; contextoR.usuarioXradicado.Add(nvaAsignacion); contextoR.SaveChanges(); } PnlMensajes.CssClass = "alert alert-success"; Label textoError = new Label(); textoError.Text = "Ha culminado la migración de datos al sistema Local, ahora puede acceder a ellos desde el sistema local"; PnlMensajes.Controls.Add(textoError); PnlMensajes.Visible = true; } catch (SystemException ex) { PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = ex.ToString(); PnlMensajes.Controls.Add(textoError); PnlMensajes.Visible = true; } //2. buscar los Id, y retornar los radicados unicos //3. Cargar a la base local //3.1. tabla persona //3.2. tabla documentacion //3.3. usuario por radicado //4. actualizar tabla usuarioxradicado con los radicados descargados }