Exemplo n.º 1
0
        public ActionResult RegistrarUsuario(string nombre, string apellido, string dni, string mail, string telefono, string contrasenia, string CaptchaCode, string geocomplete)
        {
            bool estado = bool.Parse(Request.Form.GetValues("ckbAcepto")[0]);

            if (ModelState.IsValid && estado == true && !string.IsNullOrWhiteSpace(geocomplete))
            {
                if (us.UsuarioDadoDeBaja(mail))
                {
                    ModelState.AddModelError("", "El usuario registrado con esa direccion de correo electronico fue dado de baja.");
                    return(View());
                }
                else
                {
                    if (us.UsuarioExisteActivado(mail, dni))
                    {
                        ModelState.AddModelError("", "La direccion de correo electrónico o el DNI ingresado ya posee una cuenta asociada.");
                        return(View());
                    }
                    else
                    {
                        if (us.UsuarioExisteInactivo(mail, dni))
                        {
                            try
                            {
                                us.ActivarUsuarioInactivo(nombre, apellido, dni, mail, telefono, contrasenia, geocomplete);
                            }
                            catch (System.Net.Mail.SmtpException ex)
                            {
                                ClientException.LogException(ex, "Error al enviar el mail de activación.");
                                return(RedirectToAction("Error", "Shared"));
                            }
                        }
                        else
                        {
                            try
                            {
                                us.AgregarUsuarioNuevo(nombre, apellido, dni, mail, telefono, contrasenia, geocomplete);
                            }
                            catch (System.Net.Mail.SmtpException ex)
                            {
                                ClientException.LogException(ex, "Error al enviar el mail de activación.");
                                return(RedirectToAction("Error", "Shared"));
                            }
                        }

                        TempData["Exito"] = "La registración fue exitosa. Revisa tu correo electrónico para activar la cuenta.";
                        return(RedirectToAction("IniciarSesion"));
                    }
                }
            }
            else
            {
                ModelState.AddModelError("", "No te olvides de ingresar ubicación, y aceptar los términos y condiciones para continuar con la registración.");
                return(View());
            }
        }