예제 #1
0
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            ViewBag.Tipo   = "Con modelo";
            ViewBag.URL    = returnUrl;
            ViewBag.Nombre = model.UserName;
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(model.UserName, model.Password))
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                    supEN = servicio.NuevoInmueblate_SuperUsuario_ObtenerUsuarioPorEmail(model.UserName);

                    Session["idUsuario"]     = supEN.Id;
                    Session["nombreUsuario"] = supEN.Nombre;
                    Session["telefUusario"]  = supEN.Telefono;
                    Session["emailUsuario"]  = supEN.Email;
                    Session["direcUsuario"]  = supEN.Direccion;
                    Session["poblaUsuario"]  = supEN.Poblacion;
                    Session["CPUsuario"]     = supEN.CodigoPostal;
                    Session["paisUsuario"]   = supEN.Pais;
                    Session["valoUsuario"]   = supEN.ValoracionMedia;
                    switch (supEN.GetType().Name)
                    {
                    case "UsuarioEN": usuEN     = (UsuarioEN)supEN;
                        Session["muroUsuario"]  = supEN.Muro.Id;
                        Session["apellUsuario"] = usuEN.Apellidos;
                        Session["nifUsuario"]   = usuEN.Nif;
                        Session["fechaUsuario"] = usuEN.FechaNacimiento;
                        Session["privaUsuario"] = usuEN.Privacidad;
                        Session["tipoUsuario"]  = "Usuario";
                        Session["listaAmigos"]  = usuEN.ListaAmigos;
                        return(RedirectToAction("Index", "HomeUS", new { id = supEN.Id, area = "Usuarios" }));

                    //return RedirectToAction("Index", "HomeUSPE", new { area = "UsuariosPerfil" });
                    //break;
                    case "InmobiliariaEN": inmEN = (InmobiliariaEN)supEN;
                        Session["cifUsuaio"]     = inmEN.Cif;
                        Session["descUsuario"]   = inmEN.Descripcion;
                        Session["tipoUsuario"]   = "Inmobiliaria";
                        return(RedirectToAction("Index", "HomeIN", new { id = supEN.Id, area = "Inmobiliaria" }));

                    //break;
                    default: ModelState.AddModelError("", "El nombre de usuario o la contraseña especificados son incorrectos.");
                        break;
                    }
                }
                else
                {
                    ModelState.AddModelError("", "El nombre de usuario o la contraseña especificados son incorrectos.");
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
예제 #2
0
        public NuevoInmueblateGenNHibernate.Enumerated.RedSocial.EstadoLoginEnum Login(int p_oid, string p_email, string p_pass)
        {
            /*PROTECTED REGION ID(NuevoInmueblateGenNHibernate.CEN.RedSocial_SuperUsuario_login) ENABLED START*/

            /*
             *  Funcion revisada
             */
            //try
            //{
            Enumerated.RedSocial.EstadoLoginEnum result = Enumerated.RedSocial.EstadoLoginEnum.NoLogeado;

            SuperUsuarioCEN supCEN = new SuperUsuarioCEN();
            // Type t;
            //SuperUsuarioEN usuario = _ISuperUsuarioCAD.ReadOIDDefault (p_oid);
            SuperUsuarioEN usuario = supCEN.ObtenerUsuarioPorEmail(p_email);

            if (usuario == null)
            {
                return(Enumerated.RedSocial.EstadoLoginEnum.NoLogeado);
            }

            if (p_email == "" || p_pass == "")
            {
                return(Enumerated.RedSocial.EstadoLoginEnum.NoLogeado);
            }

            if (usuario.Password.Equals(Utils.Util.GetEncondeMD5(p_pass)))
            {
                switch (usuario.GetType().Name)
                {
                case "UsuarioEN": result = Enumerated.RedSocial.EstadoLoginEnum.Usuario; break;

                case "ModeradorEN": result = Enumerated.RedSocial.EstadoLoginEnum.Moderador; break;

                case "InmobiliariaEN": result = Enumerated.RedSocial.EstadoLoginEnum.Inmobiliaria; break;

                default: result = Enumerated.RedSocial.EstadoLoginEnum.NoLogeado; break;
                }
            }

            return(result);

            /*PROTECTED REGION END*/
        }
예제 #3
0
        public int CrearMensaje(bool p_pendienteModeracion, Nullable <DateTime> p_fechaEnvio, string p_asunto, string p_cuerpo, bool p_leido, int p_emisor, int p_receptor)
        {
            /*PROTECTED REGION ID(NuevoInmueblateGenNHibernate.CEN.RedSocial_Mensaje_crearMensaje_customized) ENABLED START*/

            bool ok = false;
            int  oid;

            SuperUsuarioCAD superUsuarioCAD = new SuperUsuarioCAD();
            SuperUsuarioCEN superUsuarioCEN = new SuperUsuarioCEN(superUsuarioCAD);

            UsuarioCEN      usuarioCEN      = new UsuarioCEN();
            InmobiliariaCAD inmobiliariaCAD = new InmobiliariaCAD();
            InmobiliariaCEN inmobiliariaCEN = new InmobiliariaCEN(inmobiliariaCAD);

            SuperUsuarioEN superUsuarioEmisor   = superUsuarioCEN.get_ISuperUsuarioCAD().ReadOIDDefault(p_emisor);
            SuperUsuarioEN superUsuarioReceptor = superUsuarioCEN.get_ISuperUsuarioCAD().ReadOIDDefault(p_receptor);

            // comprobaci�n para conocer de qu� tipo es el SuperUsuario
            if (superUsuarioEmisor.GetType() == typeof(ModeradorEN))
            {
                ok = true;
            }
            else
            {
                if (superUsuarioEmisor.GetType() == typeof(UsuarioEN) && superUsuarioReceptor.GetType() == typeof(UsuarioEN))
                {
                    UsuarioEN usuarioEmisor   = usuarioCEN.DameUsuarioPorOID(p_emisor);
                    UsuarioEN usuarioReceptor = usuarioCEN.DameUsuarioPorOID(p_receptor);
                    if (usuarioCEN.ObtenerAmigosSP(usuarioEmisor.Id).Contains(usuarioReceptor) &&
                        !usuarioCEN.ObtenerBloqueadosSP(usuarioReceptor.Id).Contains(usuarioEmisor))
                    {
                        // TODO investigar si habr�a que hacer las comprobaciones desde el otro lado
                        ok = true;
                    }
                }
            }
            if (superUsuarioEmisor.GetType() == typeof(UsuarioEN) && superUsuarioReceptor.GetType() == typeof(InmobiliariaEN))
            {
                ok = true;
            }
            if (superUsuarioEmisor.GetType() == typeof(InmobiliariaEN) && superUsuarioReceptor.GetType() == typeof(UsuarioEN))
            {
                InmobiliariaEN inmobiliariaEmisor = inmobiliariaCEN.get_IInmobiliariaCAD().ReadOIDDefault(p_emisor);
                UsuarioEN      usuarioReceptor    = usuarioCEN.DameUsuarioPorOID(p_receptor);

                foreach (MensajeEN mensaje in inmobiliariaEmisor.MensajesRecibidos)
                {
                    if (mensaje.Emisor.Equals(superUsuarioReceptor))        // TODO comprobar que esto es correcto
                    {
                        ok = true;
                    }
                }
            }

            if (ok)
            {
                MensajeEN mensajeEN = null;

                //Initialized MensajeEN
                mensajeEN            = new MensajeEN();
                mensajeEN.FechaEnvio = p_fechaEnvio;

                mensajeEN.Asunto = p_asunto;

                mensajeEN.Cuerpo = p_cuerpo;

                mensajeEN.Leido = p_leido;



                if (p_emisor != -1)
                {
                    mensajeEN.Emisor    = new NuevoInmueblateGenNHibernate.EN.RedSocial.SuperUsuarioEN();
                    mensajeEN.Emisor.Id = p_emisor;
                }


                if (p_receptor != -1)
                {
                    mensajeEN.Receptor    = new NuevoInmueblateGenNHibernate.EN.RedSocial.SuperUsuarioEN();
                    mensajeEN.Receptor.Id = p_receptor;
                }

                //Call to MensajeCAD

                oid = _IMensajeCAD.CrearMensaje(mensajeEN);
            }
            else
            {
                oid = -1;
            }

            return(oid);
            /*PROTECTED REGION END*/
        }
예제 #4
0
        public int CrearMensaje(bool p_pendienteModeracion, Nullable <DateTime> p_fechaEnvio, string p_asunto, string p_cuerpo, bool p_leido, int p_emisor, int p_receptor)
        {
            bool ok = false;
            int  oid;

            try
            {
                SessionInitializeTransaction();
                SuperUsuarioCEN superUsuarioCEN = new SuperUsuarioCEN();
                UsuarioCEN      usuarioCEN      = new UsuarioCEN();
                InmobiliariaCEN inmobiliariaCEN = new InmobiliariaCEN();
                MensajeCEN      menCEN          = new MensajeCEN();

                SuperUsuarioEN superUsuarioEmisor   = superUsuarioCEN.get_ISuperUsuarioCAD().ReadOIDDefault(p_emisor);
                SuperUsuarioEN superUsuarioReceptor = superUsuarioCEN.get_ISuperUsuarioCAD().ReadOIDDefault(p_receptor);

                // comprobaci�n para conocer de qu� tipo es el SuperUsuari
                if (superUsuarioEmisor.GetType() == typeof(ModeradorEN))
                {
                    ok = true;
                }
                else
                {
                    if (superUsuarioEmisor.GetType() == typeof(UsuarioEN) && superUsuarioReceptor.GetType() == typeof(UsuarioEN))
                    {
                        UsuarioEN usuarioEmisor   = usuarioCEN.DameUsuarioPorOID(p_emisor);
                        UsuarioEN usuarioReceptor = usuarioCEN.DameUsuarioPorOID(p_receptor);
                        if (usuarioEmisor.ListaAmigos != null && usuarioEmisor.ListaAmigos.Contains(usuarioReceptor) && usuarioReceptor.ListaBloqueados != null && !usuarioReceptor.ListaBloqueados.Contains(usuarioEmisor))
                        {
                            // TODO investigar si habr�a que hacer las comprobaciones desde el otro lado
                            ok = true;
                        }
                    }
                }

                if (superUsuarioEmisor.GetType() == typeof(UsuarioEN) && superUsuarioReceptor.GetType() == typeof(InmobiliariaEN))
                {
                    ok = true;
                }

                if (superUsuarioEmisor.GetType() == typeof(InmobiliariaEN) && superUsuarioReceptor.GetType() == typeof(UsuarioEN))
                {
                    InmobiliariaEN inmobiliariaEmisor = inmobiliariaCEN.get_IInmobiliariaCAD().ReadOIDDefault(p_emisor);
                    UsuarioEN      usuarioReceptor    = usuarioCEN.DameUsuarioPorOID(p_receptor);

                    foreach (MensajeEN mensaje in inmobiliariaEmisor.MensajesRecibidos)
                    {
                        if (mensaje.Emisor.Equals(superUsuarioReceptor))
                        { // TODO comprobar que esto es correcto
                            ok = true;
                        }
                    }
                }

                if (ok)
                {
                    MensajeEN mensajeEN = null;

                    //Initialized MensajeEN
                    mensajeEN            = new MensajeEN();
                    mensajeEN.FechaEnvio = p_fechaEnvio;

                    mensajeEN.Asunto = p_asunto;

                    mensajeEN.Cuerpo = p_cuerpo;

                    mensajeEN.Leido = p_leido;



                    if (p_emisor != -1)
                    {
                        mensajeEN.Emisor    = new NuevoInmueblateGenNHibernate.EN.RedSocial.SuperUsuarioEN();
                        mensajeEN.Emisor.Id = p_emisor;
                    }


                    if (p_receptor != -1)
                    {
                        mensajeEN.Receptor    = new NuevoInmueblateGenNHibernate.EN.RedSocial.SuperUsuarioEN();
                        mensajeEN.Receptor.Id = p_receptor;
                    }

                    //Call to MensajeCAD

                    oid = menCEN.CrearMensaje(p_pendienteModeracion,
                                              mensajeEN.FechaEnvio,
                                              mensajeEN.Asunto,
                                              mensajeEN.Cuerpo,
                                              mensajeEN.Leido,
                                              mensajeEN.Emisor.Id,
                                              mensajeEN.Receptor.Id);
                }
                else
                {
                    oid = -1;
                }
                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }

            return(oid);
            /*PROTECTED REGION END*/
        }
예제 #5
0
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                UsuarioCP usu = new UsuarioCP();
                int       id  = usu.RegistrarUsuario(model.Name, model.Apellidos, model.Nif, model.Email, model.Direccion, model.Poblacion, model.CodigoPostal, model.Pais, model.Password, "", model.Telefono, Convert.ToDateTime(model.FechaNacimiento), NuevoInmueblateGenNHibernate.Enumerated.RedSocial.TipoPrivacidadEnum.Amigos);

                if (id != -1)
                {
                    FormsAuthentication.SetAuthCookie(model.Email, false);
                    supEN = servicio.NuevoInmueblate_SuperUsuario_ObtenerUsuarioPorEmail(model.Email);

                    Session["idUsuario"]     = supEN.Id;
                    Session["nombreUsuario"] = supEN.Nombre;
                    Session["telefUusario"]  = supEN.Telefono;
                    Session["emailUsuario"]  = supEN.Email;
                    Session["direcUsuario"]  = supEN.Direccion;
                    Session["poblaUsuario"]  = supEN.Poblacion;
                    Session["CPUsuario"]     = supEN.CodigoPostal;
                    Session["paisUsuario"]   = supEN.Pais;
                    Session["valoUsuario"]   = supEN.ValoracionMedia;
                    Session["muroUsuario"]   = supEN.Muro;
                    switch (supEN.GetType().Name)
                    {
                    case "UsuarioEN": usuEN     = (UsuarioEN)supEN;
                        Session["apellUsuario"] = usuEN.Apellidos;
                        Session["nifUsuario"]   = usuEN.Nif;
                        Session["fechaUsuario"] = usuEN.FechaNacimiento;
                        Session["privaUsuario"] = usuEN.Privacidad;
                        Session["tipoUsuario"]  = "Usuario";
                        Session["listaAmigos"]  = usuEN.ListaAmigos;
                        return(RedirectToAction("Index", "Home", new { area = "" }));

                    //return RedirectToAction("Index", "HomeUS", new { id = (int)Session["idUsuario"],  area = "Usuarios" });
                    //return RedirectToAction("Index", "HomeUSPE", new { area = "UsuariosPerfil" });
                    //break;
                    case "InmobiliariaEN": inmEN = (InmobiliariaEN)supEN;
                        Session["cifUsuaio"]     = inmEN.Cif;
                        Session["descUsuario"]   = inmEN.Descripcion;
                        Session["tipoUsuario"]   = "Inmobiliaria";
                        return(RedirectToAction("Index", "Home", new { area = "" }));

                    //return RedirectToAction("Index", "HomeIN", new { id = (int)Session["idUsuario"], area = "Inmobiliaria" });
                    //break;
                    default: ModelState.AddModelError("", "El nombre de usuario o la contraseña especificados son incorrectos.");
                        break;
                    }
                }
                else
                {
                    ModelState.AddModelError("", "La creación del usuario ha fallado. Pongasé en contacto con el administrador si el problema persiste.");
                }
                // Attempt to register the user
                //MembershipCreateStatus createStatus;
                //Membership.CreateUser(model.Name, model.Password, model.Email, null, null, true, null, out createStatus);
                //
                //if (createStatus == MembershipCreateStatus.Success)
                //{
                //    FormsAuthentication.SetAuthCookie(model.Name, false /* createPersistentCookie */);
                //    return RedirectToAction("Index", "Home");//areausuarios index home
                //    //dameuserconid
                //}
                //else
                //{
                //    ModelState.AddModelError("", ErrorCodeToString(createStatus));
                //}
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }