Exemple #1
0
 protected void UnloadData(Revision revision)
 {
     revision.FechaRevision = (DateTime)rdpFechaRevision.SelectedDate;
     revision.Resultado     = txtResultado.Text;
     revision.Observaciones = txtObservaciones.Text;
     revision.Usuario       = CntLainsaSci.GetUsuario(int.Parse(rdcOperario.SelectedValue), ctx);
     leerDatos();
     revision.ResumenInforme = CntLainsaSci.GetResumenInforme(revision, ctx);
     revision.Estado         = "REALIZADA";
     if (revision.Programa != null)
     {
         revision.Programa.Estado = CntLainsaSci.EstadoPrograma(revision.Programa);
     }
     if (rdcTipoAnomalia.SelectedValue != "")
     {
         revision.TipoAnomalia = CntLainsaSci.GetTipoAnomalia(int.Parse(rdcTipoAnomalia.SelectedValue), ctx);
     }
     else
     {
         revision.TipoAnomalia = null;
     }
     if (revision.Dispositivo != null)
     {
         revision.CodBarras = revision.Dispositivo.CodBarras;
     }
 }
 protected void UnloadData(Revision revision)
 {
     revision.FechaRevision = (DateTime)rdpFechaRevision.SelectedDate;
     revision.Resultado     = txtResultado.Text;
     revision.Observaciones = txtObservaciones.Text;
     revision.Usuario       = CntLainsaSci.GetUsuario(int.Parse(rdcOperario.SelectedValue), ctx);
     leerDatos();
     revision.ResumenInforme = CntLainsaSci.GetResumenInforme(revision, ctx);
     revision.Estado         = "REALIZADA";
     if (revision.Programa != null)
     {
         revision.Programa.Estado = CntLainsaSci.EstadoPrograma(revision.Programa);
     }
 }
 protected void btnPrint_Click(object sender, ImageClickEventArgs e)
 {
     if (programa != null)
     {
         foreach (Revision r in programa.Revisions)
         {
             r.ResumenInforme = CntLainsaSci.GetResumenInforme(r, ctx);
         }
         ctx.SaveChanges();
         string url      = String.Format("VisorInforme.aspx?ProgramaId={0}&Informe=RptPrograma2", programa.ProgramaId);
         string jCommand = String.Format("openOutSide('{0}','{1}');", url, "VisorInforme");
         RadAjaxManager1.ResponseScripts.Add(jCommand);
     }
 }
        //private void GuardarRevisiones(TDispositivo disp, SqlCeConnection conn)
        //{
        //    IList<TRevision> revisiones = CntSciTerminal.GetTRevisiones(disp, conn);
        //    foreach (TRevision rev in revisiones)
        //    {
        //        Revision revision = null;
        //        var rs = (from d in ctx.Revisions
        //                  where d.RevisionId == rev.RevisionId
        //                  select d).FirstOrDefault<Revision>();
        //        //siempre existirá la revisión ya que no se permite la creación de nuevas en TERMINAL
        //        if (rs != null)
        //        {
        //            revision = rs;
        //            if (rev.FechaRevision != null)
        //                revision.FechaRevision = rev.FechaRevision;
        //            revision.FechaPlanificada = rev.FechaPlanificada;
        //            revision.Resultado = rev.Resultado;
        //            revision.Observaciones = rev.Comentario;
        //            if (rev.Usuario != null)
        //                revision.Usuario = CntLainsaSci.GetUsuario(rev.Usuario.UsuarioId, ctx);
        //            revision.Estado = rev.Estado;
        //            if (rev.TTipoAnomalia != null)
        //                revision.TipoAnomalia = CntLainsaSci.GetTipoAnomalia(rev.TTipoAnomalia.TipoAnomaliaId, ctx);
        //            if (rev.Dispositivo.CodBarras != null)
        //                revision.CodBarras = rev.Dispositivo.CodBarras;
        //            CargarDatosRevision(rev, conn);
        //            revision.ResumenInforme = CntLainsaSci.GetResumenInforme(revision, ctx);

        //            ctx.SaveChanges();

        //            // ahora esta secuencia solo tiene sentido en el caso de periodicas
        //            if (!revision.PlantillaRevision.NoPeriodica)
        //            {
        //                CntLainsaSci.EliminarInferiores(revision, ctx);
        //                CntLainsaSci.ProgramarSiguienteRevision(revision, ctx, true);
        //                CntLainsaSci.ProgramarInferiores(revision, ctx);
        //            }
        //        }
        //        else
        //        {
        //            // revision = new Revision();
        //            // revision.FechaRevision = rev.FechaRevision;
        //            // revision.Resultado = rev.Resultado;
        //            // if (rev.Usuario != DBNull.Value)
        //            //     revision.Usuario = CntLainsaSci.GetUsuario(rev.Usuario.UsuarioId, ctx);
        //            // revision.ResumenInforme = CntLainsaSci.GetResumenInforme(revision, ctx);
        //            // revision.Estado = rev.Estado;
        //            // if (rev.TTipoAnomalia != DBNull.Value)
        //            //     revision.TipoAnomalia = CntLainsaSci.GetTipoAnomalia(rev.TTipoAnomalia.TipoAnomaliaId, ctx);
        //            // revision.Dispositivo = CntLainsaSci.GetDispositivo(rev.Dispositivo.DispositivoId, ctx);

        //            //// revision.ResumenInforme = CntLainsaSci.GetResumenInforme(revision, ctx);
        //            // ctx.Add(revision);
        //        }
        //    }
        //}
        private void GuardarRevisiones(SqlCeConnection conn)
        {
            IList <TRevision> revisiones = CntSciTerminal.GetTRevisiones(conn);

            foreach (TRevision rev in revisiones)
            {
                Revision revision = null;
                var      rs       = (from d in ctx.Revisions
                                     where d.RevisionId == rev.RevisionId
                                     select d).FirstOrDefault <Revision>();
                //siempre existirá la revisión ya que no se permite la creación de nuevas en TERMINAL
                if (rs != null)
                {
                    revision = rs;
                    if (rev.FechaRevision != null)
                    {
                        revision.FechaRevision = rev.FechaRevision;
                    }
                    revision.Resultado     = rev.Resultado;
                    revision.Observaciones = rev.Comentario;
                    if (rev.Usuario != null)
                    {
                        revision.Usuario = CntLainsaSci.GetUsuario(rev.Usuario.UsuarioId, ctx);
                    }
                    CargarDatosRevision(rev, conn);
                    revision.ResumenInforme = CntLainsaSci.GetResumenInforme(revision, ctx);
                    revision.Estado         = rev.Estado;
                    if (revision.Programa != null)
                    {
                        revision.Programa.Estado = CntLainsaSci.EstadoPrograma(revision.Programa);
                    }
                    if (rev.TTipoAnomalia != null)
                    {
                        revision.TipoAnomalia = CntLainsaSci.GetTipoAnomalia(rev.TTipoAnomalia.TipoAnomaliaId, ctx);
                    }



                    ctx.SaveChanges();

                    // ahora esta secuencia solo tiene sentido en el caso de periodicas
                    if (!revision.PlantillaRevision.NoPeriodica)
                    {
                        CntLainsaSci.EliminarInferiores(revision, ctx);
                        CntLainsaSci.ProgramarSiguienteRevision(revision, ctx, true);
                        CntLainsaSci.ProgramarInferiores(revision, ctx);
                    }
                }
            }
        }
        private void GuardarRevisiones(SqlCeConnection conn)
        {
            IList <TRevision> revisiones = CntSciTerminal.GetTRevisiones(conn);

            foreach (TRevision rev in revisiones)
            {
                // no tiene sentido modificar revisiones que no se han tocado
                if (rev.Abm == 0)
                {
                    continue;
                }
                Revision revision = null;
                var      rs       = (from d in ctx.Revisions
                                     where d.RevisionId == rev.RevisionId
                                     select d).FirstOrDefault <Revision>();
                // si no corresponde a un programa la omitimos (no se como la han dado de alta)
                if (rev.TPrograma == null)
                {
                    continue;
                }
                if (rs == null)
                {
                    // por si ha habido cambios de ID debido a
                    // a generaciones, tenemos este control para a pesar de eso
                    // intentar encontrar la resiion
                    rs = (from r in ctx.Revisions
                          where r.Dispositivo.DispositivoId == rev.Dispositivo.DispositivoId &&
                          r.Programa.ProgramaId == rev.TPrograma.ProgramaId &&
                          r.PlantillaRevision.Descripcion == rev.Plantilla
                          select r).FirstOrDefault <Revision>();
                }
                if (rs == null)
                {
                    // un último intento con el mínimo de informacion
                    rs = (from r in ctx.Revisions
                          where r.Dispositivo.DispositivoId == rev.Dispositivo.DispositivoId &&
                          r.Programa.ProgramaId == rev.TPrograma.ProgramaId &&
                          r.Estado != "REALIZADA"
                          select r).FirstOrDefault <Revision>();
                }
                //siempre existirá la revisión ya que no se permite la creación de nuevas en TERMINAL
                if (rs != null)
                {
                    revision = rs;
                    if (rev.FechaRevision != null)
                    {
                        revision.FechaRevision = rev.FechaRevision;
                    }
                    revision.Resultado     = rev.Resultado;
                    revision.Observaciones = rev.Comentario;
                    if (rev.Usuario != null)
                    {
                        revision.Usuario = CntLainsaSci.GetUsuario(rev.Usuario.UsuarioId, ctx);
                    }
                    CargarDatosRevision(rev, conn);
                    revision.ResumenInforme = CntLainsaSci.GetResumenInforme(revision, ctx);
                    revision.Estado         = rev.Estado;
                    if (revision.Programa != null)
                    {
                        revision.Programa.Estado = CntLainsaSci.EstadoPrograma(revision.Programa);
                    }
                    if (rev.TTipoAnomalia != null)
                    {
                        revision.TipoAnomalia = CntLainsaSci.GetTipoAnomalia(rev.TTipoAnomalia.TipoAnomaliaId, ctx);
                    }
                    ctx.SaveChanges();
                    // ahora esta secuencia solo tiene sentido en el caso de periodicas
                    if (!revision.PlantillaRevision.NoPeriodica)
                    {
                        CntLainsaSci.EliminarInferiores(revision, ctx);
                        CntLainsaSci.ProgramarSiguienteRevision(revision, ctx, true);
                        CntLainsaSci.ProgramarInferiores(revision, ctx);
                    }
                }
            }
        }