public async Task <JsonResult> GetMyContacts(ContactosDTO contact)
        {
            Result <ContactosDTO> result = new Result <ContactosDTO>();

            try
            {
                ChatsServices chatService = new ChatsServices();
                if (GetPersonToSearch() != null && GetPersonToSearch().Consecutivo != 0)
                {
                    contact.CodigoPersonaOwner = GetPersonToSearch().Consecutivo;
                }
                else
                {
                    contact.CodigoPersonaOwner = UserLoggedIn().PersonaDelUsuario.Consecutivo;
                }

                contact.CodigoIdiomaUsuarioBase = UserLoggedIn().PersonaDelUsuario.CodigoIdioma;
                result.list = await chatService.ListarContactos(contact);

                if (result.list == null)
                {
                    return(Json(Helper.returnErrorList(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(Helper.returnErrorList(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
        }
        async Task CargarContactos(int skipIndex, int takeIndex, bool isRefresh = false)
        {
            if (Persona != null && !NoHayNadaMasParaCargarContactos)
            {
                List <BiografiaTimeLineModel> listaTimeLine = new List <BiografiaTimeLineModel>();

                ContactosDTO contacto = new ContactosDTO
                {
                    CodigoPersonaOwner = Persona.Consecutivo,
                    SkipIndexBase      = skipIndex,
                    TakeIndexBase      = takeIndex
                };

                if (IsNotConnected)
                {
                    return;
                }
                List <ContactosDTO> listaContactos = await _chatServices.ListarContactos(contacto);

                listaTimeLine = BiografiaTimeLineModel.CrearListaBiografiaTimeLine(listaContactos);

                if (listaTimeLine != null)
                {
                    if (listaTimeLine.Count > 0)
                    {
                        if (_timeLine == null)
                        {
                            _timeLine = new ObservableRangeCollection <BiografiaTimeLineModel>(listaTimeLine);
                        }
                        else
                        {
                            _timeLine.AddRange(listaTimeLine);
                        }

                        NumeroContactosBuscados = listaContactos.Count;
                        RaisePropertyChanged(nameof(TimeLine));
                    }
                    else
                    {
                        NoHayNadaMasParaCargarContactos = listaTimeLine.Count <= 0;
                    }
                }
            }
        }
Example #3
0
        async Task CargarContactos(int skipIndex, int takeIndex)
        {
            if (!NoHayNadaMasParaCargar)
            {
                ContactosDTO buscador = new ContactosDTO
                {
                    CodigoPersonaOwner      = App.Persona.Consecutivo,
                    SkipIndexBase           = skipIndex,
                    TakeIndexBase           = takeIndex,
                    IdiomaBase              = App.IdiomaPersona,
                    IdentificadorParaBuscar = TextoBuscador
                };

                if (IsNotConnected)
                {
                    return;
                }
                List <ContactosDTO> listaContactos = await _chatsServices.ListarContactos(buscador);

                if (listaContactos != null)
                {
                    if (listaContactos.Count > 0)
                    {
                        if (_contactos == null)
                        {
                            _contactos = new ObservableRangeCollection <ContactosDTO>(listaContactos);
                        }
                        else
                        {
                            listaContactos = listaContactos.Where(x => !_contactos.Where(y => y.Consecutivo == x.Consecutivo).Any()).ToList();
                            _contactos.AddRange(listaContactos);
                        }

                        RaisePropertyChanged("Contactos");
                    }
                    else
                    {
                        NoHayNadaMasParaCargar = listaContactos.Count <= 0;
                    }
                }
            }
        }