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