예제 #1
0
        public void CargarGrid()
        {
            IList <TIncidenciaEvolucion> lts = null;

            CntSciTerminal.TOpen(this.conn);
            lts = CntSciTerminal.GetTIncidenciaEvolucions(incidencia, conn);
            CntSciTerminal.TClose(this.conn);
            grdIncidenciaEvolucion.DataSource = lts.ToArray <TIncidenciaEvolucion>();
            CrearEstiloColumnas();
        }
예제 #2
0
        private void GuardarIncidenciaEvolucions(TIncidencia ti, Incidencia inci, SqlCeConnection conn, LainsaSci ctx)
        {
            IList <TIncidenciaEvolucion> ltie = CntSciTerminal.GetTIncidenciaEvolucions(ti, conn);

            foreach (TIncidenciaEvolucion tie in ltie)
            {
                if (tie.Abm == 0)
                {
                    continue;               // no cambiada
                }
                switch (tie.Abm)
                {
                case 1:
                    // alta
                    // aqui no verificamos un doble pase de fcihero porque lo ha sido en la
                    // incidencia padre.
                    IncidenciaEvolucion ie = new IncidenciaEvolucion();
                    ie.Incidencia     = inci; // en esta rutina la incidencia es conocida
                    ie.FechaEvolucion = tie.FechaEvolucion;
                    ie.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                    ie.Comentarios    = tie.Comentarios;
                    ie.Operativo      = tie.Operativo;
                    ctx.Add(ie);
                    break;

                case 2:
                    // baja
                    IncidenciaEvolucion ie2 = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                    if (ie2 != null)
                    {
                        ctx.Delete(ie2);
                    }
                    break;

                case 3:
                    // modificada
                    // este caso no debería darse pero por si acaso
                    IncidenciaEvolucion ie3 = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                    if (ie3 != null)
                    {
                        Incidencia i3 = CntLainsaSci.GetIncidencia(tie.Incidencia.IncidenciaId, ctx);
                        ie3.Incidencia     = i3;
                        ie3.FechaEvolucion = tie.FechaEvolucion;
                        ie3.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                        ie3.Comentarios    = tie.Comentarios;
                        ie3.Operativo      = tie.Operativo;
                    }
                    break;

                default:
                    break;
                }
                ctx.SaveChanges();
            }
        }
예제 #3
0
        // guardar las evoluciones relacionadas con una incidencia.
        private void GuardarIncidenciaEvolucion(TIncidencia ti, int abm, SqlCeConnection conn, LainsaSci ctx)
        {
            Incidencia incidencia = CntLainsaSci.GetIncidencia(ti.IncidenciaId, ctx);

            if (incidencia == null)
            {
                return;
            }
            // caso de las bajas, se eliminan todas las asociadas.
            if (abm == 2)
            {
                ctx.Delete(incidencia.IncidenciaEvolucions);
            }
            else
            {
                IncidenciaEvolucion          ie;
                IList <TIncidenciaEvolucion> tlie = CntSciTerminal.GetTIncidenciaEvolucions(ti, conn);
                foreach (TIncidenciaEvolucion tie in tlie)
                {
                    if (tie.Abm == 0)
                    {
                        continue;
                    }
                    switch (tie.Abm)
                    {
                    case 1:
                        // alta
                        ie                = new IncidenciaEvolucion();
                        ie.Incidencia     = incidencia;
                        ie.FechaEvolucion = tie.FechaEvolucion;
                        ie.Comentarios    = tie.Comentarios;
                        ie.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                        ctx.Add(ie);
                        break;

                    case 2:
                        // baja
                        // ya ha sido tratado en un paso anterior.
                        break;

                    case 3:
                        // modificación
                        ie = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                        ie.FechaEvolucion = tie.FechaEvolucion;
                        ie.Comentarios    = tie.Comentarios;
                        ie.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                        break;

                    default:
                        break;
                    }
                }
            }
        }
예제 #4
0
        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;
        }
예제 #5
0
        //
        private void GuardarIncidenciaEvolucions(SqlCeConnection conn, LainsaSci ctx)
        {
            IList <TIncidenciaEvolucion> ltie = CntSciTerminal.GetTIncidenciaEvolucions(conn);

            foreach (TIncidenciaEvolucion tie in ltie)
            {
                if (tie.Abm == 0)
                {
                    continue;               // no cambiada
                }
                if (tie.Incidencia.Abm == 1)
                {
                    continue;                          // las evoluciones de las incidencias creadas ya han sido procesadas (GuardarIncidencias)
                }
                switch (tie.Abm)
                {
                case 1:
                    // alta
                    // primero evitar un doble procesamiento
                    IncidenciaEvolucion ie1 = (from ine in ctx.IncidenciaEvolucions
                                               where ine.Incidencia.IncidenciaId == tie.Incidencia.IncidenciaId &&
                                               ine.FechaEvolucion == tie.FechaEvolucion &&
                                               ine.Comentarios == tie.Comentarios
                                               select ine).FirstOrDefault <IncidenciaEvolucion>();
                    if (ie1 != null)
                    {
                        break;                  // la evolución entendemos que ya ha sido dada de alta
                    }
                    IncidenciaEvolucion ie = new IncidenciaEvolucion();
                    Incidencia          i  = CntLainsaSci.GetIncidencia(tie.Incidencia.IncidenciaId, ctx);
                    ie.Incidencia     = i;
                    ie.FechaEvolucion = tie.FechaEvolucion;
                    ie.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                    ie.Comentarios    = tie.Comentarios;
                    ie.Operativo      = tie.Operativo;
                    ctx.Add(ie);
                    break;

                case 2:
                    // baja
                    IncidenciaEvolucion ie2 = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                    if (ie2 != null)
                    {
                        ctx.Delete(ie2);
                    }
                    break;

                case 3:
                    // modificada
                    IncidenciaEvolucion ie3 = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                    if (ie3 != null)
                    {
                        Incidencia i3 = CntLainsaSci.GetIncidencia(tie.Incidencia.IncidenciaId, ctx);
                        ie3.Incidencia     = i3;
                        ie3.FechaEvolucion = tie.FechaEvolucion;
                        ie3.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                        ie3.Comentarios    = tie.Comentarios;
                        ie3.Operativo      = tie.Operativo;
                    }
                    break;

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