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); //} }
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)); } }
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; } }