/// <summary>
        /// Metodo que Ingresa los estudiantes mediante el procedimiento almacenado
        /// </summary>
        /// <returns></returns>
        public ActionResult EstudianteModifica(pa_EstudiantesRetornaSelectID_Select_Result modeloVista)
        {
            ///Variable que registra la cantidad de registros afectados
            ///si un procedimiento ejecuta insert, update, delete
            ///no afecta registros implica que hubo un error
            int cantidadRegistrosAgectados = 0;

            string resultado = "";
            string carne     = "";

            try
            {
                pa_EstudiantesViewBag_Select_Result modeloCarneEstudiante = new pa_EstudiantesViewBag_Select_Result();

                modeloCarneEstudiante = this.matriculaBD.pa_EstudiantesViewBag_Select(modeloVista.Id_Estudiante).FirstOrDefault();

                carne = modeloCarneEstudiante.Carne;

                cantidadRegistrosAgectados = this.matriculaBD.pa_Estudiantes_Update(modeloVista.Id_Estudiante,
                                                                                    modeloVista.Nombre_Estudiante,
                                                                                    modeloVista.Cedula_Estudiante,
                                                                                    modeloVista.Id_Provincia,
                                                                                    modeloVista.Id_Canton,
                                                                                    modeloVista.Id_Distrito,
                                                                                    modeloVista.Fecha_Inicio_U,
                                                                                    carne);
            }
            catch (Exception error)
            {
                resultado = "Ocurrio un error " + error.Message;
            }
            finally
            {
                if (cantidadRegistrosAgectados > 0)
                {
                    resultado = "Registro Modificado";
                }
                else
                {
                    resultado += ".No se pudo modificar";
                }
            }
            Response.Write("<script language=javascript>alert('" + resultado + "');</script>");

            this.RetornaProvinciasViewBag();

            this.RetornaCantonesViewBag(modeloVista.Id_Provincia);

            this.RetornaDistritosViewBag(modeloVista.Id_Canton);

            pa_EstudiantesViewBag_Select_Result modelview = new pa_EstudiantesViewBag_Select_Result();

            return(View(modelview));
        }
        public ActionResult EstudianteNuevo(pa_EstudiantesRetornaSelectID_Select_Result modeloVista)
        {
            int    cantidadRegistrosAgectados = 0;
            int    registrosAfectados         = 0;
            string mensaje         = "";
            string carneEstudiante = "";

            try
            {
                ///Se busca algun registro que tenga la cédula que se ingresó
                pa_Estudiantes_VerificarCedula_Select_Result CedulaAVerificar =
                    this.matriculaBD.pa_Estudiantes_VerificarCedula_Select(modeloVista.Cedula_Estudiante).FirstOrDefault();
                /// Si a la hora de hacer la busqueda, da null,significa que no existe la cédula
                /// por lo tanto, se puede hacer el insert,
                /// de lo contario mostrará un mensaje de que la cédula existe

                if (CedulaAVerificar == null)
                {
                    ///Se ejecuta el procedimiento almacennado
                    cantidadRegistrosAgectados = matriculaBD.pa_Estudiantes_Insert(modeloVista.Nombre_Estudiante,
                                                                                   modeloVista.Cedula_Estudiante,
                                                                                   modeloVista.Id_Provincia,
                                                                                   modeloVista.Id_Canton,
                                                                                   modeloVista.Id_Distrito,
                                                                                   modeloVista.Fecha_Inicio_U,
                                                                                   carneEstudiante);

                    ///almacenamos en una variable la cedula del estudiante recien ingresado
                    ///para ello se utiliza el procedimiento almacenado pa_RetornaEstudianteID_Select
                    pa_RetornaEstudianteID_Select_Result DatosEstudianteIngresado = new pa_RetornaEstudianteID_Select_Result();
                    DatosEstudianteIngresado = matriculaBD.pa_RetornaEstudianteID_Select(modeloVista.Cedula_Estudiante).FirstOrDefault();
                    ///Variable que contiene la cédula ingresada
                    string CedulaIngresada = modeloVista.Cedula_Estudiante;

                    ///Se consulta si la variable DatosEstudianteIngresado no es nula(osea que el dato está o existe)
                    ///
                    if (DatosEstudianteIngresado != null)
                    {
                        ///Se concatena el año y la el identificador del estudiante
                        carneEstudiante = modeloVista.Fecha_Inicio_U.ToString("yyyy") + "-" + DatosEstudianteIngresado.Id_Estudiante;

                        ///Se actualiza el registro nuevo para actualizar el carnet
                        registrosAfectados =
                            this.matriculaBD.pa_Estudiante_IngresarCarne_Update(CedulaIngresada, carneEstudiante);
                    }
                }
                else
                {
                    mensaje = "La cédula ya existe.";
                }
            }
            catch (Exception error)
            {
                mensaje = "Hubo un error. " + error.Message + " " + error.Source + " " + error.TargetSite;
            }
            finally
            {
                if (cantidadRegistrosAgectados > 0)
                {
                    mensaje = "Registro agregado";
                }
                else
                {
                    mensaje += "No se pudo ingresar";
                }
            }
            Response.Write("<script language=javascript>alert('" + mensaje + "');</script>");

            return(View());
        }