protected void btnAccept_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            if (!DataOk())
            {
                return;
            }
            if (newRecord)
            {
                dispositivo = new Dispositivo();
            }
            UnloadData(dispositivo);
            if (newRecord)
            {
                dispositivo.DispositivoPadre = dispositivoPadre;
                ctx.Add(dispositivo);
            }
            ctx.SaveChanges();

            if (newRecord)
            {
                RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller));
            }
            else
            {
                CntLainsaSci.CrearResumenesRevision(dispositivo, ctx);
                RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
            }
        }
        catch (Exception ex)
        {
            ControlDeError(ex);
        }
    }
示例#2
0
 protected void btnAccept_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         if (!DataOk())
         {
             return;
         }
         if (newRecord)
         {
             permiso = new Permiso();
         }
         UnloadData(permiso);
         if (newRecord)
         {
             ctx.Add(permiso);
         }
         ctx.SaveChanges();
         if (newRecord)
         {
             RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller));
         }
         else
         {
             RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
         }
     }
     catch (Exception ex)
     {
         ControlDeError(ex);
     }
 }
示例#3
0
        public static void CrearResumenesRevision(Dispositivo dsp, LainsaSci ctx)
        {
            if (dsp == null)
            {
                return;
            }
            IList <PlantillaRevision> lpr = (from p in dsp.TipoDispositivo.PlantillaRevisions
                                             where p.NoPeriodica == false
                                             select p).ToList <PlantillaRevision>();

            foreach (PlantillaRevision pr in lpr)
            {
                ResumenRevision rr = (from rsr in dsp.ResumenesRevisones
                                      where rsr.PlantillaRevision.PlantillaId == pr.PlantillaId
                                      select rsr).FirstOrDefault <ResumenRevision>();
                if (rr == null)
                {
                    rr                   = new ResumenRevision();
                    rr.Dispositivo       = dsp;
                    rr.PlantillaRevision = pr;
                    ctx.Add(rr);
                }
            }
            ctx.SaveChanges();
        }
示例#4
0
 protected void btnAccept_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         if (!DataOk())
         {
             return;
         }
         if (newRecord)
         {
             plantillaRevision = new PlantillaRevision();
         }
         UnloadData(plantillaRevision);
         if (newRecord)
         {
             ctx.Add(plantillaRevision);
         }
         ctx.SaveChanges();
         if (newRecord)
         {
             string url      = String.Format("PlantillaRevisionTab.aspx?Caller=PlantillaRevisionGrid&PlantillaId={0}", plantillaRevision.PlantillaId);
             string jCommand = String.Format("closeOpen('{0}','{1}');", url, "PlantillaRevisionTab");
             RadAjaxManager1.ResponseScripts.Add(jCommand);
             //RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller));
         }
         else
         {
             RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", "PlantillaRevisionGrid"));
         }
     }
     catch (Exception ex)
     {
         ControlDeError(ex);
     }
 }
示例#5
0
 protected void btnAccept_Click(object sender, ImageClickEventArgs e)
 {
     //try
     //{
     if (!DataOk())
     {
         return;
     }
     if (newRecord)
     {
         dispositivo = new Dispositivo();
     }
     UnloadData(dispositivo);
     if (newRecord)
     {
         dispositivo.DispositivoPadre = dispositivoPadre;
         ctx.Add(dispositivo);
     }
     ctx.SaveChanges();
     if (newRecord)
     {
         dispositivo = CntLainsaSci.GetLastDispositivo(ctx);
     }
     CntLainsaSci.CrearResumenesRevision(dispositivo, ctx);
     //
     if (dispositivo.Caducado)
     {
         // si el dispositivo ha caducado se elimina todas sus revisiones pendientes
         CntLainsaSci.EliminarRevisionesPendientes(dispositivo, ctx);
     }
     if (!dispositivo.Operativo && !dispositivo.SiguePlan)
     {
         RadWindowManager1.RadConfirm("Ha elegido no seguir planificando revisiones para este dispositivo. ¿Quiere borrar las no realizadas?", "askRevision", null, null, null, "AVISO");
         return;
     }
     if (newRecord)
     {
         if (dispositivoPadre == null)
         {
             RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller));
         }
         else
         {
             //string keydisp = CntLainsaSci.GetLastDispositivo(ctx).DispositivoId.ToString();
             string keydisp = dispositivo.DispositivoId.ToString();
             RadAjaxManager1.ResponseScripts.Add(String.Format("newDispositivo({0});", keydisp));
         }
     }
     else
     {
         //CntLainsaSci.CrearResumenesRevision(dispositivo, ctx);
         RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
     }
     //}
     //catch (Exception ex)
     //{
     //    ControlDeError(ex);
     //}
 }
        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();
            }
        }
