private void GuardarIncidencias(Dispositivo dispositivo, TDispositivo disp, SqlCeConnection conn)
        {
            IList <TIncidencia> incis = CntSciTerminal.GetTIncidencias(disp, conn);

            foreach (TIncidencia inc in incis)
            {
                Incidencia incidencia;
                var        rs = (from d in ctx.Incidencias
                                 where d.IncidenciaId == inc.IncidenciaId && d.Dispositivo.DispositivoId == dispositivo.DispositivoId
                                 select d).FirstOrDefault <Incidencia>();
                if (rs != null)
                {
                    incidencia             = rs;
                    incidencia.Operativo   = inc.Operativo;
                    incidencia.Comentarios = inc.Comentarios;
                }
                else
                {
                    incidencia = new Incidencia()
                    {
                        Fecha       = inc.Fecha,
                        Comentarios = inc.Comentarios,
                        Dispositivo = dispositivo,
                        Operativo   = inc.Operativo,
                        Usuario     = CntLainsaSci.GetUsuario(inc.Usuario.UsuarioId, ctx)
                    };
                    dispositivo.Operativo = incidencia.Operativo;
                    ctx.Add(incidencia);
                }
                ctx.SaveChanges();
            }
        }
Exemple #2
0
        public void CargarGrid()
        {
            IList <TIncidencia> lts = null;

            CntSciTerminal.TOpen(this.conn);
            if (caller == "")
            {
                lts = CntSciTerminal.GetTIncidencias(conn);
            }
            else
            {
                lts = CntSciTerminal.GetTIncidencias(disposit, conn);
            }
            CntSciTerminal.TClose(this.conn);
            grdIncidencias.DataSource = lts.ToArray <TIncidencia>();
            CrearEstiloColumnas();
        }
        public void CargarGrid()
        {
            IList <TRevision> ltr = CntSciTerminal.GetTRevisiones(vDispositivo, conn);

            grdRevisiones.DataSource = ltr.ToArray <TRevision>();
            IList <TIncidencia> lti = CntSciTerminal.GetTIncidencias(vDispositivo, conn);

            grdIncidencias.DataSource = lti.ToArray <TIncidencia>();
            IList <TSustitucion> lts = CntSciTerminal.GetTSustituciones(vDispositivo, conn);

            grdSustituciones.DataSource = lts.ToArray <TSustitucion>();
            IList <TTipoAnomalia> lta = CntSciTerminal.GetTTipoAnomalias(vDispositivo, conn);

            grdTipoA.DataSource = lta.ToArray <TTipoAnomalia>();
            CrearEstiloColumnasRev();
            CrearEstiloColumnasInc();
            CrearEstiloColumnasSust();
            CrearEstiloColumnasTipoA();
        }
        private void PantallaValidacion(SqlCeConnection conn)
        {
            pantalla = new StringBuilder();
            pantalla.Append(String.Format("<b>Empresa: {0}</b><br/>", empresa.Nombre));
            //Incidencias
            IList <TIncidencia> incis = CntSciTerminal.GetTIncidencias(conn);

            pantalla.Append("<b>Incidencias:</b><br/>");
            if (incis != null)
            {
                foreach (TIncidencia inc in incis)
                {
                    var rs = (from d in ctx.Incidencias
                              where d.IncidenciaId == inc.IncidenciaId && d.Dispositivo.DispositivoId == inc.Dispositivo.DispositivoId
                              select d).FirstOrDefault <Incidencia>();
                    if (rs == null)
                    {
                        pantalla.AppendLine(String.Format("Incidencia en dispositivo: {0}<br/>", inc.Dispositivo.Nombre));
                    }
                }
            }

            //Sustituciones
            IList <TSustitucion> sustituciones = CntSciTerminal.GetTSustituciones(conn);

            pantalla.AppendLine("<b>Sustituciones:</b><br/>");
            if (sustituciones != null)
            {
                foreach (TSustitucion sust in sustituciones)
                {
                    var rs = (from d in ctx.Sustitucions
                              where d.SustitucionId == sust.SustitucionId && d.DispositivoOriginal.DispositivoId == sust.TDispositivoOriginal.DispositivoId
                              select d).FirstOrDefault <Sustitucion>();
                    if (rs == null)
                    {
                        pantalla.AppendLine(String.Format("Disp. Original: {0} / Disp. Sustituto: {1}<br/>", sust.TDispositivoOriginal.Nombre, sust.TDispositivoSustituto.Nombre));
                    }
                }
            }

            //Revisiones
            IList <TRevision> revisiones = CntSciTerminal.GetTRevisiones(conn);

            pantalla.AppendLine("<b>Revisiones:</b><br/>");
            if (revisiones != null)
            {
                TPrograma p    = null;
                int       p_id = 0;
                foreach (TRevision rev in revisiones)
                {
                    if ((p = rev.TPrograma) != null)
                    {
                        p_id = p.ProgramaId;
                    }
                    pantalla.AppendLine(String.Format("Revisión realizada en: {1} del dispositivo: {0}. Programa: {2}<br/>", rev.NDispositivo, rev.FechaRevision.ToShortDateString(), p_id));
                }
            }
            if (conn.State != System.Data.ConnectionState.Closed)
            {
                conn.Close();
            }

            RadNotification2.Text = String.Format("<b>{0}</b><br/>{1}",
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                                  pantalla.ToString());
            RadNotification2.Show();

            RadAjaxManager1.ResponseScripts.Add(String.Format("return radconfirm('¿Desea continuar con la importación?', confirmCallBackFn, 330, 100, null,'Importación', '');"));
        }
        private void PantallaValidacion(SqlCeConnection conn)
        {
            pantalla = new StringBuilder();
            pantalla.Append(String.Format("<b>Empresa: {0}</b><br/>", empresa.Nombre));
            //Incidencias
            IList <TIncidencia> incis = CntSciTerminal.GetTIncidencias(conn);

            pantalla.Append("--- INCIDENCIAS ------<br/>");
            if (incis != null)
            {
                foreach (TIncidencia inc in incis)
                {
                    // solo las incidencias que se han creado modificado o eliminado en el terminal
                    if (inc.Abm != 0)
                    {
                        pantalla.AppendLine(String.Format("ID:{6} Dispositivo: {0} ABM: {1} Apertura:{2:dd/MM/yyyy} Cierre:{3:dd/MM/yyyy} Prevista:{4:dd/MM/yyyy} Comentarios:{5} <br/>",
                                                          inc.TDispositivo.Nombre,
                                                          inc.Abm,
                                                          inc.FechaApertura,
                                                          inc.FechaCierre,
                                                          inc.FechaPrevista,
                                                          inc.Comentarios,
                                                          inc.IncidenciaId));
                    }
                }
            }

            //Incidencias (Evolución)
            IList <TIncidenciaEvolucion> incievos = CntSciTerminal.GetTIncidenciaEvolucions(conn);

            pantalla.Append("--- INCIDENCIAS EVOLUCIONES ------<br/>");
            if (incievos != null)
            {
                foreach (TIncidenciaEvolucion inc in incievos)
                {
                    // solo las incidencias que se han creado modificado o eliminado en el terminal
                    if (inc.Abm != 0)
                    {
                        pantalla.AppendLine(String.Format("IDEVO:{4} IDINCI:{5} Dispositivo: {0} ABM: {1} Fecha:{2:dd/MM/yyyy} Comentarios:{3} <br/>",
                                                          inc.Incidencia.TDispositivo.Nombre,
                                                          inc.Abm,
                                                          inc.FechaEvolucion,
                                                          inc.Comentarios,
                                                          inc.IncidenciaEvolucionId,
                                                          inc.Incidencia.IncidenciaId));
                    }
                }
            }

            //Sustituciones
            IList <TSustitucion> sustituciones = CntSciTerminal.GetTSustituciones(conn);

            pantalla.AppendLine("--- SUSTITUCIONES ------<br/>");
            if (sustituciones != null)
            {
                foreach (TSustitucion sust in sustituciones)
                {
                    if (sust.Abm != 0)
                    {
                        var rs = (from d in ctx.Sustitucions
                                  where d.SustitucionId == sust.SustitucionId && d.DispositivoOriginal.DispositivoId == sust.TDispositivoOriginal.DispositivoId
                                  select d).FirstOrDefault <Sustitucion>();
                        if (rs == null)
                        {
                            if (sust.TDispositivoSustituto != null)
                            {
                                pantalla.AppendLine(String.Format("IDSUS:{0} Disp. Original:{1}  Disp. Sustituto:{2} Fecha:{3:dd/MM/yyyy} Comentarios:{4}<br/>",
                                                                  sust.SustitucionId,
                                                                  sust.TDispositivoOriginal.Nombre,
                                                                  sust.TDispositivoSustituto.Nombre,
                                                                  sust.Fecha,
                                                                  sust.Comentarios));
                            }
                            else
                            {
                                // Si el sustituto es nulo el problema es que no se ha hecho la sustitución
                                pantalla.AppendLine(String.Format("IDSUS:{0} Disp. Original: {1} Fecha:{2:dd/MM/yyyy} Comentarios:{3} / Disp. ¿Sustitución no realizada?<br/>",
                                                                  sust.SustitucionId,
                                                                  sust.TDispositivoOriginal.Nombre,
                                                                  sust.Fecha,
                                                                  sust.Comentarios));
                            }
                        }
                    }
                }
            }

            //Revisiones
            IList <TRevision> revisiones = CntSciTerminal.GetTRevisiones(conn);

            pantalla.AppendLine("--- REVISIONES ------<br/>");
            if (revisiones != null)
            {
                TPrograma p    = null;
                int       p_id = 0;
                foreach (TRevision rev in revisiones)
                {
                    if (rev.Abm != 0)
                    {
                        if ((p = rev.TPrograma) != null)
                        {
                            p_id = p.ProgramaId;
                        }
                        else
                        {
                            p_id = 0;
                        }
                        pantalla.AppendLine(String.Format("IDREV:{0} Dispositivo:{1} Fecha:{2:dd/MM/yyyy} Programa: {3} ABM:{4} Estado:{5} Comentario:{6}<br/>",
                                                          rev.RevisionId,
                                                          rev.NDispositivo,
                                                          rev.FechaRevision,
                                                          p_id,
                                                          rev.Abm,
                                                          rev.Estado,
                                                          rev.Comentario));
                    }
                }
            }

            //Nuevos dispositivos
            IList <TDispositivo> dispositivos = CntSciTerminal.GetTNuevosDispositivos(conn);

            pantalla.Append("--- NUEVOS DISPOSITIVOS ------<br/>");
            if (dispositivos != null)
            {
                foreach (TDispositivo disp in dispositivos)
                {
                    pantalla.AppendLine(String.Format("ID:{0} Nombre:{1} Instalacion: {2} Tipo:{3} Modelo:{4} CodBarras:{5}<br/>",
                                                      disp.DispositivoId,
                                                      disp.Nombre,
                                                      disp.Instalacion.Nombre,
                                                      disp.Tipo.Nombre,
                                                      disp.Modelo.Nombre,
                                                      disp.CodBarras));
                }
            }

            if (conn.State != System.Data.ConnectionState.Closed)
            {
                conn.Close();
            }

            string msg = pantalla.ToString();

            msg         = msg.Replace("'", "");
            msg         = msg.Replace("<b>", "");
            msg         = msg.Replace("</b>", "");
            msg         = msg.Replace("<br/>", "\n");
            txtInf.Text = msg;

            //RadNotification2.Text = String.Format("<b>{0}</b><br/>{1}",
            //                                     (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
            //                                     pantalla.ToString());
            //RadNotification2.Show();

            // RadAjaxManager1.ResponseScripts.Add(String.Format("return radconfirm('¿Desea continuar con la importación?', confirmCallBackFn, 330, 100, null,'Importación', '');"));
            btnCargar.Visible   = false;
            btnImportOK.Visible = true;
        }
        // lee secuancialmente las incidencias del fichero de terminal y las guarda en la base de datos
        private void GuardarIncidencias(SqlCeConnection conn, LainsaSci ctx)
        {
            IList <TIncidencia> lti = CntSciTerminal.GetTIncidencias(conn);
            Incidencia          incidencia;

            foreach (TIncidencia ti in lti)
            {
                // no ha sufrido cambios
                if (ti.Abm == 0)
                {
                    continue;
                }
                switch (ti.Abm)
                {
                case 1:
                    // alta
                    // comprobar que no se ha dado de alta previamente
                    // es el caso de recarga del mismo fichero
                    Incidencia inci = (from i in ctx.Incidencias
                                       where i.Dispositivo.DispositivoId == ti.TDispositivo.DispositivoId &&
                                       i.FechaApertura == ti.FechaApertura &&
                                       i.Comentarios == ti.Comentarios
                                       select i).FirstOrDefault <Incidencia>();
                    if (inci != null)
                    {
                        break;
                    }
                    incidencia = new Incidencia();
                    incidencia.FechaApertura = ti.FechaApertura;
                    incidencia.FechaPrevista = ti.FechaPrevista;
                    incidencia.FechaCierre   = ti.FechaCierre;
                    incidencia.Dispositivo   = CntLainsaSci.GetDispositivo(ti.TDispositivo.DispositivoId, ctx);
                    if (ti.TEstado != null)
                    {
                        incidencia.Estado = CntLainsaSci.GetEstado(ti.TEstado.EstadoId, ctx);
                    }
                    if (ti.TPrioridad != null)
                    {
                        incidencia.Prioridad = CntLainsaSci.GetPrioridad(ti.TPrioridad.PrioridadId, ctx);
                    }
                    if (ti.TResponsable != null)
                    {
                        incidencia.Responsable = CntLainsaSci.GetResponsable(ti.TResponsable.ResponsableId, ctx);
                    }
                    incidencia.Usuario     = CntLainsaSci.GetUsuario(ti.TUsuario.UsuarioId, ctx);
                    incidencia.Comentarios = ti.Comentarios;
                    incidencia.Operativo   = ti.Operativo;
                    incidencia.SiguePlan   = true;   // hasta que no se cambie el programa de terminal para que contemple ese campo.
                    ctx.Add(incidencia);
                    ctx.SaveChanges();
                    // Si es un alta hay que verificar que las evoluciones asociadas se cree contra
                    // la incidencia de servidor correcta.
                    GuardarIncidenciaEvolucions(ti, incidencia, conn, ctx);
                    break;

                case 2:
                    incidencia = CntLainsaSci.GetIncidencia(ti.IncidenciaId, ctx);
                    if (incidencia != null)
                    {
                        ctx.Delete(incidencia.IncidenciaEvolucions);
                        ctx.SaveChanges();
                        ctx.Delete(incidencia);
                        ctx.SaveChanges();
                    }
                    break;

                case 3:
                    incidencia = CntLainsaSci.GetIncidencia(ti.IncidenciaId, ctx);
                    incidencia.FechaApertura = ti.FechaApertura;
                    incidencia.FechaPrevista = ti.FechaPrevista;
                    incidencia.FechaCierre   = ti.FechaCierre;
                    incidencia.Dispositivo   = CntLainsaSci.GetDispositivo(ti.TDispositivo.DispositivoId, ctx);
                    if (ti.TEstado != null)
                    {
                        incidencia.Estado = CntLainsaSci.GetEstado(ti.TEstado.EstadoId, ctx);
                    }
                    if (ti.TPrioridad != null)
                    {
                        incidencia.Prioridad = CntLainsaSci.GetPrioridad(ti.TPrioridad.PrioridadId, ctx);
                    }
                    if (ti.TResponsable != null)
                    {
                        incidencia.Responsable = CntLainsaSci.GetResponsable(ti.TResponsable.ResponsableId, ctx);
                    }
                    incidencia.Usuario     = CntLainsaSci.GetUsuario(ti.TUsuario.UsuarioId, ctx);
                    incidencia.Comentarios = ti.Comentarios;
                    incidencia.Operativo   = ti.Operativo;
                    break;

                default:
                    break;
                }
                ctx.SaveChanges();
            }
        }