private async Task GetNew(int idSocio) { var socio = await _context.Soci .Include(x => x.DatiAuto) .FirstOrDefaultAsync(x => x.ID == idSocio); var anagrafica = await _context.GetAnagrafica(); string sede = anagrafica?.Citta; if (string.IsNullOrEmpty(sede)) { sede = "sede"; } if (socio == null || socio.DatiAutoID == null) { throw new KeyNotFoundException($"Rimborso con chiave {idSocio} non trovato."); } DatiCalcolo = new CalcoloRimborsoVM() { SocioID = socio.ID, Cognome = socio.Cognome, Nome = socio.Nome, Carburante = socio.DatiAuto.Carburante, DescrizioneMacchina = socio.DescrizioneMacchina, Distanza = 0, DescrizioneItinerario = $"{socio.Citta} - {sede} e ritorno", InfoAutoID = socio.DatiAutoID.Value, RimborsoKm = socio.DatiAuto.RimborsoKm, TargaMacchina = socio.TargaMacchina, TipoAuto = socio.DatiAuto.TipoAuto, //ListaProve = new List<DateTime> { DateTime.Now.Date }, DataUscita = DateTime.Now.Date, IsAR = true }; DatiCalcolo.Descrizione = DatiCalcolo.GeneraDescrizione(); }
protected async Task GetExisting(int idRimborso, FilarmonicaContext context) { var rimborso = await context.Rimborsi .Include(x => x.Socio) .SingleOrDefaultAsync(x => x.ID == idRimborso); if (rimborso == null) { throw new KeyNotFoundException($"Rimborso con chiave {idRimborso} non trovato."); } rimborso.DatiDaSerializzare = JsonSerializer.Deserialize <Data.DbModels.DatiCalcoloDaSerializzare>(rimborso.DatiRimborsoSerializzati); DatiCalcolo = new CalcoloRimborsoVM() { IdRimborso = rimborso.ID, SocioID = rimborso.SocioID, Cognome = rimborso.Socio.Cognome, Nome = rimborso.Socio.Nome, Carburante = rimborso.DatiDaSerializzare.Carburante, DescrizioneMacchina = rimborso.DatiDaSerializzare.DescrizioneMacchina, Distanza = rimborso.DatiDaSerializzare.Distanza, DescrizioneItinerario = rimborso.DatiDaSerializzare.DescrizioneItinerario, InfoAutoID = rimborso.DatiDaSerializzare.InfoAutoID, RimborsoKm = rimborso.DatiDaSerializzare.RimborsoKm, TargaMacchina = rimborso.DatiDaSerializzare.TargaMacchina, TipoAuto = rimborso.DatiDaSerializzare.TipoAuto, Descrizione = rimborso.Descrizione, TotaleReale = rimborso.DatiDaSerializzare.TotaleReale, TotaleDovuto = rimborso.DatiDaSerializzare.TotaleDovuto, DataCreazione = rimborso.DataCreazione, DataUltimaModifica = rimborso.DataUltimaModifica, IsAR = rimborso.DatiDaSerializzare.IsAR, DataUscita = rimborso.DataEvento }; DatiCalcolo.AltriCostiAltro = new CalcoloRimborsoAltriCostiVM { Costo = rimborso.DatiDaSerializzare.AltriCostiAltro?.Costo ?? 0, NumRicevute = rimborso.DatiDaSerializzare.AltriCostiAltro?.NumRicevute ?? 0, Descrizione = rimborso.DatiDaSerializzare.AltriCostiAltro?.Descrizione ?? DatiCalcolo.AltriCostiAltro.Descrizione, //prende il default }; DatiCalcolo.AltriCostiAutostrada = new CalcoloRimborsoAltriCostiVM { Costo = rimborso.DatiDaSerializzare.AltriCostiAutostrada?.Costo ?? 0, NumRicevute = rimborso.DatiDaSerializzare.AltriCostiAutostrada?.NumRicevute ?? 0, Descrizione = rimborso.DatiDaSerializzare.AltriCostiAutostrada?.Descrizione ?? DatiCalcolo.AltriCostiAutostrada.Descrizione, //prende il default }; DatiCalcolo.AltriCostiTreno = new CalcoloRimborsoAltriCostiVM { Costo = rimborso.DatiDaSerializzare.AltriCostiTreno?.Costo ?? 0, NumRicevute = rimborso.DatiDaSerializzare.AltriCostiTreno?.NumRicevute ?? 0, Descrizione = rimborso.DatiDaSerializzare.AltriCostiTreno?.Descrizione ?? DatiCalcolo.AltriCostiTreno.Descrizione, //prende il default }; DatiCalcolo.AltriCostiVitto = new CalcoloRimborsoAltriCostiVM { Costo = rimborso.DatiDaSerializzare.AltriCostiVitto?.Costo ?? 0, NumRicevute = rimborso.DatiDaSerializzare.AltriCostiVitto?.NumRicevute ?? 0, Descrizione = rimborso.DatiDaSerializzare.AltriCostiVitto?.Descrizione ?? DatiCalcolo.AltriCostiTreno.Descrizione, //prende il default }; DatiCalcolo.AltriCostiMezziPubblici = new CalcoloRimborsoAltriCostiVM { Costo = rimborso.DatiDaSerializzare.AltriCostiMezziPubblici?.Costo ?? 0, NumRicevute = rimborso.DatiDaSerializzare.AltriCostiMezziPubblici?.NumRicevute ?? 0, Descrizione = rimborso.DatiDaSerializzare.AltriCostiMezziPubblici?.Descrizione ?? DatiCalcolo.AltriCostiTreno.Descrizione, //prende il default }; DatiCalcolo.AltriCostiParcheggi = new CalcoloRimborsoAltriCostiVM { Costo = rimborso.DatiDaSerializzare.AltriCostiParcheggi?.Costo ?? 0, NumRicevute = rimborso.DatiDaSerializzare.AltriCostiParcheggi?.NumRicevute ?? 0, Descrizione = rimborso.DatiDaSerializzare.AltriCostiParcheggi?.Descrizione ?? DatiCalcolo.AltriCostiTreno.Descrizione, //prende il default }; DatiCalcolo.AltriCostiHotel = new CalcoloRimborsoAltriCostiVM { Costo = rimborso.DatiDaSerializzare.AltriCostiHotel?.Costo ?? 0, NumRicevute = rimborso.DatiDaSerializzare.AltriCostiHotel?.NumRicevute ?? 0, Descrizione = rimborso.DatiDaSerializzare.AltriCostiHotel?.Descrizione ?? DatiCalcolo.AltriCostiTreno.Descrizione, //prende il default }; }