示例#7
0
 public static void DeleteRevision(Revision r, LainsaSci ctx)
 {
     // primero eliminamos sus datos
     ctx.Delete(r.DatosRevisions);
     // y ahora la revisón
     ctx.Delete(r);
     // ok y guardamos
     ctx.SaveChanges();
 }
示例#8
0
 protected void btnFin_Click(object sender, EventArgs e)
 {
     r.FechaRevision = (DateTime)rdpFechaRevision.SelectedDate;
     r.Resultado     = txtResultado.Text;
     r.Observaciones = txtObservaciones.Text;
     r.Estado        = "REALIZADA";
     ctx.SaveChanges();
     Response.Redirect("ProgramaList.aspx");
 }
示例#9
0
    protected void leerDatos()
    {
        foreach (Control control in PlantillaHolder.Controls)
        {
            string        tipo = control.GetType().ToString();
            int           id   = int.Parse(control.ID);
            DatosRevision dr   = (from d in revision.DatosRevisions
                                  where d.DatosId == id
                                  select d).FirstOrDefault <DatosRevision>();
            if (dr != null)
            {
                switch (tipo)
                {
                case "ASP.camposn_ascx":
                    CampoSN csn = (CampoSN)control;
                    dr.Valor = csn.GetValor();
                    break;

                case "ASP.campotext_ascx":
                    CampoText ctxt = (CampoText)control;
                    dr.Valor = ctxt.GetValor();
                    break;

                case "ASP.camponum_ascx":
                    CampoNum cnum = (CampoNum)control;
                    dr.Valor = cnum.GetValor();
                    break;

                case "ASP.campodate_ascx":
                    CampoDate cdt = (CampoDate)control;
                    dr.Valor = cdt.GetValor();
                    break;

                case "ASP.campotetra_ascx":
                    CampoTetra ctetra = (CampoTetra)control;
                    dr.Valor = ctetra.GetValor();
                    break;
                }
                dr.Revision = revision;
            }
        }
        ctx.SaveChanges();
    }
        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();
            }
        }
示例#11
0
 protected void btnAgregar_Click(object sender, EventArgs e)
 {
     if (txtFiltro.Text != "")
     {
         Filtro f = CntLainsaSci.GetFiltro("Dispositivo", txtFiltro.Text, ctx);
         if (f == null)
         {
             f = new Filtro();
             ctx.Add(f);
         }
         f.Tipo      = "Dispositivo";
         f.Nombre    = txtFiltro.Text;
         f.Expresion = RadFilter1.SaveSettings();
         ctx.SaveChanges();
         CargarFiltros(f);
         rdcFiltro.SelectedValue = f.FiltroId.ToString();
         RadNotification1.Text   = String.Format("El filtro '{0}' ha sido agregado, lo puede ver en el desplegable", f.Nombre);
         RadNotification1.Show();
     }
 }
