private void GuardarDispositivos(SqlCeConnection conn) { IList <TDispositivo> disps = CntSciTerminal.GetTDispositivos(conn); RadProgressContext context = RadProgressContext.Current; context.PrimaryTotal = 1; context.PrimaryValue = 1; context.PrimaryPercent = 100; int total = disps.Count; context.SecondaryTotal = total; int i = 0; foreach (TDispositivo disp in disps) { i++; RadProgress(context, i, total, disp.Nombre); Dispositivo dispositivo; var rs = (from d in ctx.Dispositivos where d.Instalacion.Empresa.EmpresaId == empresa.EmpresaId && d.DispositivoId == disp.DispositivoId select d).FirstOrDefault <Dispositivo>(); if (rs != null) { dispositivo = rs; dispositivo.Operativo = disp.Operativo; dispositivo.Estado = disp.Estado; } else { dispositivo = new Dispositivo(); dispositivo.Nombre = disp.Nombre; dispositivo.Instalacion = CntLainsaSci.GetInstalacion(disp.Instalacion.InstalacionId, ctx); dispositivo.Operativo = disp.Operativo; dispositivo.TipoDispositivo = CntLainsaSci.GetTipoDispositivo(disp.Tipo.TipoId, ctx); if (disp.Modelo != null) { dispositivo.ModeloDispositivo = CntLainsaSci.GetModelodispositivo(disp.Modelo.ModeloId, ctx); } dispositivo.CodBarras = disp.CodBarras; dispositivo.Funcion = ""; dispositivo.Estado = disp.Estado; dispositivo.Caducado = false; dispositivo.CargaKg = 0; ctx.Add(dispositivo); } ctx.SaveChanges(); //Si es un nuevo dispositivo lo buscamos, para así tener su nuevo id if (rs == null) { dispositivo = CntLainsaSci.GetLastDispositivo(ctx); } CntLainsaSci.CrearResumenesRevision(dispositivo, ctx); GuardarIncidencias(dispositivo, disp, conn); GuardarSustituciones(dispositivo, disp, conn); // GuardarRevisiones(disp, conn); } context.CurrentOperationText = "Importación finalizada."; context.OperationComplete = true; }
private void GuardarDispositivos(SqlCeConnection conn) { IList <TDispositivo> disps = CntSciTerminal.GetTDispositivos(conn); RadProgressContext context = RadProgressContext.Current; context.PrimaryTotal = 1; context.PrimaryValue = 1; context.PrimaryPercent = 100; int total = disps.Count; context.SecondaryTotal = total; int i = 0; foreach (TDispositivo disp in disps) { i++; if (disp.Abm == 0) { continue; } RadProgress(context, i, total, disp.Nombre); // hay tres casos posible segun el valor de ABM // 0 = No cambia // 1 = nuevo // 2 = baja // 3 = modificación Dispositivo dispositivo; switch (disp.Abm) { case 1: // nuevo // primero comprobamos que ese dispositivo no se ha dado de alta previamente Dispositivo dsp = (from d in ctx.Dispositivos where d.CodBarras == disp.CodBarras select d).FirstOrDefault <Dispositivo>(); if (dsp != null) { break; // ya existe han cargado dos veces el fichero. } dispositivo = new Dispositivo(); dispositivo.Nombre = disp.Nombre; dispositivo.Instalacion = CntLainsaSci.GetInstalacion(disp.Instalacion.InstalacionId, ctx); dispositivo.Operativo = disp.Operativo; dispositivo.TipoDispositivo = CntLainsaSci.GetTipoDispositivo(disp.Tipo.TipoId, ctx); if (disp.Modelo != null) { dispositivo.ModeloDispositivo = CntLainsaSci.GetModelodispositivo(disp.Modelo.ModeloId, ctx); } dispositivo.CodBarras = disp.CodBarras; dispositivo.Funcion = ""; dispositivo.Estado = disp.Estado; dispositivo.Caducado = false; dispositivo.CargaKg = 0; ctx.Add(dispositivo); break; case 2: // baja dispositivo = CntLainsaSci.GetDispositivo(disp.DispositivoId, ctx); if (dispositivo != null) { ctx.Delete(dispositivo); } break; case 3: // modificación dispositivo = CntLainsaSci.GetDispositivo(disp.DispositivoId, ctx); if (dispositivo != null) { dispositivo.Operativo = disp.Operativo; dispositivo.Estado = disp.Estado; } break; default: break; } ctx.SaveChanges(); } context.CurrentOperationText = "Importación finalizada."; context.OperationComplete = true; }