예제 #1
0
 public static void InsertarParticipante(PARTICIPANTE newParticipante)
 {   ///Agrega un nuevo Participante mediante Entity Framework
     using (var modelo = new SISTEMADECONVENIOSEntities())
     {
         modelo.PARTICIPANTE.Add(newParticipante);
         modelo.SaveChanges();
     }
 }
예제 #2
0
        public static void ModificarParticipante(PARTICIPANTE participanteModificado)
        {   ///Modifica el participante deseado
            using (var modelo = new SISTEMADECONVENIOSEntities())
            {
                PARTICIPANTE participante = modelo.PARTICIPANTE.Find(participanteModificado.idTablaParticipante);
                participante.nombreProyecto    = participanteModificado.nombreProyecto;
                participante.num_participantes = participanteModificado.num_participantes;
                participante.num_convenio      = participanteModificado.num_convenio;
                participante.semestre          = participanteModificado.semestre;
                if (participante.PARTICIPANTE_CARRERA.Count > 0)
                {
                    foreach (var pc_m in participanteModificado.PARTICIPANTE_CARRERA)
                    {
                        bool found = false;
                        foreach (var pc in participante.PARTICIPANTE_CARRERA)
                        {
                            if (pc.idParticipanteCarrera == pc_m.idParticipanteCarrera)
                            {
                                pc.nombreAlumno  = pc_m.nombreAlumno;
                                pc.nombreCarrera = pc_m.nombreCarrera;
                                found            = true;
                                break;
                            }
                        }
                        if (!found)
                        {
                            participante.PARTICIPANTE_CARRERA.Add(new PARTICIPANTE_CARRERA()
                            {
                                nombreAlumno  = pc_m.nombreAlumno,
                                nombreCarrera = pc_m.nombreCarrera
                            });
                        }
                    }

                    int difference = participante.PARTICIPANTE_CARRERA.Count - (int)participanteModificado.num_participantes;
                    if (difference > 0)
                    {
                        foreach (var pc in participante.PARTICIPANTE_CARRERA.ToList().GetRange(participante.PARTICIPANTE_CARRERA.Count - difference - 1, difference))
                        {
                            modelo.PARTICIPANTE_CARRERA.Remove(pc);
                        }
                    }
                }
                else
                {
                    participante.PARTICIPANTE_CARRERA = participanteModificado.PARTICIPANTE_CARRERA;
                }
                modelo.SaveChanges();
            }
        }