예제 #1
0
        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;
        }
예제 #2
0
        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;
        }