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(); } }
protected void btnClose_Click(object sender, ImageClickEventArgs e) { if (!DataOk()) { return; } if (newRecord) { incidenciaEvo = new IncidenciaEvolucion(); } UnloadData(incidenciaEvo); if (newRecord) { ctx.Add(incidenciaEvo); } ctx.SaveChanges(); // si han accedido por esta opción quiere decir que la incidencia se cerrará incidencia = incidenciaEvo.Incidencia; incidencia.FechaCierre = incidenciaEvo.FechaEvolucion; incidencia.Operativo = incidenciaEvo.Operativo; incidencia.Estado = CntLainsaSci.GetEstadoCierre(ctx); // hay que tocar el dispositivo si lo vamos a dejar operativo incidencia.Dispositivo.Operativo = incidencia.Operativo; ctx.SaveChanges(); // si ha cerrado querra cargar toda la incidencia para ver el efecto (OpenOutside) string url = String.Format("IncidenciaForm.aspx?Caller=IncidenciaGrid&IncidenciaId={0}", incidencia.IncidenciaId); string name = "IncidenciaForm"; string js = String.Format("openOutSideClose('{0}', '{1}');", url, name); RadAjaxManager1.ResponseScripts.Add(js); }
protected void btnAccept_Click(object sender, ImageClickEventArgs e) { try { if (!DataOk()) { return; } if (newRecord) { usuarioextranet = new UsuarioExtranet(); } UnloadData(usuarioextranet); if (newRecord) { ctx.Add(usuarioextranet); } ctx.SaveChanges(); //if (newRecord) // RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller)); //else //{ // RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller)); // RadAjaxManager1.ResponseScripts.Add(String.Format("MyAlert('{0}');", caller)); //} RadNotification1.Text = "Sus datos han sido guardados haga clic en cualquier elemento del árbol a su izquierda para continuar"; RadNotification1.Show(); } catch (Exception ex) { ControlDeError(ex); } }
/// <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(); }
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(); }
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); } }
protected void btnAccept_Click(object sender, ImageClickEventArgs e) { try { if (!DataOk()) { return; } if (newRecord) { usuario = new Usuario(); } UnloadData(usuario); if (newRecord) { ctx.Add(usuario); } 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); } }
protected void btnAccept_Click(object sender, ImageClickEventArgs e) { if (!DataOk()) { return; } if (newRecord) { incidencia = new Incidencia(); } UnloadData(incidencia); if (newRecord) { ctx.Add(incidencia); } ctx.SaveChanges(); if (!incidencia.Operativo && !incidencia.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) { RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller)); } else { RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller)); } }
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); } }
protected void btnAccept_Click(object sender, ImageClickEventArgs e) { if (!DataOk()) { return; } if (newRecord) { incidencia = new Incidencia(); } UnloadData(incidencia); if (newRecord) { ctx.Add(incidencia); } ctx.SaveChanges(); if (newRecord) { RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller)); } else { RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller)); } }
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 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(); } }
// guardar las evoluciones relacionadas con una incidencia. private void GuardarIncidenciaEvolucion(TIncidencia ti, int abm, SqlCeConnection conn, LainsaSci ctx) { Incidencia incidencia = CntLainsaSci.GetIncidencia(ti.IncidenciaId, ctx); if (incidencia == null) { return; } // caso de las bajas, se eliminan todas las asociadas. if (abm == 2) { ctx.Delete(incidencia.IncidenciaEvolucions); } else { IncidenciaEvolucion ie; IList <TIncidenciaEvolucion> tlie = CntSciTerminal.GetTIncidenciaEvolucions(ti, conn); foreach (TIncidenciaEvolucion tie in tlie) { if (tie.Abm == 0) { continue; } switch (tie.Abm) { case 1: // alta ie = new IncidenciaEvolucion(); ie.Incidencia = incidencia; ie.FechaEvolucion = tie.FechaEvolucion; ie.Comentarios = tie.Comentarios; ie.Usuario = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx); ctx.Add(ie); break; case 2: // baja // ya ha sido tratado en un paso anterior. break; case 3: // modificación ie = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx); ie.FechaEvolucion = tie.FechaEvolucion; ie.Comentarios = tie.Comentarios; ie.Usuario = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx); break; default: break; } } } }
/// <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(); }
/// <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(); }
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); //} }
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); } }
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(); } }
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); } }
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(); } } }
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); } }
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); } }
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(); }
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 CrearInforme(Filtro f, string repositorio) { string consulta = string.Empty; Documento documento = new Documento(); documento.Nombre = f.Nombre; documento.Empresa = usuario.Empresa; documento.Instalacion = usuario.Instalacion; documento.Fecha = DateTime.Now; documento.Comentarios = "Informe generado automáticamente"; documento.Extension = "PDF"; ctx.Add(documento); ctx.SaveChanges(); 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 (f.Tipo) { case "Dsipositivo": List <string> dispositivos = new List <string>(); //ConsDisp.AllowPaging = false;// disabling paging //ConsDisp.Rebind(); foreach (GridDataItem item in ConsDisp.MasterTableView.Items) { dispositivos.Add(item["DispositivoId"].Text); } Session["Filtro"] = dispositivos; //ConsDisp.AllowPaging = true;// disabling paging //ConsDisp.Rebind(); consulta = "Consulta dispositivos. " + f.Nombre; RptConsultaDispositivos cd = new RptConsultaDispositivos(dispositivos, consulta); renderingResult = reportProcessor.RenderReport("PDF", cd, null); break; case "Revision": List <string> revisiones = new List <string>(); //ConsRev.AllowPaging = false;// disabling paging //ConsRev.Rebind(); foreach (GridDataItem item in ConsRev.MasterTableView.Items) { revisiones.Add(item["RevisionId"].Text); } Session["Filtro"] = revisiones; //ConsRev.AllowPaging = true;// disabling paging //ConsDisp.Rebind(); consulta = "Consulta revisiones. " + f.Nombre; IList <Revision> lr = new List <Revision>(); foreach (string rid in revisiones) { lr.Add(CntLainsaSci.GetRevision(int.Parse(rid), ctx)); } RptInfConsultaRevision icr = new RptInfConsultaRevision(lr, consulta); renderingResult = reportProcessor.RenderReport("PDF", icr, null); break; } FileStream fs = new FileStream(fichero, FileMode.Create); fs.Write(renderingResult.DocumentBytes, 0, renderingResult.DocumentBytes.Length); fs.Close(); }
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 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 btnAccept_Click(object sender, ImageClickEventArgs e) { try { if (!DataOk()) { return; } if (newRecord) { documento = new Documento(); } UnloadData(documento); if (newRecord) { ctx.Add(documento); } ctx.SaveChanges(); //--- if (newRecord) { // Aqui hay que copiar el fichero del directorio temporal al definitivo // (1) Obtener la extensión int pos = fileName.LastIndexOf('.'); if (pos != -1) { string extension = fileName.Substring(pos); string newFileName = String.Format("{0:000000000}", documento.DocumentoId) + extension; string origen = MapPath("/") + "Repo\\" + fileName; string repodir = ConfigurationManager.AppSettings["Repositorio"]; string destino = repodir + "\\" + newFileName; File.Copy(origen, destino, true); File.Delete(origen); documento.Extension = extension; ctx.SaveChanges(); } } //--- if (newRecord) { if (empresa != null) { // cuando hay una generación automática, al menos la empresa se pasa RadAjaxManager1.ResponseScripts.Add("closeWindow();"); } else { RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');", caller)); } } else { RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller)); } } catch (Exception ex) { ControlDeError(ex); } }
// 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(); } }