Ejemplo n.º 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);
        }
Ejemplo n.º 2
0
        public MultipleRespuesta <UsuarioAmistad> ConsultarAmigos(int idcliente)
        {
            MultipleRespuesta <UsuarioAmistad> multipleRespuesta = new MultipleRespuesta <UsuarioAmistad>();


            try
            {
                AmigosServices amigosServices = new AmigosServices();

                MultipleRespuesta <SolicitudAmistad> amigos = amigosServices.ConsultarAmigos(idcliente);

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

                if (!amigos.Error)
                {
                    foreach (var amigo in amigos.Entidades)
                    {
                        if (amigo.IdSolicitante == idcliente)
                        {
                            Model.tblusuario tblusuario = intellectusdbEntities.tblusuario.Where(x => x.IdUsuario == amigo.IdSolicitado).Single();
                            listaAmigos.Add(new UsuarioAmistad()
                            {
                                Usuario = new Usuario()
                                {
                                    ID = tblusuario.IdUsuario, Correo = tblusuario.Correo, Nick = tblusuario.Nick, Password = tblusuario.Password
                                }, EsSolicitante = true, SolicitudAmistad = amigo
                            });
                        }
                        else
                        {
                            Model.tblusuario tblusuario = intellectusdbEntities.tblusuario.Where(x => x.IdUsuario == amigo.IdSolicitante).Single();
                            listaAmigos.Add(new UsuarioAmistad()
                            {
                                Usuario = new Usuario()
                                {
                                    ID = tblusuario.IdUsuario, Correo = tblusuario.Correo, Nick = tblusuario.Nick, Password = tblusuario.Password
                                }, EsSolicitante = false, SolicitudAmistad = amigo
                            });
                        }
                    }

                    multipleRespuesta.Entidades = listaAmigos;
                    multipleRespuesta.Error     = false;
                }
                else
                {
                    multipleRespuesta.Error   = true;
                    multipleRespuesta.Errores = new Dictionary <string, string>();
                    multipleRespuesta.Errores.Add("Error", amigos.Errores["Error"]);
                }
            }
            catch (Exception ex)
            {
                multipleRespuesta.Error   = true;
                multipleRespuesta.Errores = new Dictionary <string, string>();
                multipleRespuesta.Errores.Add("Error", ex.Message);
            }


            return(multipleRespuesta);
        }
Ejemplo n.º 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);
        }
        public MultipleRespuesta <PerfilCompuesto> ObtenerListaAmigosPerfilCompuesto(long idCliente)
        {
            MultipleRespuesta <PerfilCompuesto> multipleRespuesta = new MultipleRespuesta <PerfilCompuesto>();


            try
            {
                AmigosServices amigosServices = new AmigosServices();

                MultipleRespuesta <SolicitudAmistad> amigos = amigosServices.ConsultarAmigos((int)idCliente);

                List <PerfilCompuesto> listaAmigos = new List <PerfilCompuesto>();

                if (!amigos.Error)
                {
                    foreach (var amigo in amigos.Entidades)
                    {
                        if (amigo.IdSolicitante == idCliente)//obtener el id del amigo mediante el idsolicitado
                        {
                            Model.tblusuario tblusuario = intellectusdbEntities.tblusuario.Where(x => x.IdUsuario == amigo.IdSolicitado).Single();
                            Usuario          usuario    = new Usuario()
                            {
                                Correo = tblusuario.Correo, ID = tblusuario.IdUsuario, Nick = tblusuario.Nick, Password = tblusuario.Password
                            };

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

                            listaAmigos.Add(new PerfilCompuesto()
                            {
                                Usuario = usuario, Perfil = perfil
                            });
                        }
                        else
                        {
                            Model.tblusuario tblusuario = intellectusdbEntities.tblusuario.Where(x => x.IdUsuario == amigo.IdSolicitante).Single();
                            Usuario          usuario    = new Usuario()
                            {
                                Correo = tblusuario.Correo, ID = tblusuario.IdUsuario, Nick = tblusuario.Nick, Password = tblusuario.Password
                            };

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

                            listaAmigos.Add(new PerfilCompuesto()
                            {
                                Usuario = usuario, Perfil = perfil
                            });
                        }
                    }

                    multipleRespuesta.Entidades = listaAmigos;
                    multipleRespuesta.Error     = false;
                }
                else
                {
                    multipleRespuesta.Error   = true;
                    multipleRespuesta.Errores = new Dictionary <string, string>();
                    multipleRespuesta.Errores.Add("Error", amigos.Errores["Error"]);
                }
            }
            catch (Exception ex)
            {
                multipleRespuesta.Error   = true;
                multipleRespuesta.Errores = new Dictionary <string, string>();
                multipleRespuesta.Errores.Add("Error", ex.Message);
            }


            return(multipleRespuesta);
        }