예제 #1
0
        public int insertarAlumno(CNPeticionesAlumnos entityAlumno, List <CNPeticionesTutoresAlumnos> entityTutoresAlumnos)
        {
            try
            {
                CDAlumnos alumno = new CDAlumnos()
                {
                    Nombre          = entityAlumno.Nombre,
                    Apellidos       = entityAlumno.Apellidos,
                    FechaNacimiento = entityAlumno.FechaNacimiento,
                    Direccion       = entityAlumno.Direccion,
                    CodEstudiante   = entityAlumno.CodEstudiante
                };
                List <CDTutoresAlumnos> listaTutoresAlumnos = new List <CDTutoresAlumnos>();
                foreach (CNPeticionesTutoresAlumnos tutorAlumno in entityTutoresAlumnos)
                {
                    CDTutoresAlumnos entityTutorAlumno = new CDTutoresAlumnos()
                    {
                        IdTutor    = tutorAlumno.IdTutor,
                        Parentesco = tutorAlumno.Parentesco
                    };
                    listaTutoresAlumnos.Add(entityTutorAlumno);
                }

                return(_CDRAlumnos.InsertarAlumno(alumno, listaTutoresAlumnos));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
 public int InsertarAlumno(CDAlumnos entityAlumno, List <CDTutoresAlumnos> entityTutoresAlumnos)
 {
     try
     {
         using (var connection = GetConnection())
         {
             connection.Open();
             using (var command = new SqlCommand())
             {
                 SqlTransaction transaction;
                 // iniciar transaccion
                 transaction         = connection.BeginTransaction("trx");
                 command.Connection  = connection;
                 command.Transaction = transaction;
                 try
                 {
                     int    lineasAfectadas = 0;
                     string err             = "";
                     command.CommandText = "spAlumnoInsert";
                     command.CommandType = CommandType.StoredProcedure;
                     command.Parameters.AddWithValue("@Nombre", entityAlumno.Nombre);
                     command.Parameters.AddWithValue("@Apellidos", entityAlumno.Apellidos);
                     command.Parameters.AddWithValue("@FechaNacimiento", entityAlumno.FechaNacimiento);
                     command.Parameters.AddWithValue("@Direccion", entityAlumno.Direccion);
                     command.Parameters.AddWithValue("@CodEstudiante", entityAlumno.CodEstudiante);
                     command.Parameters.Add("@IdAlumno", SqlDbType.Int);
                     command.Parameters["@IdAlumno"].Direction = ParameterDirection.Output;
                     int result   = command.ExecuteNonQuery();
                     int idAlumno = 0;
                     if (result == 1)
                     {
                         idAlumno = int.Parse(command.Parameters["@IdAlumno"].Value.ToString());
                         command.Parameters.Clear();
                         command.CommandText = "";
                         lineasAfectadas++;
                         foreach (CDTutoresAlumnos tutorAlumno in entityTutoresAlumnos)
                         {
                             command.CommandText = "spTutoresAlumnosInsert";
                             command.CommandType = CommandType.StoredProcedure;
                             command.Parameters.AddWithValue("@IdTutor", tutorAlumno.IdTutor);
                             command.Parameters.AddWithValue("@IdAlumno", idAlumno);
                             command.Parameters.AddWithValue("@Parentesco", tutorAlumno.Parentesco);
                             int r = command.ExecuteNonQuery();
                             command.Parameters.Clear();
                             command.CommandText = "";
                             if (r == 1)
                             {
                                 lineasAfectadas++;
                             }
                             else
                             {
                                 err += "\nerror en spTutoresAlumnosInsert";
                             }
                         }
                         transaction.Commit();
                     }
                     else
                     {
                         transaction.Rollback();
                         err += "\nerror en spTutoresAlumnosInsert";
                     }
                     if (err != "")
                     {
                         System.Windows.Forms.MessageBox.Show(err, "Error", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                         return(-1);
                     }
                     return(lineasAfectadas);
                 }
                 catch (Exception ex2)
                 {
                     System.Windows.Forms.MessageBox.Show(ex2.Message, "Error en la transaccion", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                     try
                     {
                         transaction.Rollback();
                     }
                     catch (Exception ex3)
                     {
                         System.Windows.Forms.MessageBox.Show(ex3.Message, "Error al hacer el rollback", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                         throw ex3;
                     }
                     throw ex2;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }