protected void UnloadData(Sustitucion sustitucion) { sustitucion.Usuario = CntLainsaSci.GetUsuario(int.Parse(rdcUsuario.SelectedValue), ctx); sustitucion.Fecha = (DateTime)dtpFecha.SelectedDate; sustitucion.DispositivoOriginal = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivoOriginal.SelectedValue), ctx); sustitucion.DispositivoSustituto = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivoSustituto.SelectedValue), ctx); sustitucion.Comentarios = txtComentarios.Text; sustitucion.Estado = "REALIZADA"; // si llega aquí es realizada fijo. // control de estados Dispositivo dspo = sustitucion.DispositivoOriginal; Dispositivo dsps = sustitucion.DispositivoSustituto; dspo.Estado = "A"; if (dsps.Funcion == "R") { dsps.Estado = "S"; } else { dsps.Estado = "N"; } //Control de posición if (rbInt.Checked) { string pos_orig = dspo.Posicion; dspo.Posicion = dsps.Posicion; dsps.Posicion = pos_orig; } }
protected void LoadData(Sustitucion sustitucion) { txtSustitucionId.Text = sustitucion.SustitucionId.ToString(); CargarUsuarios(sustitucion.Usuario); CargarEstados(sustitucion.Estado); if (!CntLainsaSci.FechaNula(sustitucion.Fecha)) { dtpFecha.SelectedDate = sustitucion.Fecha; } txtComentarios.Text = sustitucion.Comentarios; rdcDispositivoOriginal.Items.Clear(); Session["DispositivoOriginal"] = sustitucion.DispositivoOriginal; rdcDispositivoOriginal.Items.Add(new RadComboBoxItem(CntLainsaSci.GetNomLargoModelo(sustitucion.DispositivoOriginal), sustitucion.DispositivoOriginal.DispositivoId.ToString())); rdcDispositivoOriginal.SelectedValue = sustitucion.DispositivoOriginal.DispositivoId.ToString(); if (sustitucion.DispositivoSustituto != null) { rdcDispositivoSustituto.Items.Clear(); rdcDispositivoSustituto.Items.Add(new RadComboBoxItem(CntLainsaSci.GetNomLargo(sustitucion.DispositivoSustituto), sustitucion.DispositivoSustituto.DispositivoId.ToString())); rdcDispositivoSustituto.SelectedValue = sustitucion.DispositivoSustituto.DispositivoId.ToString(); } else { CargarPosiblesSustitutos(sustitucion.DispositivoOriginal); } }
protected bool DataOk() { if (txtResultado.Text == "") { RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}", (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"), (string)GetGlobalResourceObject("ResourceLainsaSci", "NombreNeeded")); RadNotification1.Show(); return(false); } if (rdpFechaRevision.SelectedDate == null) { RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}", (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"), (string)GetGlobalResourceObject("ResourceLainsaSci", "FechaRevisionNeeded")); RadNotification1.Show(); return(false); } // Hay que controlar si hay un cambio programado pendiente if (revision != null) { Sustitucion sus = (from s in revision.Sustitucions where s.Estado == "PROGRAMADA" select s).FirstOrDefault <Sustitucion>(); if (sus != null) { RadNotification1.Text = "Hay un cambio programado pendiente, hágalo antes de cerrar la revisión"; RadNotification1.Show(); return(false); } // Ha habido un cambio? if (revision.Sustitucions.Count == 1) { // Preguntamos si quiere hacer descambio string mens = "El dispositivo de esta revisión fué cambiado por un sustituto ¿Desea descambiar los dispositivos?"; RadWindowManager1.RadConfirm(mens, "retornoConfirm", 330, 110, null, "DESCAMBIO"); return(false); } } //if (rdpFechaRevision.SelectedDate < rdpFechaPlanificada.SelectedDate) //{ // RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}", // (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"), // (string)GetGlobalResourceObject("ResourceLainsaSci", "RevisionMenosPlanificacion")); // RadNotification1.Show(); // return false; //} return(true); }
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); } }
ProgramarSustituciones(Programa prog, LainsaSci ctx) { // primero buscamos si hay revisiones con marca de sustitución var rs = from r in prog.Revisions where r.PlantillaRevision.ConSustitucion == true select r; foreach (Revision rev in rs) { Sustitucion s = new Sustitucion() { Fecha = prog.FechaProgramada, DispositivoOriginal = rev.Dispositivo, Estado = "PROGRAMADA", Revision = rev, Programa = prog }; ctx.Add(s); } }
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) { // we only process commands with a datasource (our image buttons) if (e.CommandSource == null) { return; } string typeOfControl = e.CommandSource.GetType().ToString(); if (typeOfControl.Equals("System.Web.UI.WebControls.ImageButton")) { int id = 0; ImageButton imgb = (ImageButton)e.CommandSource; if (imgb.ID != "New" && imgb.ID != "Exit") { id = (int)e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex][e.Item.OwnerTableView.DataKeyNames[0]]; } switch (imgb.ID) { case "Select": break; case "Edit": break; case "Delete": try { Sustitucion sustitucion = CntLainsaSci.GetSustitucion(id, ctx); CntLainsaSci.CTXEliminar(sustitucion, ctx); CntLainsaSci.CTXGuardar(ctx); RefreshGrid(true); } catch (Exception ex) { ControlDeError(ex); } break; } } }
protected void CrearSustitucion(object Sender, EventArgs E) { if (dtSustitucion.Rows.Count == 0) { Utils.MostrarAlerta(Response, "No se ha seleccionado ningun item para realizar sustituciones.\\nRevise Por Favor"); return; } Sustitucion miSustitucion = new Sustitucion(prefijo, Convert.ToUInt32(numero), dtSustitucion); miSustitucion.Fecha = DateTime.Now.ToString("yyyy-MM-dd"); miSustitucion.Usuario = HttpContext.Current.User.Identity.Name; if (miSustitucion.CrearSustitucion()) { //lb.Text += "<br>Bien "+miSustitucion.ProcessMsg; Utils.MostrarAlerta(Response, "La sustitucion ha sido realizada Satisfactoriamente !!! "); Response.Redirect(indexPage + "?process=Inventarios.AdminSustitucion"); } else { lb.Text += "<br>Error " + miSustitucion.ProcessMsg; } }
private static void CargarSustitucion(Sustitucion s, SqlCeConnection conn, LainsaSci ctx) { TPrograma tpr = null; TUsuario tusu = null; TDispositivo tdispo = null; TDispositivo tdisps = null; if (s.Usuario != null) { tusu = CntSciTerminal.GetTUsuario(s.Usuario.UsuarioId, conn); } if (s.Programa != null) { tpr = CntSciTerminal.GetTPrograma(s.Programa.ProgramaId, conn); } if (s.DispositivoOriginal != null) { tdispo = CntSciTerminal.GetTDispositivo(s.DispositivoOriginal.DispositivoId, conn); } if (s.DispositivoSustituto != null) { tdisps = CntSciTerminal.GetTDispositivo(s.DispositivoSustituto.DispositivoId, conn); } TSustitucion ts = new TSustitucion() { SustitucionId = s.SustitucionId, Comentarios = s.Comentarios, Estado = s.Estado, TUsuario = tusu, TDispositivoOriginal = tdispo, TDispositivoSustituto = tdisps, TPrograma = tpr, Fecha = s.Fecha }; CntSciTerminal.TSave(ts, conn); }
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; } }
private void GuardarSustituciones(Dispositivo dispositivo, TDispositivo disp, SqlCeConnection conn) { IList <TSustitucion> sustituciones = CntSciTerminal.GetTSustituciones(disp, conn); foreach (TSustitucion sust in sustituciones) { Sustitucion sustitucion; var rs = (from d in ctx.Sustitucions where d.SustitucionId == sust.SustitucionId && d.DispositivoOriginal.DispositivoId == dispositivo.DispositivoId select d).FirstOrDefault <Sustitucion>(); if (rs != null) { sustitucion = rs; sustitucion.Usuario = CntLainsaSci.GetUsuario(sust.TUsuario.UsuarioId, ctx); if (!CntSciTerminal.FechaNula(sust.Fecha)) { sustitucion.Fecha = sust.Fecha; } sustitucion.Estado = sust.Estado; if (sust.TDispositivoSustituto != null) { sustitucion.DispositivoSustituto = CntLainsaSci.GetDispositivo(sust.TDispositivoSustituto.DispositivoId, ctx); } sustitucion.Comentarios = sust.Comentarios; } else { Revision revision = null; if (sust.TRevision != null) { revision = CntLainsaSci.GetRevision(sust.TRevision.RevisionId, ctx); } Programa p = null; if (revision != null && revision.Programa != null) { p = CntLainsaSci.GetPrograma(revision.Programa.ProgramaId, ctx); } DateTime fecha = new DateTime(); if (!CntSciTerminal.FechaNula(sust.Fecha)) { fecha = sust.Fecha; } Dispositivo d = null; if (sust.TDispositivoSustituto != null) { d = CntLainsaSci.GetDispositivo(sust.TDispositivoSustituto.DispositivoId, ctx); } sustitucion = new Sustitucion() { Usuario = CntLainsaSci.GetUsuario(sust.TUsuario.UsuarioId, ctx), Revision = revision, Estado = sust.Estado, Programa = p, Comentarios = sust.Comentarios, Fecha = fecha, DispositivoOriginal = dispositivo, DispositivoSustituto = d, }; ctx.Add(sustitucion); } 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; } } }
protected void Page_Init(object sender, EventArgs e) { // it gets an appropiate context (LainsaSciCTX -> web.config) ctx = new LainsaSci("LainsaSciCTX"); // verify if a Usuario is logged usuario = CntWinWeb.IsSomeoneLogged(this, ctx); if (usuario == null) { Response.Redirect("Default.aspx"); } else { Session["UsuarioId"] = usuario.UsuarioId; } // // si llega aquí está autorizado permiso = CntLainsaSci.GetPermiso(usuario.GrupoUsuario, "sustituciongrid", ctx); if (permiso == null) { RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}", (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"), (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned")); RadNotification1.Show(); RadAjaxManager1.ResponseScripts.Add("closeWindow();"); } btnAccept.Visible = permiso.Modificar; // Si esto no va antes de SustitucionDispositivoID tendrás problemas. if (Request.QueryString["Caller"] != null) { caller = Request.QueryString["Caller"]; caller = caller.Replace("'", ""); } // Esto es cuando es llamada desde una revisión if (Request.QueryString["RevisionId"] != null) { revision = CntLainsaSci.GetRevision(int.Parse(Request.QueryString["RevisionId"]), ctx); if (revision != null) { Title = String.Format("Sustitución [REV]: {0:dd/MM/yyyy} {1}", revision.FechaPlanificada, CntLainsaSci.GetNomLargo(revision.Dispositivo)); rdcDispositivoOriginal.Items.Clear(); rdcDispositivoOriginal.Items.Add(new RadComboBoxItem(CntLainsaSci.GetNomLargo(revision.Dispositivo), revision.Dispositivo.DispositivoId.ToString())); rdcDispositivoOriginal.SelectedValue = revision.Dispositivo.DispositivoId.ToString(); Session["DispositivoOriginal"] = revision.Dispositivo; } } // Is it a new record or not? if (Request.QueryString["SustitucionId"] != null) { sustitucion = CntLainsaSci.GetSustitucion(int.Parse(Request.QueryString["SustitucionId"]), ctx); LoadData(sustitucion); newRecord = false; } else { newRecord = true; CargarUsuarios(null); CargarEstados(""); } }