Exemple #1
0
        /// <summary>Apaga o log de cálculo de distâncias de um amigo.</summary>
        public static void ClearLog(DadosAmigos dados, int idAmigo)
        {
            // apaga log
            IQueryable <long> cache = dados.Caches.Where(entry => entry.IdAmigo == idAmigo || entry.IdDestino == idAmigo).Select(entry => entry.IdCache);
            IQueryable <Log>  log   = dados.Logs.Where(entry => cache.Contains(entry.IdCache));

            log.ForEach(entry => dados.DeleteObject(entry));
        }
Exemple #2
0
        /// <summary>Apaga o cache de cálculo de distâncias de um amigo.</summary>
        public static void ClearCache(DadosAmigos dados, int idAmigo)
        {
            // apaga log
            Shared.ClearLog(dados, idAmigo);

            // apaga cache
            IQueryable <Cache> cache = dados.Caches.Where(entry => entry.IdAmigo == idAmigo || entry.IdDestino == idAmigo);

            cache.ForEach(entry => dados.DeleteObject(entry));
        }
Exemple #3
0
        /// <summary>Apaga um amigo.</summary>
        public void Delete([FromBody] string token, [FromUri] int idAmigo)
        {
            // verifica token de acesso
            Shared.VerificarToken(token);

            // inicializa contexto de dados
            DadosAmigos dados = new DadosAmigos();

            // apaga cache
            Shared.ClearCache(dados, idAmigo);

            // apaga amigos
            IQueryable <Amigo> amigos = dados.Amigos.Where(entry => entry.IdAmigo == idAmigo);

            amigos.ForEach(entry => dados.DeleteObject(entry));

            //armazena alterações
            dados.SaveChanges();
        }