Visualizzazione dei risultati da 1 a 10 su 16

Visualizzazione discussione

  1. #14
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,538
    Quote Originariamente inviata da pietro09 Visualizza il messaggio
    bello! un minimo di elaborazione però. Oltre ai dati giornalieri per provincia, forse si vuol vedere anche la variazione rispetto al giorno precedente
    Per elaborare ti basta farlo nella funzione dentro alla webapi.
    Dovresti raggruppare i dati per codice_provincia (ad esempio), e dopo gli ordini in maniera crescente. Fatto ciò leggi il secondo e lo confronti con il primo e dovresti riuscire ad ottenere la variazione giornaliera.

    Ovviamente devi aggiungere il dato nel tuo oggetto restituito.
    Ad esempio:
    codice:
    [HttpGet]
            [EnableQuery]
            public IQueryable<Provinciale> Get()
            {
                ReaderContex<Provinciale>.Update(URL, _databasePath, (ctx, lastUpdate, infoList) =>
                {
                    var groupping = infoList.Where(w=>!w.denominazione_provincia.StartsWith("In fase di definizione")).GroupBy(g => g.codice_provincia).ToList();
                    ctx.Info.RemoveRange(ctx.Info);
                    for (int i = 0; i < groupping.Count(); i++)
                    {
                        var orderGroup = groupping[i].OrderBy(o => o.data).ToList();
                        for (int j =0;j< orderGroup.Count();j++)
                            if (j > 0)
                            {
                                orderGroup[j].variazioneGiornaliera = Math.Round((((double)orderGroup[j].totale_casi - (double)orderGroup[j-1].totale_casi) / (double)orderGroup[j-1].totale_casi)*100,2);
                                ctx.Info.Add(orderGroup[j]);
                            }                            
                    }               
                    return true;
                });
                return _context.Info.OrderByDescending(o=>o.codice_provincia).ThenBy(t=>t.data);
            }
    e questa è la classe json modificata:
    codice:
    [Table("Provinciale")]
            public class Provinciale : EntityBase
            {
                public DateTime data { get; set; }
                public string stato { get; set; }
                public int codice_regione { get; set; }
                public string denominazione_regione { get; set; }
                public int codice_provincia { get; set; }
                public string denominazione_provincia { get; set; }
                public string sigla_provincia { get; set; }
                public float lat { get; set; }
                public float _long { get; set; }
                public int totale_casi { get; set; }
                public string note_it { get; set; }
                public string note_en { get; set; }
                public double variazioneGiornaliera { get; set; }
            }
    EDIT:
    ora l'ho buttata giù così per mostrare come fare, ma sto usando il file completo (https://raw.githubusercontent.com/pc...-province.json) e non quello con il solo dato giornaliero (https://raw.githubusercontent.com/pc...ce-latest.json).
    per fare una cosa fatta bene dovresti confrontare il file giornaliero con quello globale, e quando arriva il nuovo lo aggiungi.
    Ultima modifica di U235; 04-04-2020 a 11:59

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.