protected void LogIn(object sender, EventArgs e) { try { if (UsuarioValido(Email.Text, Password.Text)) { string usuario = Email.Text; string contrasena = EncriptarContrasena(Password.Text); DocumentacionDemoEntities contexto = new DocumentacionDemoEntities(); usuario idusuario = contexto.usuario.SingleOrDefault(X => X.usuarioLogin.Equals(usuario) && X.contrasena.Equals(contrasena)); Session["usuarioLogeado"] = idusuario; Response.Redirect("~/", false); } else { Session["usuarioLogeado"] = null; PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error: Las credenciales de acceso no son correctas."; PnlMensajes.Controls.Add(textoError); } } catch { Session["usuarioLogeado"] = null; PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error: No se ha podido establecer conexion con la base de datos, intente nuevamente"; PnlMensajes.Controls.Add(textoError); } }
protected void btnCargarSoportes_Click(object sender, EventArgs e) { try { if (fUloadSoportes.HasFile && !ddltipoSoporte.SelectedItem.Value.Equals("") && !lblRadicado.Equals("")) { string rad = lblRadicado.Text; DocumentacionDemoEntities contexto = new DocumentacionDemoEntities(); soporteXRadicado soportexradicado = new soporteXRadicado(); string radicado = rad; string rutaCarpetaFisica = System.Configuration.ConfigurationManager.AppSettings["RutaArchivosSoporte"].ToString(); string rutaCarpeta = radicado.Substring((radicado.Length - 3)) + "\\" + radicado; string rutaArchivo = @rutaCarpetaFisica + "\\" + rutaCarpeta; string noDocumentoDestinatario = lblNoDocumento.Text; if (!Directory.Exists(rutaArchivo)) { Directory.CreateDirectory(rutaArchivo); } //Registro del Soporte en la Base de Datos persona Persona = contexto.persona.FirstOrDefault(X => X.noDocumento == noDocumentoDestinatario); Int64 idPersonaVictima = Persona.idPersona; Int64 IdSoporte = Convert.ToInt64(ddltipoSoporte.SelectedValue.ToString()); soportexradicado.idSoporte = IdSoporte; soportexradicado.idPersona = idPersonaVictima; soportexradicado.rad = radicado; soportexradicado.estadoSoporte = true; soportexradicado.usuarioCreacionSoporte = idUsuarioLogeado; soportexradicado.fechaCreacionSoporte = DateTime.Now; contexto.soporteXRadicado.Add(soportexradicado); contexto.SaveChanges(); soportexradicado.rutaSoporte = rutaCarpeta + "\\" + soportexradicado.idSoportePersona + "-" + noDocumentoDestinatario + "-" + ddltipoSoporte.SelectedItem.Value + Path.GetExtension(fUloadSoportes.FileName); contexto.SaveChanges(); //Guardado del archivo en el disco fUloadSoportes.SaveAs(rutaArchivo + "\\" + soportexradicado.idSoportePersona + "-" + noDocumentoDestinatario + "-" + ddltipoSoporte.SelectedItem.Value + Path.GetExtension(fUloadSoportes.FileName)); //Recarga del grilla de documentos por Radicado GridViewArchivosXRadicado.DataBind(); } } catch (SystemException ex) { PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error al cargar el soporte del radicado, detalle del error: " + ex.ToString(); PnlMensajes.Controls.Add(textoError); } }
protected void button_Guardar_Click(object sender, EventArgs e) { try { DocumentacionDemoEntities contextoAct = new DocumentacionDemoEntities(); 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() { DocumentacionDemoEntities Contexto = new DocumentacionDemoEntities(); 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 Page_Load(object sender, EventArgs e) { PnlMensajes.Visible = false; try { idUsuarioLogeado = (Session["usuarioLogeado"] as usuario).id; try { DocumentacionDemoLocalEntities contextoL = new DocumentacionDemoLocalEntities(); usuario usuarioL = contextoL.usuario.FirstOrDefault(X => X.id == idUsuarioLogeado); if (usuarioL == null) { DocumentacionDemoEntities contextoR = new DocumentacionDemoEntities(); usuario usuarioR = contextoR.usuario.FirstOrDefault(X => X.id == idUsuarioLogeado); usuario nvoUsuarioL = new usuario(); nvoUsuarioL.id = usuarioR.id; nvoUsuarioL.primerNombre = usuarioR.primerNombre; nvoUsuarioL.segundoNombre = usuarioR.segundoNombre; nvoUsuarioL.primerApellido = usuarioR.primerApellido; nvoUsuarioL.segundoApellido = usuarioR.segundoApellido; nvoUsuarioL.tipoDocumento = usuarioR.tipoDocumento; nvoUsuarioL.noDocumento = usuarioR.noDocumento; nvoUsuarioL.usuarioLogin = usuarioR.usuarioLogin; nvoUsuarioL.contrasena = usuarioR.contrasena; contextoL.usuario.Add(nvoUsuarioL); contextoL.SaveChanges(); } } catch (SystemException ex) { PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error en la creación del usuario en sistema local, descripcion del mensaje: " + ex.ToString(); PnlMensajes.Controls.Add(textoError); PnlMensajes.Visible = true; } } catch { Response.Redirect("~/Account/Login.aspx", false); } }
protected void linqDataSourceArchivosXRadicado_Selecting(object sender, LinqDataSourceSelectEventArgs e) { try { DocumentacionDemoEntities contexto = new DocumentacionDemoEntities(); 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); } }
private bool UsuarioValido(string usuario, string contrasena) { try { DocumentacionDemoEntities contexto = new DocumentacionDemoEntities(); string contrasenaValida = EncriptarContrasena(contrasena); bool valido = false; valido = contexto.usuario.Any(X => X.usuarioLogin == usuario && X.contrasena == contrasenaValida); return(valido); } catch (SystemException ex) { Session["usuarioLogeado"] = null; PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = " " + ex.ToString(); PnlMensajes.Controls.Add(textoError); bool valido = false; return(valido); } }
protected void ddltipoSoporte_Init(object sender, EventArgs e) { try { DocumentacionDemoEntities contexto = new DocumentacionDemoEntities(); var tipoSoportes = from p in contexto.soporte select new { soporteId = p.idSoporte, tipoSoporteNombre = p.descripcionSoporte }; ddltipoSoporte.DataSource = tipoSoportes.ToArray(); ddltipoSoporte.DataBind(); } catch { PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error al cargar la información."; PnlMensajes.Controls.Add(textoError); } }
protected void ddlGeneroDestinatario_Init(object sender, EventArgs e) { try { DocumentacionDemoEntities contexto = new DocumentacionDemoEntities(); var genero = from p in contexto.genero select new { generoId = p.idGenero, generoNombre = p.descripcionGenero }; ddlGeneroDestinatario.DataSource = genero.ToArray(); ddlGeneroDestinatario.DataBind(); } catch { PnlMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error al cargar la información."; PnlMensajes.Controls.Add(textoError); } }
protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e) { try { DocumentacionDemoEntities contexto = new DocumentacionDemoEntities(); string rad = string.IsNullOrWhiteSpace(txtRadicado.Text) ? null : txtRadicado.Text; string documento = string.IsNullOrWhiteSpace(txtDocumentoDestinatario.Text) ? null : txtDocumentoDestinatario.Text; if (rad == null && documento == null) { btnDescarga.Visible = false; var resultado = from p in contexto.vw_consultaCasoDocumentacion.AsNoTracking() where p.id == 0 orderby p.rad select new { IdRegistro = p.id, Radicado = p.rad, Proceso = p.proceso, NombreVictima = p.primerNombreVictima.ToString() + " " + p.primerApellidoVictima.ToString(), DocumentoVictima = p.noDocumentoVictima, HechoVictimizante = p.nombreHechoVictimizante, NombreDestinatario = p.primerNombreDestinatario.ToString() + " " + p.primerApellidoDestinatario.ToString(), DocumentoDestinatario = p.noDocumentoDestinatario }; e.Result = resultado.ToArray(); } else if (!string.IsNullOrWhiteSpace(rad) && string.IsNullOrWhiteSpace(documento)) { btnDescarga.Visible = true; var resultado = from p in contexto.vw_consultaCasoDocumentacion.AsNoTracking() where p.rad == rad orderby p.rad select new { IdRegistro = p.id, Radicado = p.rad, Proceso = p.proceso, NombreVictima = p.primerNombreVictima.ToString() + " " + p.primerApellidoVictima.ToString(), DocumentoVictima = p.noDocumentoVictima, HechoVictimizante = p.nombreHechoVictimizante, NombreDestinatario = p.primerNombreDestinatario.ToString() + " " + p.primerApellidoDestinatario.ToString(), DocumentoDestinatario = p.noDocumentoDestinatario }; e.Result = resultado.ToArray(); } else if (string.IsNullOrWhiteSpace(rad) && !string.IsNullOrWhiteSpace(documento)) { btnDescarga.Visible = true; var resultado = from p in contexto.vw_consultaCasoDocumentacion.AsNoTracking() where p.noDocumentoDestinatario == documento orderby p.rad select new { IdRegistro = p.id, Radicado = p.rad, Proceso = p.proceso, NombreVictima = p.primerNombreVictima.ToString() + " " + p.primerApellidoVictima.ToString(), DocumentoVictima = p.noDocumentoVictima, HechoVictimizante = p.nombreHechoVictimizante, NombreDestinatario = p.primerNombreDestinatario.ToString() + " " + p.primerApellidoDestinatario.ToString(), DocumentoDestinatario = p.noDocumentoDestinatario }; e.Result = resultado.ToArray(); } else if (!string.IsNullOrWhiteSpace(rad) && !string.IsNullOrWhiteSpace(documento)) { btnDescarga.Visible = true; var resultado = from p in contexto.vw_consultaCasoDocumentacion.AsNoTracking() where p.rad == rad && p.noDocumentoDestinatario == documento orderby p.rad select new { IdRegistro = p.id, Radicado = p.rad, Proceso = p.proceso, NombreVictima = p.primerNombreVictima.ToString() + " " + p.primerApellidoVictima.ToString(), DocumentoVictima = p.noDocumentoVictima, HechoVictimizante = p.nombreHechoVictimizante, NombreDestinatario = p.primerNombreDestinatario.ToString() + " " + p.primerApellidoDestinatario.ToString(), DocumentoDestinatario = p.noDocumentoDestinatario }; e.Result = resultado.ToArray(); } } catch { panelMensajes.CssClass = "alert alert-danger"; Label textoError = new Label(); textoError.Text = "Error: No es posible establecer conexion con el sistema, por favor intente mas tarde."; panelMensajes.Controls.Add(textoError); PnlMensajes.Visible = true; } }
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; } }