Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }