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