Example #1
0
        public MultipleRespuesta <UsuarioAmistad> ConsultarSolicitudesPorCliente(int idcliente)
        {
            MultipleRespuesta <UsuarioAmistad> respuesta = new MultipleRespuesta <UsuarioAmistad>();
            AmigosServices amigosServices = new AmigosServices();

            try
            {
                List <SolicitudAmistad> solicitudAmistadesRecibidas = amigosServices.ConsultarSolicitudesRecibidas(idcliente).Entidades;
                List <SolicitudAmistad> solicitudAmistadesEnviadas  = amigosServices.ConsultarSolicitudesEnviadas(idcliente).Entidades;


                List <UsuarioAmistad> usuarioAmistadLista = new List <UsuarioAmistad>();

                foreach (var recibida in solicitudAmistadesRecibidas)
                {
                    WCFIntellectus.Model.tblusuario tblusuario = intellectusdbEntities.tblusuario.Where(x => x.IdUsuario == recibida.IdSolicitante).Single();
                    WCFIntellectus.Model.tblperfil  tblperfil  = intellectusdbEntities.tblperfil.Where(x => x.IdPerfil == tblusuario.IdUsuario).Single();
                    usuarioAmistadLista.Add(new UsuarioAmistad()
                    {
                        SolicitudAmistad = recibida, EsSolicitante = false, Usuario = new Usuario()
                        {
                            ID = tblusuario.IdUsuario, Correo = tblusuario.Correo, Nick = tblusuario.Nick, Password = tblusuario.Password
                        }, Avatar = tblperfil.Avatar
                    });
                }

                foreach (var enviada in solicitudAmistadesEnviadas)
                {
                    WCFIntellectus.Model.tblusuario tblusuario = intellectusdbEntities.tblusuario.Where(x => x.IdUsuario == enviada.IdSolicitado).Single();
                    WCFIntellectus.Model.tblperfil  tblperfil  = intellectusdbEntities.tblperfil.Where(x => x.IdPerfil == tblusuario.IdUsuario).Single();
                    usuarioAmistadLista.Add(new UsuarioAmistad()
                    {
                        SolicitudAmistad = enviada, EsSolicitante = true, Usuario = new Usuario()
                        {
                            ID = tblusuario.IdUsuario, Correo = tblusuario.Correo, Nick = tblusuario.Nick, Password = tblusuario.Password
                        }, Avatar = tblperfil.Avatar
                    });
                }

                respuesta.Entidades = usuarioAmistadLista;
                respuesta.Error     = false;
            }
            catch (Exception ex)
            {
                respuesta.Entidades = null;
                respuesta.Error     = true;
                respuesta.Errores   = new Dictionary <string, string>();
                respuesta.Errores.Add("Error", ex.Message);
            }



            return(respuesta);
        }
        public UnicaRespuesta <PerfilCompuesto> ConsultarPerfilCompuesto(long idCliente)
        {
            UnicaRespuesta <PerfilCompuesto> respuesta = new UnicaRespuesta <PerfilCompuesto>();


            respuesta.Errores = new Dictionary <string, string>();

            try
            {
                PerfilCompuesto perfilCompuesto = new PerfilCompuesto();

                WCFIntellectus.Model.tblusuario usuariotbl = intellectusdbEntities.tblusuario.Where(x => x.IdUsuario == idCliente).Single();
                Usuario usuario = new Usuario()
                {
                    ID = usuariotbl.IdUsuario, Correo = usuariotbl.Correo, Nick = usuariotbl.Nick, Password = usuariotbl.Password
                };


                WCFIntellectus.Model.tblperfil tblperfil = intellectusdbEntities.tblperfil.Where(x => x.IdUsuario == idCliente).Single();
                Perfil perfil = new Perfil()
                {
                    IdPerfil = tblperfil.IdPerfil, IdUsuario = usuario.ID, NombreReal = tblperfil.NombreReal, Descripcion = tblperfil.Descripcion, Disponibilidad = tblperfil.Disponibilidad, FechaRegistro = tblperfil.FechaRegistro, Avatar = tblperfil.Avatar, Online = tblperfil.Online
                };

                perfilCompuesto.Usuario = usuario;
                perfilCompuesto.Perfil  = perfil;

                respuesta.Error   = false;
                respuesta.Entidad = perfilCompuesto;
            }
            catch (Exception ex)
            {
                respuesta.Error = true;
                respuesta.Errores.Add("", ex.Message);
            }
            return(respuesta);
        }
Example #3
0
        public MultipleRespuesta <UsuarioAmistad> ConsultarPorBusqueda(long idClient, string busqueda)
        {
            MultipleRespuesta <UsuarioAmistad> respuesta = new MultipleRespuesta <UsuarioAmistad>();
            AmigosServices amigosServices = new AmigosServices();

            try
            {
                List <Usuario> usuarios = intellectusdbEntities.tblusuario.Where(x => x.Nick.Contains(busqueda)).Select(x => new Usuario()
                {
                    ID = x.IdUsuario, Nick = x.Nick, Correo = x.Correo, Password = x.Password
                }).ToList();
                List <SolicitudAmistad> solicitudAmistadesRecibidas = amigosServices.ConsultarSolicitudesRecibidas((int)idClient).Entidades;
                List <SolicitudAmistad> solicitudAmistadesEnviadas  = amigosServices.ConsultarSolicitudesEnviadas((int)idClient).Entidades;

                List <UsuarioAmistad> listaUsuariosAmistad = usuarios.Select(x => new UsuarioAmistad()
                {
                    Usuario = x, SolicitudAmistad = null
                }).ToList();

                List <SolicitudAmistad> listaMatchEnvidas   = solicitudAmistadesEnviadas.Where(y => listaUsuariosAmistad.Exists(x => y.IdSolicitado == x.Usuario.ID)).ToList();
                List <SolicitudAmistad> listaMatchRecibidas = solicitudAmistadesRecibidas.Where(y => listaUsuariosAmistad.Exists(x => y.IdSolicitante == x.Usuario.ID)).ToList();


                foreach (var usuario in listaUsuariosAmistad)
                {
                    usuario.EsSolicitante = null;

                    foreach (var enviado in listaMatchEnvidas)
                    {
                        if (usuario.Usuario.ID == enviado.IdSolicitado)
                        {
                            usuario.SolicitudAmistad = enviado;
                            WCFIntellectus.Model.tblperfil tblperfil = intellectusdbEntities.tblperfil.Where(x => x.IdPerfil == usuario.Usuario.ID).Single();
                            usuario.Avatar = tblperfil.Avatar;
                            listaMatchEnvidas.Remove(enviado);
                            usuario.EsSolicitante = true;
                            break;
                        }
                    }

                    foreach (var recibido in listaMatchRecibidas)
                    {
                        if (usuario.Usuario.ID == recibido.IdSolicitante)
                        {
                            usuario.SolicitudAmistad = recibido;
                            listaMatchRecibidas.Remove(recibido);
                            WCFIntellectus.Model.tblperfil tblperfil = intellectusdbEntities.tblperfil.Where(x => x.IdPerfil == usuario.Usuario.ID).Single();
                            usuario.Avatar        = tblperfil.Avatar;
                            usuario.EsSolicitante = false;
                            break;
                        }
                    }
                }

                respuesta.Entidades = listaUsuariosAmistad;
                respuesta.Error     = false;
            }
            catch (Exception ex)
            {
                respuesta.Entidades = null;
                respuesta.Error     = true;
                respuesta.Errores   = new Dictionary <string, string>();
                respuesta.Errores.Add("Error", ex.Message);
            }



            return(respuesta);
        }