protected void btnCargarSoportes_Click(object sender, EventArgs e)
        {
            try
            {
                if (fUloadSoportes.HasFile && !ddltipoSoporte.SelectedItem.Value.Equals("") && !lblRadicado.Equals(""))
                {
                    string rad = lblRadicado.Text;

                    DocumentacionDemoLocalEntities contexto = new DocumentacionDemoLocalEntities();
                    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);
            }
        }
Beispiel #2
0
 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;
     }
 }