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 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); }
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); }