示例#12
0
        /// <summary>
        /// Procesa un informe en el sentido de crear, o recrear el documento asociado.
        /// </summary>
        /// <param name="ip">Informe programado</param>
        /// <param name="desdeFecha">Desde fecha</param>
        /// <param name="hastaFecha">Hasta fecha</param>
        /// <param name="periodicidad">Periodicidad</param>
        /// <param name="instalacion">Instalacion</param>
        /// <param name="informe">Informe</param>
        /// <param name="repositorio">repositorio</param>
        /// <param name="ctx">Conector a la base de datos</param>
        public static void ProcesarUnInforme(InformeProgramado ip, DateTime desdeFecha, DateTime hastaFecha, string periodicidad,
                                             Instalacion instalacion, string informe, string repositorio, LainsaSci ctx)
        {
            Documento documento = new Documento();

            if (ip != null)
            {
                documento = ip.Documento;
            }
            else
            {
                ip                     = new InformeProgramado();
                ip.Empresa             = instalacion.Empresa;
                ip.Instalacion         = instalacion;
                ip.Instalacion         = null;
                ip.FechaInicial        = desdeFecha;
                ip.FechaFinal          = hastaFecha;
                ip.ProgramacionInforme = GetProgramacionInforme(informe, periodicidad, ctx);
                ctx.Add(ip);
                documento.Empresa     = instalacion.Empresa;
                documento.Instalacion = instalacion;
                documento.Fecha       = DateTime.Now;
                documento.Comentarios = "Informe generado automáticamente";
                documento.Extension   = "PDF";
                ctx.Add(documento);
                ip.Documento = documento;
                ctx.SaveChanges();
            }
            // en cualquier caso hay que generar el documento y a ello vamos.
            string          directorio      = repositorio;
            string          nombreFichero   = String.Format("{0:000000000}", documento.DocumentoId) + ".PDF";
            string          fichero         = String.Format("{0}\\{1}", directorio, nombreFichero);
            ReportProcessor reportProcessor = new ReportProcessor();
            RenderingResult renderingResult = null;

            switch (informe)
            {
            case "RptResumenEmpresaInstalacion":
                RptResumenEmpresaInstalacion rptR = new RptResumenEmpresaInstalacion(desdeFecha, hastaFecha, instalacion.Empresa.EmpresaId, instalacion.InstalacionId, ctx);
                documento.Nombre = String.Format("Resumen Revisiones {0:dd/MM/yyyy} {1:dd/MM/yyyy} (Programado)", desdeFecha, hastaFecha);
                renderingResult  = reportProcessor.RenderReport("PDF", rptR, null);
                break;

            case "RptFacturableEmpresaInstalacion":
                RptFacturableEmpresaInstalacion rptF = new RptFacturableEmpresaInstalacion(desdeFecha, hastaFecha, instalacion.Empresa.EmpresaId, instalacion.InstalacionId, ctx);
                documento.Nombre = String.Format("Revisiones facturables {0:dd/MM/yyyy} {1:dd/MM/yyyy} (Programado)", desdeFecha, hastaFecha);
                renderingResult  = reportProcessor.RenderReport("PDF", rptF, null);
                break;
            }
            FileStream fs = new FileStream(fichero, FileMode.Create);

            fs.Write(renderingResult.DocumentBytes, 0, renderingResult.DocumentBytes.Length);
            fs.Close();
        }
示例#13
0
 public static void BorrarDispositivo(Dispositivo dsp, LainsaSci ctx)
 {
     foreach (Revision rev in dsp.Revisiones)
     {
         ctx.Delete(rev.DatosRevisions);
     }
     ctx.Delete(dsp.Revisiones);
     ctx.Delete(dsp.ResumenesRevisones);
     ctx.Delete(dsp);
     ctx.SaveChanges();
 }
示例#14
0
 public static void EliminarRevisionesPendientes(Dispositivo dsp, LainsaSci ctx, Revision revision)
 {
     foreach (Revision r in dsp.Revisiones)
     {
         if (r.Estado != "REALIZADA")
         {
             DeleteRevision(r, ctx);
         }
     }
     ctx.SaveChanges();
 }
示例#15
0
 public static void DeleteGrupoTrabajo(GrupoTrabajo gt, LainsaSci ctx)
 {
     if (gt.Usuarios != null)
     {
         foreach (Usuario u in gt.Usuarios)
         {
             u.GrupoTrabajo = null;
         }
     }
     ctx.Delete(gt);
     ctx.SaveChanges();
 }
 /// <summary>
 /// Descarga los controles y los asigna a los atributos
 /// </summary>
 protected void DescargarControles(ProgramacionInforme prgInf)
 {
     if (prgInf == null)
     {
         prgInf = new ProgramacionInforme();
         ctx.Add(prgInf);
     }
     prgInf.Informe      = rdcInforme.SelectedValue;
     prgInf.Periodicidad = rdcPeriodicidad.SelectedValue;
     prgInf.FechaInicial = (DateTime)rdtFecha.SelectedDate;
     ctx.SaveChanges();
 }
示例#17
0
 protected void btnAceptar_Click(object sender, EventArgs e)
 {
     //if (!chkComprueba.Checked)
     //{
     //    lblError.Text = (string)GetGlobalResourceObject("LainsaSciExtranet", "MarcarRevision");
     //}
     //else
     //{
     //    documento.Revisado = true;
     ctx.SaveChanges();
     Response.Redirect(String.Format("DocumentoForm.aspx?DocumentoId={0}", documento.DocumentoId));
     //}
 }
