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 button_Guardar_Click(object sender, EventArgs e) { try { DocumentacionDemoLocalEntities contextoAct = new DocumentacionDemoLocalEntities(); procesoDocumentacion registro = contextoAct.procesoDocumentacion.Single(X => X.id == idRegistroSeleccionado); //crear Variables de actualizacion ///persona string primerNombre = txtPrimerNombre.Text; string segundoNombre = txtSegundoNombre.Text; string primerApellido = txtPrimerApellido.Text; string segundoApellido = txtSegundoApellido.Text; Int64 tipoDocumento = Convert.ToInt64(ddlTipoDocumento.SelectedValue.ToString()); string noDocumento = txtNoDocumento.Text; Int64 genero = Convert.ToInt64(ddlGeneroDestinatario.SelectedValue.ToString()); DateTime fechaNacimiento = Convert.ToDateTime(txtFechaNacimiento.Text); ///del caso Int64 parentesco = Convert.ToInt64(ddlParentescoDestinatario.SelectedValue.ToString()); string porcentaje = txtPorcentaje.Text; //Actualizacion en la base de datos ///de la persona registro.persona1.primerNombre = primerNombre.Equals(null) ? "": primerNombre; registro.persona1.segundoNombre = segundoNombre.Equals(null) ? "" : segundoNombre; // txtSegundoNombre.Text.ToString(); registro.persona1.primerApellido = primerApellido.Equals(null) ? "" : primerApellido; // txtPrimerApellido.Text.ToString(); registro.persona1.segundoApellido = segundoApellido.Equals(null) ? "" : segundoApellido; // txtSegundoApellido.Text.ToString(); registro.persona1.tipoDocumento = tipoDocumento; registro.persona1.noDocumento = noDocumento.Equals(null) ? "" : noDocumento; // txtNoDocumento.Text.ToString(); registro.persona1.genero = genero; registro.persona1.fechaNacimiento = fechaNacimiento; ///del caso registro.parentesco = parentesco; registro.porcentaje = porcentaje; registro.usuarioModificacion = (Session["usuarioLogeado"] as usuario).id; registro.fechaModificacion = DateTime.Now; registro.regModificado = true; //Hacer persistencia de datos en la base contextoAct.SaveChanges(); //mostrar el panel de consulta y generar mensaje de actualizacion PnlMensajes.CssClass = "alert alert-success"; Label textoError = new Label(); textoError.Text = "Éxito: Actualización exitosa del registro."; cargaDatosFormulario(); pnlInformacionVictimaEdicion.Visible = false; pnlInformacionVictimaEdicion.Enabled = false; pnlInformacionVictimaConsulta.Enabled = true; pnlInformacionVictimaConsulta.Visible = true; } catch (SystemException ex) { PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error al cargar la información, descripcion del error: " + ex.ToString(); PnlMensajes.Controls.Add(textoError); } }
protected void cargaDatosFormulario() { DocumentacionDemoLocalEntities Contexto = new DocumentacionDemoLocalEntities(); procesoDocumentacion registro = Contexto.procesoDocumentacion.FirstOrDefault(X => X.id == idRegistroSeleccionado); if (registro != null) { //Se carga la informacion básica del caso lblIdRegistro.Text = registro.id.Equals(null) ? "" : registro.id.ToString(); lblCodUnique.Text = registro.uniqueIdentifier.Equals(null) ? "" : registro.uniqueIdentifier.ToString(); lblRadicado.Text = registro.rad.Equals(null) ? "" : registro.rad.ToString(); lblMarcoNormativo.Text = registro.proceso.Equals(null) ? "" : registro.proceso.ToString(); lblHechoVictimizante.Text = registro.hechoVictimizante1.nombreHechoVictimizante.Equals(null) ? "" : registro.hechoVictimizante1.nombreHechoVictimizante.ToString(); lblDeptoOcurrenciaHecho.Text = registro.dane.nombreDepto.Equals(null) ? "" : registro.dane.nombreDepto.ToString(); lblMuniOcurrencia.Text = registro.dane.nombreMunicipio.Equals(null) ? "" : registro.dane.nombreMunicipio.ToString(); lblFechaOcurrencia.Text = registro.fechaOcurrenciaHecho.Equals(null) ? "" : registro.fechaOcurrenciaHecho.ToString("dd/MM/yyyy"); // se carga la informacion de la victimas en los labels del panel de consulta lblPrimerNombre.Text = registro.persona1.primerNombre.Equals(null) ? "" : registro.persona1.primerNombre.ToString(); lblSegundoNombre.Text = registro.persona1.segundoNombre.Equals(null) ? "" : registro.persona1.segundoNombre.ToString(); lblPrimerApellido.Text = registro.persona1.primerApellido.Equals(null) ? "" : registro.persona1.primerApellido.ToString(); lblSegundoApellido.Text = registro.persona1.segundoApellido.Equals(null) ? "" : registro.persona1.segundoApellido.ToString(); lblGenero.Text = registro.persona1.genero1.descripcionGenero.Equals(null) ? "" : registro.persona1.genero1.descripcionGenero.ToString(); lblTipoDocumento.Text = registro.persona1.tipoDocumento1.descripcionDocumento.Equals(null) ? "" : registro.persona1.tipoDocumento1.descripcionDocumento.ToString(); lblNoDocumento.Text = registro.persona1.noDocumento.Equals(null) ? "" : registro.persona1.noDocumento.ToString(); lblFechaNacimiento.Text = registro.persona1.fechaNacimiento.Equals(null) ? "" : registro.persona1.fechaNacimiento.ToString("dd/MM/yyyy"); lblParentesco.Text = registro.parentesco.Equals(null) ? "No Asignado" : registro.parentesco1.nombreParentesco.ToString(); lblPorcentaje.Text = registro.parentesco.Equals(null) ? "No Asignado" : registro.porcentaje; // Se carga la informacion de la victima en los TextBoxes //cargar la informacion de los textBox txtPrimerNombre.Text = registro.persona1.primerNombre.Equals(null) ? "" : registro.persona1.primerNombre.ToString(); txtSegundoNombre.Text = registro.persona1.segundoNombre.Equals(null) ? "" : registro.persona1.segundoNombre.ToString(); txtPrimerApellido.Text = registro.persona1.primerApellido.Equals(null) ? "" : registro.persona1.primerApellido.ToString(); txtSegundoApellido.Text = registro.persona1.segundoApellido.Equals(null) ? "" : registro.persona1.segundoApellido.ToString(); ddlGeneroDestinatario.SelectedValue = registro.persona1.genero.ToString(); ddlTipoDocumento.SelectedValue = registro.persona1.tipoDocumento.Equals(null) ? "" : registro.persona1.tipoDocumento.ToString(); txtNoDocumento.Text = registro.persona1.noDocumento.Equals(null) ? "" : registro.persona1.noDocumento.ToString(); txtFechaNacimiento.Text = registro.persona1.fechaNacimiento.Equals(null) ? "": registro.persona1.fechaNacimiento.ToString("dd/MM/yyyy"); try { ddlParentescoDestinatario.SelectedValue = registro.parentesco.ToString(); } catch { ddlParentescoDestinatario.SelectedValue = null; } txtPorcentaje.Text = registro.parentesco.Equals(null) ? "0" : registro.porcentaje; } }
protected void linqDataSourceArchivosXRadicado_Selecting(object sender, LinqDataSourceSelectEventArgs e) { try { DocumentacionDemoLocalEntities contexto = new DocumentacionDemoLocalEntities(); procesoDocumentacion pago = contexto.procesoDocumentacion.FirstOrDefault(X => X.id == idRegistroSeleccionado); var resultado = from p in contexto.soporteXRadicado where p.rad == pago.rad select p; e.Result = resultado.ToArray(); } catch (Exception ex) { PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error al cargar la información."; PnlMensajes.Controls.Add(textoError); } }
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 }
protected void btnSincronizar_Click(object sender, EventArgs e) { try { List <Int64> Personas = new List <Int64>(); DocumentacionDemoLocalEntities contextoL = new DocumentacionDemoLocalEntities(); var resultado = from p in contextoL.vw_consultaCasoDocumentacion.AsNoTracking() where p.regModificado == true select p; foreach (var elemento in resultado) { DocumentacionDemoEntities contextoR = new DocumentacionDemoEntities(); procesoDocumentacion registro = contextoR.procesoDocumentacion.FirstOrDefault(X => X.uniqueIdentifier == elemento.uniqueIdentifier); //Informacion del caso tipoDocumento TipoDocumento = contextoR.tipoDocumento.FirstOrDefault(X => X.descripcionDocumento == elemento.tipoDocumentoDestinatario); genero Genero = contextoR.genero.FirstOrDefault(X => X.descripcionGenero == elemento.GeneroDestinatario); parentesco Parentesco = contextoR.parentesco.FirstOrDefault(X => X.nombreParentesco == elemento.nombreParentesco); registro.parentesco = Parentesco.idPerentesco; registro.porcentaje = elemento.porcentaje; registro.usuarioModificacion = elemento.usuarioModificacion; registro.fechaModificacion = elemento.fechaModificacion; registro.regModificado = true; //Informacion de la persona registro.persona1.primerNombre = elemento.primerNombreDestinatario; registro.persona1.segundoNombre = elemento.segundoNombreDestinatario; registro.persona1.primerApellido = elemento.primerApellidoDestinatario; registro.persona1.segundoApellido = elemento.segundoApellidoDestinatario; registro.persona1.tipoDocumento = TipoDocumento.idTipoDocumento; registro.persona1.noDocumento = elemento.noDocumentoDestinatario; registro.persona1.fechaNacimiento = elemento.fechaNacimientoDestinatario; registro.persona1.genero = Genero.idGenero; contextoR.SaveChanges(); var soportesXradicado = from p in contextoL.soporteXRadicado.AsNoTracking() where p.rad == elemento.rad && p.idPersona == elemento.idPersonaDestinatario select p; if (soportesXradicado != null) { foreach (var soporte in soportesXradicado) { soporteXRadicado NvoSoporteRadicado = new soporteXRadicado(); NvoSoporteRadicado.idSoporte = soporte.idSoporte; NvoSoporteRadicado.idPersona = soporte.idPersona; NvoSoporteRadicado.rad = soporte.rad; NvoSoporteRadicado.estadoSoporte = soporte.estadoSoporte; NvoSoporteRadicado.rutaSoporte = soporte.rutaSoporte; NvoSoporteRadicado.usuarioCreacionSoporte = soporte.usuarioCreacionSoporte; NvoSoporteRadicado.fechaCreacionSoporte = soporte.fechaCreacionSoporte; contextoR.soporteXRadicado.Add(NvoSoporteRadicado); contextoR.SaveChanges(); } } } foreach (var item in resultado) { procesoDocumentacion objeto = contextoL.procesoDocumentacion.FirstOrDefault(X => X.uniqueIdentifier == item.uniqueIdentifier); eliminaregistros(objeto); Personas.Add(objeto.idPersonaDestinatario); } var personasEliminar = from P in contextoL.persona where Personas.Contains(P.idPersona) select P; foreach (var item in personasEliminar) { persona Persona = contextoL.persona.FirstOrDefault(X => X.idPersona == item.idPersona); Script = "delete from persona where idPersona = '" + Persona.idPersona + "'"; c.ConsultaAUX(Script); } panelMensajes.CssClass = "alert alert-success"; Label textoError = new Label(); textoError.Text = "Se ha realizado la migración del caso al sistema remoto y se ha vaciado la informacion de la base local"; panelMensajes.Controls.Add(textoError); panelMensajes.Visible = true; dgvConsultaCasosDocumentacionLocal.DataBind(); } catch (SystemException ex) { panelMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error: se ha presentado un error durante la sincronizacion con el sistema Remoto, detalle del error: " + ex.ToString(); panelMensajes.Controls.Add(textoError); panelMensajes.Visible = true; } }