void ICatalogo.Mostrar(int id) { FoliGrupo entidad = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().FoliGrupo where o.Id == id select o).FirstOrDefault(); registroId.Text = entidad.CicloId.ToString(); registroDescripcion.Text = entidad.Descripcion; registroFechaInicioModulo1.Value = entidad.Fecha_Inicio_Modulo1; registroFechaInicioModulo2.Value = entidad.Fecha_Inicio_Modulo2; registroFechaInicioModulo3.Value = entidad.Fecha_Inicio_Modulo3; registroFechaInicioModulo4.Value = entidad.Fecha_Inicio_Modulo4; registroFechaFin.Value = entidad.Fecha_Fin; registroDiaDeLaSemana.Value = entidad.DiaSemanaId; registroHoraDelDia.Value = entidad.HoraDiaId; registroCiclo.Value = entidad.CicloId; manejadorFoli = new ManejadorDeFoli(); BuscadorMaestros.CargarListado(manejadorFoli.ObtenerMaestrosPorGrupo(id)); BuscadorAlumnos.CargarListado(manejadorFoli.ObtenerAlumnosPorGrupo(id)); }
void ICatalogo.Guardar(int id, RegistrosHelper.ListaDeRegistrosDeDatos listaDeRegistrosDeDatos) { FoliGrupo entidad = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().FoliGrupo where o.Id == id select o).FirstOrDefault(); if (entidad == null) { entidad = new FoliGrupo(); } entidad.Descripcion = registroDescripcion.Text; entidad.Fecha_Inicio_Modulo1 = registroFechaInicioModulo1.SelectedDate; entidad.Fecha_Inicio_Modulo2 = registroFechaInicioModulo2.SelectedDate; entidad.Fecha_Inicio_Modulo3 = registroFechaInicioModulo3.SelectedDate; entidad.Fecha_Inicio_Modulo4 = registroFechaInicioModulo4.SelectedDate; entidad.Fecha_Fin = registroFechaFin.SelectedDate; entidad.DiaSemanaId = registroDiaDeLaSemana.ObtenerId(); entidad.HoraDiaId = registroHoraDelDia.ObtenerId(); entidad.CicloId = registroCiclo.ObtenerId(); entidad.Guardar(SesionActual.Instance.getContexto <IglesiaEntities>()); manejadorFoli = new ManejadorDeFoli(); manejadorFoli.GuardarMaestrosYAlumnosEnGrupo(entidad.Id, listaDeRegistrosDeDatos.Obtener(BuscadorMaestros.GridDeListadoDeObjetos.ClientID), listaDeRegistrosDeDatos.Obtener(BuscadorAlumnos.GridDeListadoDeObjetos.ClientID)); }
public bool GuardarMaestrosYAlumnosEnGrupo(int grupoId, RegistrosHelper.RegistrosDeDatos maestrosNuevosYEliminados, RegistrosHelper.RegistrosDeDatos alumnosNuevosYEliminados) { bool rtn = false; if (grupoId > 0 && (maestrosNuevosYEliminados.RegistrosNuevosId.Count > 0 || alumnosNuevosYEliminados.RegistrosNuevosId.Count > 0 || maestrosNuevosYEliminados.RegistrosEliminadosId.Count > 0 || alumnosNuevosYEliminados.RegistrosEliminadosId.Count > 0)) { using (System.Transactions.TransactionScope transactionScope = new System.Transactions.TransactionScope()) { FoliGrupo foliGrupo = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().FoliGrupo where o.Id == grupoId select o).FirstOrDefault(); FoliMaestro maestro; FoliMiembro alumno; if (foliGrupo == null) { throw new ExcepcionReglaNegocio(Literales.RegistroInexistente); } //Agregamos las nuevas maestros (siempre y cuando no existan previamente...) foreach (int miembroId in maestrosNuevosYEliminados.RegistrosNuevosId) { maestro = new FoliMaestro(); maestro.FoliGrupoId = grupoId; maestro.MiembroId = miembroId; foliGrupo.FoliMaestro.Add(maestro); } //Agregamos los nuevos alumnos (siempre y cuando no existan previamente...) foreach (int miembroId in alumnosNuevosYEliminados.RegistrosNuevosId) { alumno = new FoliMiembro(); alumno.FoliGrupoId = grupoId; alumno.MiembroId = miembroId; alumno.FoliMiembroEstatusId = 1; foliGrupo.FoliMiembro.Add(alumno); } //Guardamos los cambios, antes de eliminar registros foliGrupo.Guardar(SesionActual.Instance.getContexto <IglesiaEntities>()); //Eliminamos los maestros foreach (int miembroId in maestrosNuevosYEliminados.RegistrosEliminadosId) { maestro = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().FoliMaestro where o.FoliGrupoId == grupoId && o.MiembroId == miembroId && o.Borrado == false select o).FirstOrDefault(); if (maestro != null) { maestro.Borrar(SesionActual.Instance.getContexto <IglesiaEntities>()); } } //Eliminamos los alumnos foreach (int miembroId in alumnosNuevosYEliminados.RegistrosEliminadosId) { alumno = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().FoliMiembro where o.FoliGrupoId == grupoId && o.MiembroId == miembroId && o.Borrado == false select o).FirstOrDefault(); if (alumno != null) { alumno.Borrar(SesionActual.Instance.getContexto <IglesiaEntities>()); } } //Marcamos como finalizadas todas las operaciones, para que la transaccion se lleve a cabo en la BD transactionScope.Complete(); } } return(rtn); }