示例#18
0
    protected void btnAccept_Click(object sender, ImageClickEventArgs e)
    {
        //try
        //{
        if (!DataOk())
        {
            return;
        }
        if (newRecord)
        {
            dispositivo = new Dispositivo();
        }
        UnloadData(dispositivo);
        if (newRecord)
        {
            dispositivo.DispositivoPadre = dispositivoPadre;
            ctx.Add(dispositivo);
        }
        ctx.SaveChanges();
        if (newRecord)
        {
            dispositivo = CntLainsaSci.GetLastDispositivo(ctx);
        }

        CntLainsaSci.CrearResumenesRevision(dispositivo, ctx);
        if (newRecord)
        {
            if (dispositivoPadre == null)
            {
                RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller));
            }
            else
            {
                //string keydisp = CntLainsaSci.GetLastDispositivo(ctx).DispositivoId.ToString();
                string keydisp = dispositivo.DispositivoId.ToString();
                RadAjaxManager1.ResponseScripts.Add(String.Format("newDispositivo({0});", keydisp));
            }
        }
        else
        {
            //CntLainsaSci.CrearResumenesRevision(dispositivo, ctx);
            RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
        }
        //}
        //catch (Exception ex)
        //{
        //    ControlDeError(ex);
        //}
    }
示例#19
0
 protected void btnAccept_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         if (!DataOk())
         {
             return;
         }
         if (newRecord)
         {
             sustitucion = new Sustitucion();
             if (revision != null)
             {
                 sustitucion.Revision = revision;
             }
         }
         UnloadData(sustitucion);
         if (newRecord)
         {
             ctx.Add(sustitucion);
         }
         ctx.SaveChanges();
         if (revision == null)
         {
             if (newRecord)
             {
                 RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');"
                                                                   , caller));
             }
             else
             {
                 RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');"
                                                                   , caller));
             }
         }
         else
         {
             RadAjaxManager1.ResponseScripts.Add("closeWindow();");
         }
     }
     catch (Exception ex)
     {
         ControlDeError(ex);
     }
 }
 protected void btnAccept_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         if (!DataOk())
         {
             return;
         }
         if (newRecord)
         {
             plantillaRevision = new PlantillaRevision();
         }
         UnloadData(plantillaRevision);
         if (newRecord)
         {
             ctx.Add(plantillaRevision);
         }
         ctx.SaveChanges();
         if (newRecord)
         {
             string url      = String.Format("PlantillaRevisionTab.aspx?Caller=PlantillaRevisionGrid&PlantillaId={0}", plantillaRevision.PlantillaId);
             string jCommand = String.Format("closeOpen('{0}','{1}');", url, "PlantillaRevisionTab");
             RadAjaxManager1.ResponseScripts.Add(jCommand);
             //RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller));
         }
         else
         {
             lblCarga.Visible = true;
             foreach (ResumenRevision rr in plantillaRevision.ResumenesRevisones)
             {
                 CntLainsaSci.PlanificarRevisiones(rr, ctx);
                 if (rr.Dispositivo.Accesorios.Count > 0)
                 {
                     CntLainsaSci.PlanificarRevisionesAccesorios(rr, ctx);
                 }
             }
             RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
         }
     }
     catch (Exception ex)
     {
         ControlDeError(ex);
     }
 }
示例#21
0
 public static void CrearPermisos(Proceso pro, LainsaSci ctx)
 {
     // Buscamos para todos los grupos de usuarios
     foreach (GrupoUsuario gpu in ctx.GrupoUsuarios)
     {
         Permiso per = GetPermiso(gpu, pro.Nombre, ctx);
         if (per == null)
         {
             per              = new Permiso();
             per.Proceso      = pro;
             per.GrupoUsuario = gpu;
             per.Ver          = true;  // por defecto los usuarios ven
             per.Crear        = false; // no puden crear por defecto
             per.Modificar    = false; // lo mismo para modificar
             per.Especial     = false; // idem para especial
             ctx.Add(per);
             ctx.SaveChanges();
         }
     }
 }
示例#22
0
 public void GuardarTerminal()
 {
     try
     {
         terminal = CntLainsaSci.GetCargaTerminal(archivo, ctx);
         if (terminal == null)
         {
             terminal         = new CargaTerminales();
             terminal.Empresa = empresa;
             terminal.Archivo = archivo;
             terminal.Fecha   = DateTime.Now;
             ctx.Add(terminal);
         }
         terminal.Fecha = DateTime.Now;
         ctx.SaveChanges();
     }
     catch (Exception ex)
     {
         ControlDeError(ex);
     }
 }
