When the database has regular data there was no problem, but when it was growing it falls and only shows an exception "objectDisposedException".
this is the query made
var listaPersona = service.GetPersona_SelectAll_Complete().Where(p => p.PersonaEstado == true).ToList();
var listaImage = service.GetPersona_Select_Img_bytes().ToList();
try {ModuloAdministracionService service = new ModuloAdministracionService ();
service.Timeout = 999999999;
cargar_empleados.Enabled = false;
int maximo = 1;
int EmpresaIDS = DCG.m.Common.Globales.EmpresaID;
prog_datos_web.Value = 1;
BMarcacion.Inicializa_Movil();
var listaComunicacion = service.GetComunicacionAll().ToList();
service = new ModuloAdministracionService();
var listaTipoEquipo = service.GetTipoEquiposAll().ToList();
service = new ModuloAdministracionService();
var listaTipoOperacion = service.GetTipoOperacionAll().ToList();
service = new ModuloAdministracionService();
var listaAccesos = service.GetAccesos().ToList();
service = new ModuloAdministracionService();
var listaUsuario = service.GetUsuarioAll().ToList();
service = new ModuloAdministracionService();
var listaDigitalizacionEmpresa = service.GetBusqueda_Documentos_Empresa_por_Vencer().ToList();
service = new ModuloAdministracionService();
var listaDigitalizacionPersona = service.GetBusqueda_Documentos_Persona_por_Vencer().ToList();
service = new ModuloAdministracionService();
var listaCategoria = service.GetCategoriasAll().ToList();
service = new ModuloAdministracionService();
var listaCargo = service.GetCargosAll().ToList();
service = new ModuloAdministracionService();
var listaEmpresa = service.GetEmpresaAllPersona().ToList();
service = new ModuloAdministracionService();
var listaEmpresaContratada = service.GetEmpresaAllContratdas().ToList();
service = new ModuloAdministracionService();
var listaTerminal = service.GetTerminalesAll().ToList();
service = new ModuloAdministracionService();
**var listaPersona = service.GetPersona_SelectAll_Complete().Where(p => p.PersonaEstado == true).ToList();**
service = new ModuloAdministracionService();
**var listaPersonaImagen = service.GetPersona_Select_Img_bytes();**
service = new ModuloAdministracionService();
int cantCom = listaComunicacion.Count;
int cantTipE = listaTipoEquipo.Count;
int cantTipO = listaTipoOperacion.Count;
int cantAcc = listaAccesos.Count;
int cantUsua = listaUsuario.Count;
int cantDigE = listaDigitalizacionEmpresa.Count;
int cantDigP = listaDigitalizacionPersona.Count;
int cantCat = listaCategoria.Count;
int cantCar = listaCargo.Count;
int cantEmp = listaEmpresa.Count;
int cantEmpc = listaEmpresaContratada.Count;
int cantTer = listaTerminal.Count;
int cantPer = listaPersona.Count;
maximo += cantCom + cantTipE + cantTipO + cantAcc + cantUsua + cantDigE + cantDigP+
cantCat + cantCar + cantEmp + cantEmpc + cantTer + cantPer;
prog_datos_web.Maximum = maximo +1;
prog_datos_web.Minimum = 0;
//insertar persona al sdf, en sql tienes q poner mas tiempo en respuesta puede modificar? si
foreach (var item in listaPersona)
{
Persona p = new Persona();
if (m.Common.Globales.todasLasEmpresaa == 0)
{
if (item.EmpresaID == EmpresaIDS)
{
p.PersonaID = item.PersonaID;
p.PersonaCodigo = item.PersonaCodigo;
p.Descripcion1 = item.PersonaNombre;
p.Descripcion2 = item.PersonaApellidoPat + " " + item.PersonaApellidoMat;
p.PersonaTarjetaProximidad1 = item.PersonaTarjetaProximidad1;
p.PersonaTarjetaProximidad2 = item.PersonaTarjetaProximidad2;
//p.PersonaEstado = item.PersonaEstado.ToString();
p.CargoID = item.CargoID;
p.PersonaEstadoDigitalalizacion = item.PersonaEstadoDigitalizar;
p.TipoEntidadID = 1;
p.EmpresaID = item.EmpresaID;
BPersona.Insertar(p);
prog_datos_web.Value += 1;
}
}
else
{
p.PersonaID = item.PersonaID;
p.PersonaCodigo = item.PersonaCodigo;
p.Descripcion1 = item.PersonaNombre;
p.Descripcion2 = item.PersonaApellidoPat + " " + item.PersonaApellidoMat;
p.PersonaTarjetaProximidad1 = item.PersonaTarjetaProximidad1;
p.PersonaTarjetaProximidad2 = item.PersonaTarjetaProximidad2;
p.CargoID = item.CargoID;
//p.PersonaEstado = item.PersonaEstado.ToString();
p.PersonaEstadoDigitalalizacion = item.PersonaEstadoDigitalizar;
p.TipoEntidadID = 1;
p.EmpresaID = item.EmpresaID;
BPersona.Insertar(p);
prog_datos_web.Value += 1;
}
}
lbl_estado_registro.Text = "Persona registrada Correctamente";
//insertar EMPRESA CONTRATADA al sdf
foreach (var item in listaEmpresaContratada)
{
if (m.Common.Globales.todasLasEmpresaa == 0)
{
if (item.EmpresaID == EmpresaIDS)
{
EmpresaContratada emc = new EmpresaContratada();
emc.EmpresaContratadaID = item.EmpresaContratadaID;
emc.EmpresaID = item.EmpresaID;
emc.EmpresaContratadaIDEmpresaID = item.EmpresaContratadaIDEmpresaID;
emc.EmpresaContratadaDigitalizacionEstado = item.EmpresaContradaDigitalizacionEstado;
emc.EmpresaCodigo = item.EmpresaCodigo;
emc.TipoEntidadID = 2;
//emc.EmpresaContratadaEstado = item.EmpresaContratadaEstado;
BEmpresaContrada.Insert_EmpresaContratada(emc);
prog_datos_web.Value += 1;
}
}
else
{
EmpresaContratada emc = new EmpresaContratada();
emc.EmpresaContratadaID = item.EmpresaContratadaID;
emc.EmpresaID = item.EmpresaID;
emc.EmpresaContratadaIDEmpresaID = item.EmpresaContratadaIDEmpresaID;
emc.EmpresaContratadaDigitalizacionEstado = item.EmpresaContradaDigitalizacionEstado;
emc.TipoEntidadID = 2;
emc.EmpresaCodigo = item.EmpresaCodigo;
//emc.EmpresaContratadaEstado = item.EmpresaContratadaEstado;
BEmpresaContrada.Insert_EmpresaContratada(emc);
prog_datos_web.Value += 1;
}
}
lbl_estado_registro.Text = "Empresa Contrada registrada Correctamente";
// INSERT TERMINAL AL SDF
foreach (var item in listaTerminal)
{
if (item.FabricanteID == 2)
{
Terminal ter = new Terminal();
ter.TerminalID = item.TerminalID;
ter.TerminalCodigo = item.TerminalCodigo;
ter.TerminalDescripcion = item.TerminalDescripcion;
ter.TipoEquipoID = item.TipoEquipoID;
ter.TerminalID = item.TerminalID;
ter.Puerto = item.Puerto;
ter.AccesoID = item.AccesoID;
ter.FabricanteID = item.FabricanteID;
ter.ComunicacionID = item.ComunicacionID;
ter.TipoOperacionID = item.TipoOperacionID;
BTerminal.Insertar_Terminal(ter);
prog_datos_web.Value += 1;
}
}
lbl_estado_registro.Text = "Persona registrada Terminal";
//insertar EMPRESA al sdf
foreach (var item in listaEmpresa)
{
Empresa em = new Empresa();
em.EmpresaID = item.EmpresaID;
em.EmpresaCodigo = item.EmpresaCodigo;
em.EmpresaNombre = item.EmpresaNombre;
em.CategoriaID = item.CategoriaID;
BEmpresa.Insert_Empresa(em);
prog_datos_web.Value += 1;
}
// INSERT CI¡OMUNICACION AL SDF
foreach (var item in listaComunicacion)
{
Comunicacion com = new Comunicacion();
com.ComunicacionID = item.ComunicacionID;
com.ComunicacionDescripcion = item.ComunicacionDescripcion;
BComunicacion.Insert_Comunicacion(com);
prog_datos_web.Value += 1;
}
// INSERT CARGO AL SDF
foreach (var item in listaCargo)
{
Cargos com = new Cargos();
com.CargoID = item.CargoID;
com.CargoDescripcion = item.CargoDescripcion;
BCargo.Insert_Cargos(com);
prog_datos_web.Value += 1;
}
// INSERT CATEGORIA AL SDF
foreach (var item in listaCategoria)
{
Categoria com = new Categoria();
com.CategoriaID = item.CategoriaID;
com.CategoriaDescripcion = item.CategoriaDescripcion;
BCategoria.Insertar_Categoria(com);
prog_datos_web.Value += 1;
}
lbl_estado_registro.Text = "Comunicacion registrada Correctamente";
// INSERT TipoEquipo AL SDF
foreach (var item in listaTipoEquipo)
{
TipoEquipo tipe = new TipoEquipo();
tipe.TipoEquipoID = item.TipoEquipoID;
tipe.TipoEquipoDescripcion = item.TipoEquipoDescripcion;
BTipoEquipo.Insert_TipoEquipo(tipe);
prog_datos_web.Value += 1;
}
lbl_estado_registro.Text = "Tipo Equipo registrada Correctamente";
// INSERT TipoOperacion AL SDF
foreach (var item in listaTipoOperacion)
{
TipoOperacion tipoo = new TipoOperacion();
tipoo.TipoOperacionID = item.TipoOperacionID;
//tipoo.TipoOperacionCodigo = item.TipoOperacionCodigo;
tipoo.TipoOperacionDescripcion = item.TipoOperacionDescripcion;
tipoo.TipoOperacionEstado = item.TipoOperacionEstado;
BTipoOperacion.Insert_TipoOperacion(tipoo);
prog_datos_web.Value += 1;
}
lbl_estado_registro.Text = "TipoOperacion registrada Correctamente";
// INSERT Accesos AL SDF
foreach (var item in listaAccesos)
{
Accesos acc = new Accesos();
acc.AccesoID = item.AccesoID;
acc.AccesoDescripcion = item.AccesoDescripcion;
BAccesos.Insert_Accesos(acc);
prog_datos_web.Value += 1;
}
lbl_estado_registro.Text = "Accesos registrada Correctamente";
// INSERT DigitalizacionEmpresa AL SDF
foreach (var item in listaDigitalizacionEmpresa)
{
DigitalizacionEmpresa dem = new DigitalizacionEmpresa();
dem.EmpresaID = item.EmpresaID;
dem.EmpresaContratadaID = item.EmpresaContratadaID;
dem.EmpresaContratadaIDEmpresaID = item.EmpresaContratadaIDEmpresaID;
dem.DocumentoEmpresaDescripcion = item.DocumentoEmpresaDescripcion;
dem.DocumentoEmpresaID = item.DocumentoEmpresaID;
//dem.CategoriaID = item.CategoriaID;
dem.RegistroID = item.RegistroID;
dem.Observacion = item.Observacion;
dem.DiaRestante = item.DiaRestante;
BDigitalizacionEmpresa.Insert_DigitalizacionEmpresa(dem);
prog_datos_web.Value += 1;
}
lbl_estado_registro.Text = "DigitalizacionEmpresa registrada Correctamente";
// INSERT TipoOperacion AL SDF
foreach (var item in listaDigitalizacionPersona)
{
DigitalizacionPersona dper = new DigitalizacionPersona();
dper.PersonaID = item.PersonaID;
dper.EmpresaID = item.EmpresaID;
dper.DocumentoPersonaID = item.DocumentoPersonaID;
dper.DocumentoPersonaDescripcion = item.DocumentoPersonaDescripcion;
//dper.CategoriaID = item.CategoriaID;
dper.RegistroID = item.RegistroID;
dper.Observacion = item.Observacion;
dper.DiaRestante = item.DiaRestante;
BDigitalizacionPersona.Insert_DigitalizacionPersona(dper);
prog_datos_web.Value += 1;
}
lbl_estado_registro.Text = "DigitalizacionPersona registrada Correctamente";
// INSERT TipoOperacion AL SDF
foreach (var item in listaUsuario)
{
Usuario usu = new Usuario();
usu.UsuarioID = item.UsuarioID;
usu.EmpresaID = item.EmpresaID;
usu.UsuarioNombre = item.UsuarioNombre;
usu.UsuarioPassword = item.UsuarioPassword;
usu.UsuarioLogin = item.UsuarioLogin;
usu.UsuarioEmail = item.UsuarioEmail;
BUsuario.Insertar_Cuenta_Usuario(usu);
prog_datos_web.Value += 1;
}
lbl_estado_registro.Text = "Todas las tablas registrada Correctamente";
MessageBox.Show("Todas las tablas registrada Correctamente");
SC_ConfiguracionSDF mcc = new SC_ConfiguracionSDF();
mcc.Dispose(true);
this.Close();
MessageBox.Show("Se descargaron las fotos correctamente" + " TOTAL: " + maximo);
ProcessStartInfo s = new ProcessStartInfo();
s.FileName = Assembly.GetExecutingAssembly().GetName().CodeBase;
s.UseShellExecute = false;
Process.Start(s);
Application.Exit();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}