public ActionResult Create(Alumno Alumno)
        {
            if(ModelState.IsValid)
            {
                Alumno.CreationDate = Convert.ToString(DateTime.Today);
                if (Alumno.Sexo == "Masculino")
                    Alumno.Sexo = "M";
                else
                    Alumno.Sexo = "F";
                IRepositorio<Alumno> myRepoAlumno = new AlumnoRepositorio();
                String resultado = myRepoAlumno.Save(Alumno);

                if (resultado.Equals("true"))
                    return RedirectToAction("Index");
            }
            return View(Alumno);
        }
        public ActionResult Register(Alumno alumno)
        {
            if (ModelState.IsValid)
            {
                if (alumno.Password == alumno.ConfirmPassword)
                {
                    IRepositorio<Direccion> repositorioDireccion = new DireccionRepositorio();
                    string flag = repositorioDireccion.Save(alumno.Direccion);
                    if (flag == "true")
                    {
                        alumno.CreationDate = Convert.ToString(DateTime.Today);
                        alumno.Sexo = alumno.Sexo == "Masculino" ? "M" : "F";
                        alumno.IdDireccion = alumno.Direccion.IdDireccion;
                        IRepositorio<Alumno> repositorioAlumno = new AlumnoRepositorio();
                        string resultado = repositorioAlumno.Save(alumno);

                        if (resultado.Equals("true"))
                        {
                            MembershipCreateStatus createStatus = MembershipService.CreateUser(alumno.Username,
                                                                                           alumno.Password,
                                                                                           alumno.CorreoUcab);
                            if (createStatus == MembershipCreateStatus.Success)
                            {
                                FormsService.SignIn(alumno.Username, false /* createPersistentCookie */);
                                return RedirectToAction("Index", "Home");
                            }
                            else
                            {
                                ModelState.AddModelError("passOrUsername", AccountValidation.ErrorCodeToString(createStatus));
                            }
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError("contrasenia", "Las contraseñas no coinciden.");
                }
            }

            // If we got this far, something failed, redisplay form
            ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
            ViewData["Pais"] = new SelectList(GetCountryList());
            return View();
        }
        public ActionResult Register(Alumno alumno)
        {
            if (ModelState.IsValid)
            {
                if (alumno.Password == alumno.ConfirmPassword)
                {
                    IRepositorio<Profesor> repositorioProfesor = new ProfesorRepositorio();
                    var miProfesor = repositorioProfesor.GetByUniqueAtribute(alumno.Username);

                    IRepositorio<Alumno> repositorioAlumno = new AlumnoRepositorio();
                    var miAlumno = repositorioAlumno.GetByUniqueAtribute(alumno.Username);

                    if (miProfesor == null && miAlumno == null)
                    {
                        MembershipCreateStatus createStatus = MembershipService.CreateUser(alumno.Username,
                                                                                           alumno.Password,
                                                                                           alumno.CorreoUcab);

                        if (createStatus == MembershipCreateStatus.Success)
                        {
                            if (Roles.RoleExists("Estudiante"))
                            {
                                Roles.AddUserToRole(alumno.Username, "Estudiante");
                            }
                            else
                            {
                                Roles.CreateRole("Estudiante");
                                Roles.AddUserToRole(alumno.Username, "Estudiante");
                            }
                            alumno.CreationDate = DateTime.Today;
                            alumno.Sexo = alumno.Sexo == "Masculino" ? "M" : "F";
                            string resultado = repositorioAlumno.Save(alumno);

                            if (resultado.Equals("true"))
                            {
                                IRepositorio<ClaseEvaluacion> repositorioHorarioClase = new HorarioClaseRepositorio();
                                var listCronograma = repositorioHorarioClase.GetAll().Where(alum => alum.Cedula == alumno.Cedula).ToList();

                                IRepositorio<Actividad> repositorioActividad = new ActividadRepositorio();
                                var listActividades = repositorioActividad.GetAll().Where(a => a.Periodo.CompareTo(_periodoActual) == 0).ToList();

                                var misMaterias = (from d in listCronograma
                                                   from c in listActividades
                                                   where c.Tipo.CompareTo("Clase") == 0 &&
                                                         d.IdActividad == c.IdActividad
                                                   select c.IdMateria).Distinct().ToList();

                                HorasPersonales(misMaterias, alumno);

                                Session["cedula"] = repositorioAlumno.GetByUniqueAtribute(alumno.Username).Cedula;
                                return RedirectToAction("Configuration", alumno);
                            }
                            else
                            {
                                ModelState.AddModelError("saveAlumno", "Oops! Ha ocurrido un error inesperado, vuelva a intentarlo.");
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("passOrUsername", AccountValidation.ErrorCodeToString(createStatus));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("passOrUsername", "Oops!! El nombre de usuario ya existe, por favor intente con otro.");
                    }
                }
                else
                {
                    ModelState.AddModelError("contrasenia", "Las contraseñas no coinciden.");
                }

            }
            return View(alumno);
        }