示例#23
0
        public static void EliminarRevisionesPendientes(Dispositivo d, LainsaSci ctx)
        {
            var rs = (from r in ctx.Revisions
                      where r.Dispositivo.DispositivoId == d.DispositivoId &&
                      r.Estado != "REALIZADA"
                      select r);

            foreach (Revision r in rs)
            {
                ctx.Delete(r.DatosRevisions);
                ctx.Delete(r.Sustitucions);
            }
            ctx.Delete(rs);
            // al haber eliminado todas las revisiones lo lógico es que los resúmenes
            // tengan fecha de siguiente nula
            foreach (ResumenRevision rr in d.ResumenesRevisones)
            {
                rr.FechaSiguiente = new DateTime(1, 1, 1);
            }
            ctx.SaveChanges();
        }
示例#24
0
    protected void DescargarControl(DatosRevision dr)
    {
        Control control = PlantillaHolder.Controls[0];
        string  tipo    = control.GetType().ToString();

        if (dr != null)
        {
            switch (tipo)
            {
            case "ASP.camposn_ascx":
                CampoSN csn = (CampoSN)control;
                dr.Valor = csn.GetValor();
                break;

            case "ASP.campotext_ascx":
                CampoText ctxt = (CampoText)control;
                dr.Valor = ctxt.GetValor();
                break;

            case "ASP.camponum_ascx":
                CampoNum cnum = (CampoNum)control;
                dr.Valor = cnum.GetValor();
                break;

            case "ASP.campodate_ascx":
                CampoDate cdt = (CampoDate)control;
                dr.Valor = cdt.GetValor();
                break;

            case "ASP.campotetra_ascx":
                CampoTetra ctetra = (CampoTetra)control;
                dr.Valor = ctetra.GetValor();
                break;
            }
            dr.Revision = r;
        }
        // si descargamos grabamos
        ctx.SaveChanges();
    }
示例#25
0
 /// <summary>
 /// Descarga los controles y los asigna a los atributos
 /// </summary>
 protected void DescargarControles(Revision revision)
 {
     if (revision == null)
     {
         revision = new Revision();
         ctx.Add(revision);
     }
     revision.Dispositivo       = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivo.SelectedValue), ctx);
     revision.PlantillaRevision = CntLainsaSci.GetPlantillaRevision(int.Parse(rdcPlantilla.SelectedValue), ctx);
     revision.FechaPlanificada  = (DateTime)rdtFecha.SelectedDate;
     revision.Usuario           = CntLainsaSci.GetUsuario(int.Parse(rdcUsuario.SelectedValue), ctx);
     revision.Estado            = "PLANIFICADA";
     // Ahora hay que crear los datos asociados a esa revisión
     foreach (Campo c in revision.PlantillaRevision.Campos)
     {
         DatosRevision dr = new DatosRevision();
         dr.Campo    = c;
         dr.Revision = revision;
         ctx.Add(dr);
     }
     ctx.SaveChanges();
 }
示例#26
0
 protected void btnAccept_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         if (!DataOk())
         {
             return;
         }
         if (newRecord)
         {
             empresa = new Empresa();
         }
         UnloadData(empresa);
         if (newRecord)
         {
             ctx.Add(empresa);
         }
         ctx.SaveChanges();
         if (newRecord)
         {
             string url      = String.Format("EmpresaTab.aspx?Caller=EmpresaGrid&EmpresaId={0}", empresa.EmpresaId);
             string jCommand = String.Format("closeOpen('{0}','{1}');", url, "EmpresaTab");
             RadAjaxManager1.ResponseScripts.Add(jCommand);
             //RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');"
             //    , caller));
         }
         else
         {
             RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');"
                                                               , caller));
         }
     }
     catch (Exception ex)
     {
         ControlDeError(ex);
     }
 }
