예제 #1
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);
     //}
 }
예제 #2
0
 protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
 {
     // llamado si hay que eliminar revisiones pendientes.
     if (e.Argument == "true")
     {
         CntLainsaSci.EliminarRevisionesPendientes(dispositivo, ctx);
         RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
     }
 }
예제 #3
0
    protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        string valor = e.Argument;
        string tipo  = valor.Substring(0, 1);

        valor = valor.Substring(1);
        switch (tipo)
        {
        case "A":
            DateTime fechaBaja;
            if (DateTime.TryParse(valor, out fechaBaja))
            {
                revision.Dispositivo.Caducado  = true;
                revision.Dispositivo.FechaBaja = fechaBaja;
                ctx.SaveChanges();
                CntLainsaSci.EliminarRevisionesPendientes(revision.Dispositivo, ctx, revision);
                string mensaje = String.Format("El dispositivo ha sido dado de baja con fecha {0:dd/MM/yyyy}", fechaBaja);
                RadWindowManager1.RadAlert(mensaje, 330, 110, "DADO DE BAJA", "retornoAlert");
                RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
                //string jCommand = String.Format("radalert('{0}');", mensaje);
                //RadAjaxManager1.ResponseScripts.Add(jCommand);
            }
            else
            {
                string mensaje = (string)GetGlobalResourceObject("ResourceLainsaSci", "DateNeeded");
                mensaje = "La fecha introducida es incorrecta";
                RadWindowManager1.RadAlert(mensaje, 330, 110, "AVISO", "retornoAlert");
                //string jCommand = String.Format("radalert('{0}');", mensaje);
                //RadAjaxManager1.ResponseScripts.Add(jCommand);
            }
            break;

        case "B":
            if (valor == "true")
            {
                // quiere descambiar
                Sustitucion s  = revision.Sustitucions[0];    // solo tiene que estar el cambio inicial
                Sustitucion ns = new Sustitucion()
                {
                    DispositivoOriginal  = s.DispositivoSustituto,
                    DispositivoSustituto = s.DispositivoOriginal,
                    Fecha    = DateTime.Now,
                    Revision = revision
                };
                ns.Estado = "REALIZADA";     // si llega aquí es realizada fijo.
                // control de estados
                Dispositivo dspo = ns.DispositivoOriginal;
                Dispositivo dsps = ns.DispositivoSustituto;
                dspo.Estado = "A";
                if (dsps.Funcion == "R")
                {
                    dsps.Estado = "S";
                }
                else
                {
                    dsps.Estado = "N";
                }
                dsps.Posicion = dsps.Posicion;
                dspo.Posicion = "SUSTITUIDOS";
                ctx.Add(ns);
            }
            else
            {
                Sustitucion s = revision.Sustitucions[0];     // solo tiene que estar el cambio inicial
                s.DispositivoOriginal.Funcion = "R";
            }
            // Como si hubiera pulsado el botón.
            UnloadData(revision);
            CntLainsaSci.CTXGuardar(ctx);

            CntLainsaSci.EliminarInferiores(revision, ctx);
            CntLainsaSci.ProgramarSiguienteRevision(revision, ctx, true);
            CntLainsaSci.ProgramarInferiores(revision, ctx);
            RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
            break;
        }
    }