public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                // Intento de registrar al usuario
                try
                {
                    Random Nip = new Random();
                    model.NipSms = Nip.Next(1234, 9876).ToString();

                    WebSecurity.CreateUserAndAccount(
                        model.UserName, model.Password,
                        propertyValues: new { Nombre = model.Nombre, Apellido = model.Apellido, Cedula = model.Cedula, Matricula = model.Matricula, NipSms = model.NipSms });
                    WebSecurity.Login(model.UserName, model.Password);

                    return RedirectToAction("Index", "Home");
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                }
            }

            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            return View(model);
        }
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                // Intento de registrar al usuario
                try
                {
                    Random Nip = new Random();
                    model.NipSms = Nip.Next(1234, 9876).ToString();

                    WebSecurity.CreateUserAndAccount(
                        model.UserName, model.Password,
                        propertyValues: new { Nombre = model.Nombre, Apellido = model.Apellido, Cedula = model.Cedula, Matricula = model.Matricula, NipSms = model.NipSms });
                    var role = db.webpages_Roles.Find(model.RoleId);
                    var provider = (SimpleRoleProvider)Roles.Provider;
                    provider.AddUsersToRoles(new[] { model.UserName }, new[] { role.RoleName }); // Agregar rol a usuario.
                    Contacto nuevo = new Contacto();
                    nuevo.Descripcion = model.Correo;
                    nuevo.IdUserProfile = db.UserProfiles.SingleOrDefault(u=>u.UserName==model.UserName).UserId;
                    nuevo.IdTipoContacto = 1;
                    db.Contactoes.Add(nuevo);
                    db.SaveChanges();
                    string Message = string.Format("{0}. {1}: {2}. Favor anotarlo.", "Usuario registrado satisfactoriamente", "Su Nip Sms es", model.NipSms);
                    TempData["MessageToDeliver"] = Message;
                    return RedirectToAction("Index", "Home");
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                }
            }

            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            return View(model);
        }