示例#27
0
 public static void VerifyPermissions(GrupoUsuario ug, LainsaSci ctx)
 {
     foreach (Proceso pr in ctx.Procesos)
     {
         Permiso per = (from p in ctx.Permisos
                        where p.GrupoUsuario.GrupoUsuarioId == ug.GrupoUsuarioId && p.Proceso.Nombre == pr.Nombre
                        select p).FirstOrDefault <Permiso>();
         if (per == null)
         {
             // permission doesn't exists for this Usuario group
             // we create one.
             per = new Permiso();
             per.GrupoUsuario = ug;
             per.Proceso      = pr;
             // default permissions are asigned.
             per.Ver       = true;
             per.Crear     = false;
             per.Modificar = false;
             per.Especial  = false;
             ctx.Add(per);
         }
     }
     ctx.SaveChanges();
 }
        // 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();
            }
        }
        //
        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();
            }
        }
        protected void GuardarSustituciones(SqlCeConnection conn, LainsaSci ctx)
        {
            IList <TSustitucion> ltsu = CntSciTerminal.GetTSustituciones(conn);

            foreach (TSustitucion tsu in ltsu)
            {
                if (tsu.Abm == 0)
                {
                    continue;               // no hay cambios
                }
                Sustitucion sustitucion;
                switch (tsu.Abm)
                {
                case 1:
                    // alta
                    // hay que controlar el doble procesamiento del fichero
                    Sustitucion sus = (from st in ctx.Sustitucions
                                       where st.DispositivoOriginal.DispositivoId == tsu.TDispositivoOriginal.DispositivoId &&
                                       st.DispositivoSustituto.DispositivoId == tsu.TDispositivoSustituto.DispositivoId &&
                                       st.Fecha == tsu.Fecha
                                       select st).FirstOrDefault <Sustitucion>();
                    if (sus != null)
                    {
                        break;                  // entendemos que ya se ha dado de alta en otro procesamiento.
                    }
                    sustitucion = new Sustitucion();
                    // atributos directos
                    sustitucion.Fecha       = tsu.Fecha;
                    sustitucion.Comentarios = tsu.Comentarios;
                    sustitucion.Estado      = tsu.Estado;
                    // atributos como objetos
                    if (tsu.TUsuario != null)
                    {
                        sustitucion.Usuario = CntLainsaSci.GetUsuario(tsu.TUsuario.UsuarioId, ctx);
                    }
                    if (tsu.TDispositivoOriginal != null)
                    {
                        sustitucion.DispositivoOriginal = CntLainsaSci.GetDispositivo(tsu.TDispositivoOriginal.DispositivoId, ctx);
                    }
                    if (tsu.TDispositivoSustituto != null)
                    {
                        sustitucion.DispositivoSustituto = CntLainsaSci.GetDispositivo(tsu.TDispositivoSustituto.DispositivoId, ctx);
                    }
                    if (tsu.TRevision != null)
                    {
                        sustitucion.Revision = CntLainsaSci.GetRevision(tsu.TRevision.RevisionId, ctx);
                    }
                    if (tsu.TPrograma != null)
                    {
                        sustitucion.Programa = CntLainsaSci.GetPrograma(tsu.TPrograma.ProgramaId, ctx);
                    }
                    ctx.Add(sustitucion);
                    ctx.SaveChanges();
                    break;

                case 2:
                    // baja
                    sustitucion = CntLainsaSci.GetSustitucion(tsu.SustitucionId, ctx);
                    if (sustitucion != null)
                    {
                        ctx.Delete(sustitucion);
                        ctx.SaveChanges();
                    }
                    break;

                case 3:
                    // modificacion
                    sustitucion = CntLainsaSci.GetSustitucion(tsu.SustitucionId, ctx);
                    if (sustitucion != null)
                    {
                        // atributos directos
                        sustitucion.Fecha       = tsu.Fecha;
                        sustitucion.Comentarios = tsu.Comentarios;
                        sustitucion.Estado      = tsu.Estado;
                        // atributos como objetos
                        if (tsu.TUsuario != null)
                        {
                            sustitucion.Usuario = CntLainsaSci.GetUsuario(tsu.TUsuario.UsuarioId, ctx);
                        }
                        if (tsu.TDispositivoOriginal != null)
                        {
                            sustitucion.DispositivoOriginal = CntLainsaSci.GetDispositivo(tsu.TDispositivoOriginal.DispositivoId, ctx);
                        }
                        if (tsu.TDispositivoSustituto != null)
                        {
                            sustitucion.DispositivoSustituto = CntLainsaSci.GetDispositivo(tsu.TDispositivoSustituto.DispositivoId, ctx);
                        }
                        if (tsu.TRevision != null)
                        {
                            sustitucion.Revision = CntLainsaSci.GetRevision(tsu.TRevision.RevisionId, ctx);
                        }
                        if (tsu.TPrograma != null)
                        {
                            sustitucion.Programa = CntLainsaSci.GetPrograma(tsu.TPrograma.ProgramaId, ctx);
                        }
                        ctx.SaveChanges();
                    }
                    break;
                }
            }
        }