Ejemplo n.º 1
0
        public ActionResult Registro(Usuario usuario, int[] selectedSegmento, int[] selectedCategoria, HttpPostedFileBase Foto, string tipoRegistro)
        {
            ViewBag.HayValidaciones = false;

            List <Provincia> provincias = localidadServicio.GetAllProvincias();

            ViewBag.ListaProvincia = new MultiSelectList(provincias, "id", "descripcion");

            List <Sexo> sexos = sexoServicio.GetAllSexo();

            ViewBag.ListaSexo = new MultiSelectList(sexos, "id", "descripcion");

            List <Segmento> segmentos = segmentoServicio.GetAllSegmento();

            ViewBag.ListaSegmentos = new MultiSelectList(segmentos, "id", "descripcion");

            List <Categoria> intereses = categoriaServicio.GetAllCategorias();

            ViewBag.ListaIntereses = new MultiSelectList(intereses, "id", "descripcion");

            string path = uploadimage(Foto);

            if (path.Equals("-1"))
            {
            }
            else
            {
                usuario.Foto = path;
            }
            var nombreDeUsuarioExiste = usuarioServicio.VerificarExistenciaUsuarioNombre(usuario);
            var existeElUsuario       = usuarioServicio.VerificarExistenciaDelUsuario(usuario);

            if (nombreDeUsuarioExiste != null)
            {
                //ACA DEBERIA DECIR, Si el nombre de usuario ya existe ingrese otro nombre de usuario
                ViewBag.HayValidaciones = true;
                ViewBag.Mensaje         = "El nombre de usuario ya se encuentra registrado. Ingrese otro";

                if (usuario.RolId == 1) //Persona
                {
                    if (tipoRegistro == "facebook")
                    {
                        return(RedirectToAction("RegistrarFacebook", new RouteValueDictionary(new { controller = "Usuario", action = "RegistrarFacebook", ViewBag.Mensaje })));
                    }
                    else
                    {
                        return(View());
                    }
                }
                else //Entidad
                {
                    return(RedirectToAction("RegistroEntidad", new RouteValueDictionary(new { controller = "Usuario", action = "RegistroEntidad", HayValidaciones = true })));
                }
            }
            else if (existeElUsuario != null)
            {
                //ACA DEBERIA DECIR, su usuario ya existe
                ViewBag.HayValidaciones = true;
                ViewBag.Mensaje         = "Ya existe un usuario registrado con el número de documento " + usuario.Dni;

                if (tipoRegistro == "facebook")
                {
                    return(RedirectToAction("RegistrarFacebook", new RouteValueDictionary(new { controller = "Usuario", action = "RegistrarFacebook", ViewBag.Mensaje })));
                }
                else
                {
                    return(View());
                }
            }
            else
            {
                usuarioServicio.CrearUsuario(usuario);
                if (usuario.RolId == 1)
                {
                    usuarioServicio.CrearUsuarioSegmento(usuario.Id, selectedSegmento);
                    usuarioServicio.CrearUsuarioCategoriaElegida(usuario.Id, selectedCategoria);
                    Session["Usuario"] = usuario;
                    return(RedirectToAction("PerfilUsuario", "Usuario", usuario));
                }
                else
                {
                    Session["Usuario"] = usuario;
                    return(RedirectToAction("PerfilEntidad", "Usuario", usuario));
                }
            }
        }