public RichiestaAssistenza GetById(string idRichiesta) { string filepath = "Fake/ListaRichiesteAssistenza.json"; string json; using (StreamReader r = new StreamReader(filepath)) { json = r.ReadToEnd(); } List <RichiestaAssistenzaDTO> ListaRichieste = JsonConvert.DeserializeObject <List <RichiestaAssistenzaDTO> >(json); RichiestaAssistenzaDTO richiesta = (RichiestaAssistenzaDTO)ListaRichieste.FirstOrDefault(x => x.Id == idRichiesta); RichiestaAssistenza richiestaReturn = MapperDTO.MapRichiestaDTOtoRichiesta(richiesta); return(richiestaReturn); }
public static RichiestaAssistenza MapRichiestaDTOtoRichiesta(RichiestaAssistenzaDTO richiesta) { var richiestaMap = new RichiestaAssistenza() { Codice = richiesta.Cod, CodRichiesta = richiesta.CodRichiesta, CodSOCompetente = richiesta.CodSOCompetente, CodSOAllertate = richiesta.CodSOAllertate, CodUOCompetenza = richiesta.CodUOCompetenza, Competenze = richiesta.Competenze, Descrizione = richiesta.Descrizione, Localita = richiesta.Localita, CodOperatore = richiesta.CodOperatore, Richiedente = richiesta.Richiedente, Tags = richiesta.Tags, Tipologie = richiesta.Tipologie, CodZoneEmergenza = richiesta.CodZoneEmergenza, TrnInsChiamata = richiesta.TrnInsChiamata, TipoTerreno = richiesta.TipoTerreno, CodEntiIntervenuti = richiesta.CodEntiIntervenuti, ObiettivoSensibile = richiesta.ObiettivoSensibile, UtInLavorazione = richiesta.UtInLavorazione, UtPresaInCarico = richiesta.UtPresaInCarico, Id = richiesta.Id, NotePubbliche = richiesta.NotePubbliche, NotePrivate = richiesta.NotePrivate }; if (richiesta.Eventi.Count > 0) { foreach (var evento in richiesta.Eventi) { if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.Telefonata)) { var tel = ((Newtonsoft.Json.Linq.JObject)evento).ToObject <Telefonata>(); new Telefonata(richiestaMap, richiesta.Cod, tel.Istante, richiesta.CodOperatore) { NominativoChiamante = tel.NominativoChiamante, Motivazione = tel.Motivazione, NotePrivate = tel.NotePrivate, NotePubbliche = tel.NotePubbliche, NumeroTelefono = tel.NumeroTelefono, Esito = tel.Esito }; } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.InizioPresaInCarico)) { new InizioPresaInCarico(richiestaMap, richiesta.IstantePresaInCarico.Value, richiesta.CodSOCompetente); } ///Gestione Partenza if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.Composizione)) { var composizione = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <ComposizionePartenze>()); new ComposizionePartenze(richiestaMap, composizione.Istante, richiesta.CodSOCompetente, false) { Partenza = composizione.Partenza }; } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.ArrivoSulPosto)) { var arrivoSulPosto = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <ArrivoSulPosto>()); new ArrivoSulPosto(richiestaMap, arrivoSulPosto.CodiceMezzo, arrivoSulPosto.Istante, richiesta.CodSOCompetente); } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.EventoMezzoInRientro)) { var partenzaInRientro = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <PartenzaInRientro>()); new PartenzaInRientro(richiestaMap, partenzaInRientro.CodiceMezzo, partenzaInRientro.Istante, richiesta.CodSOCompetente); } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.EventoMezzoRientrato)) { var partenzaRientrata = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <PartenzaRientrata>()); new PartenzaRientrata(richiestaMap, partenzaRientrata.CodiceMezzo, partenzaRientrata.Istante, richiesta.CodSOCompetente); } ///Gestione Stato Richiesta if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.ChiusuraRichiesta)) { var chiusura = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <ChiusuraRichiesta>()); new ChiusuraRichiesta(chiusura.Motivazione, richiestaMap, chiusura.Istante, richiesta.CodSOCompetente); } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.RiaperturaRichiesta)) { var riapertura = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <RiaperturaRichiesta>()); new RiaperturaRichiesta(riapertura.Motivazione, richiestaMap, riapertura.Istante, richiesta.CodSOCompetente); } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.AssegnataRichiesta)) { var assegnata = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <AssegnataRichiesta>()); new AssegnataRichiesta(richiestaMap, assegnata.Istante, richiesta.CodSOCompetente); } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.EventoRichiestaPresidiata)) { var presidiata = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <RichiestaPresidiata>()); new RichiestaPresidiata(richiestaMap, presidiata.Istante, richiesta.CodSOCompetente); } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.EventoRichiestaSospesa)) { var presidiata = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <RichiestaSospesa>()); new RichiestaSospesa(presidiata.Motivazione, richiestaMap, presidiata.Istante, richiesta.CodSOCompetente); } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.AssegnataPriorita)) { var assegnataPriorita = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <AssegnazionePriorita>()); new AssegnazionePriorita(richiestaMap, assegnataPriorita.Priorita, assegnataPriorita.Istante, richiesta.CodSOCompetente); } if (((Newtonsoft.Json.Linq.JObject)evento).ToString().Contains(Costanti.MarcaRilevante)) { var marcaRilevante = (((Newtonsoft.Json.Linq.JObject)evento).ToObject <MarcaRilevante>()); new MarcaRilevante(richiestaMap, marcaRilevante.Istante, richiesta.CodSOCompetente, "", richiesta.RilevanteGrave, richiesta.RilevanteStArCu); } } } return(richiestaMap); }
public void Update(AggiornaStatoMezzoCommand command) { string filepath = "Fake/ListaRichiesteAssistenza.json"; string filePathMezzi = "Fake/MezziComposizione.json"; string filePathSquadre = "Fake/SquadreComposizione.json"; string json; string jsonMezzi; string jsonSquadre; using (StreamReader r = new StreamReader(filepath)) { json = r.ReadToEnd(); } using (StreamReader r = new StreamReader(filePathMezzi)) { jsonMezzi = r.ReadToEnd(); } using (StreamReader r = new StreamReader(filePathSquadre)) { jsonSquadre = r.ReadToEnd(); } RichiestaAssistenzaDTO richiestaDTO = new RichiestaAssistenzaDTO(); ConfermaPartenze conferma = new ConfermaPartenze(); RichiestaAssistenzaDTO richiestaNew = new RichiestaAssistenzaDTO(); List <RichiestaAssistenzaDTO> ListaRichieste = JsonConvert.DeserializeObject <List <RichiestaAssistenzaDTO> >(json); List <ComposizioneMezzi> ListaMezzi = JsonConvert.DeserializeObject <List <ComposizioneMezzi> >(jsonMezzi); List <ComposizioneSquadre> ListaSquadre = JsonConvert.DeserializeObject <List <ComposizioneSquadre> >(jsonSquadre); if (ListaRichieste != null) { List <RichiestaAssistenza> ListaRichiesteNew = new List <RichiestaAssistenza>(); richiestaDTO = ListaRichieste.Where(x => x.Codice == command.Richiesta.Codice).FirstOrDefault(); ListaRichieste.Remove(richiestaDTO); foreach (RichiestaAssistenzaDTO richiesta in ListaRichieste) { ListaRichiesteNew.Add(MapperDTO.MapRichiestaDTOtoRichiesta(richiesta)); } ListaRichiesteNew.Add(command.Richiesta); string jsonListaPresente = JsonConvert.SerializeObject(ListaRichiesteNew); System.IO.File.WriteAllText(@"Fake/ListaRichiesteAssistenza.json", jsonListaPresente); } else { List <RichiestaAssistenza> ListaRichiesteNew = new List <RichiestaAssistenza>(); ListaRichiesteNew.Add(command.Richiesta); string jsonNew = JsonConvert.SerializeObject(ListaRichiesteNew); System.IO.File.WriteAllText(@"Fake/ListaRichiesteAssistenza.json", jsonNew); } foreach (ComposizionePartenze composizione in command.Richiesta.Partenze) { foreach (ComposizioneMezzi composizioneMezzo in ListaMezzi) { if (composizioneMezzo.Mezzo.Codice == composizione.Partenza.Mezzo.Codice) { composizioneMezzo.Mezzo.Stato = composizione.Partenza.Mezzo.Stato; } } foreach (ComposizioneSquadre composizioneSquadra in ListaSquadre) { foreach (Squadra squadra in composizione.Partenza.Squadre) { if (composizioneSquadra.Squadra.Id == squadra.Id) { composizioneSquadra.Squadra.Stato = squadra.Stato; } } } } string jsonListaMezzi = JsonConvert.SerializeObject(ListaMezzi); System.IO.File.WriteAllText(@"Fake/MezziComposizione.json", jsonListaMezzi); string jsonListaSquadre = JsonConvert.SerializeObject(ListaSquadre); System.IO.File.WriteAllText(@"Fake/SquadreComposizione.json", jsonListaSquadre); }
/// <summary> /// Il metodo accetta in firma il command, e aggiorna i dati relativi alla conferma della partenza /// </summary> /// <param name="command">il command in ingresso</param> /// <returns>ConfermaPartenze</returns> public ConfermaPartenze Update(ConfermaPartenzeCommand command) { var filepath = CostantiJson.ListaRichiesteAssistenza; var filePathMezzi = CostantiJson.Mezzo; var filePathSquadre = CostantiJson.SquadreComposizione; string json; string jsonMezzi; string jsonSquadre; using (var r = new StreamReader(filepath)) { json = r.ReadToEnd(); } using (var r = new StreamReader(filePathMezzi)) { jsonMezzi = r.ReadToEnd(); } using (var r = new StreamReader(filePathSquadre)) { jsonSquadre = r.ReadToEnd(); } var richiestaDTO = new RichiestaAssistenzaDTO(); var conferma = new ConfermaPartenze(); var listaRichieste = JsonConvert.DeserializeObject <List <RichiestaAssistenzaDTO> >(json); var listaMezzi = JsonConvert.DeserializeObject <List <Mezzo> >(jsonMezzi); var listaSquadre = JsonConvert.DeserializeObject <List <ComposizioneSquadre> >(jsonSquadre); var listaRichiesteNew = new List <RichiestaAssistenza>(); if (listaRichieste != null) { richiestaDTO = listaRichieste.Find(x => x.Cod == command.ConfermaPartenze.richiesta.Codice); listaRichieste.Remove(richiestaDTO); foreach (var richiesta in listaRichieste) { listaRichiesteNew.Add(MapperDTO.MapRichiestaDTOtoRichiesta(richiesta)); } listaRichiesteNew.Add(command.ConfermaPartenze.richiesta); var jsonListaPresente = JsonConvert.SerializeObject(listaRichiesteNew); System.IO.File.WriteAllText(CostantiJson.ListaRichiesteAssistenza, jsonListaPresente); } else { listaRichiesteNew = new List <RichiestaAssistenza> { command.ConfermaPartenze.richiesta }; var jsonNew = JsonConvert.SerializeObject(listaRichiesteNew); System.IO.File.WriteAllText(CostantiJson.ListaRichiesteAssistenza, jsonNew); } foreach (var composizione in command.ConfermaPartenze.richiesta.Partenze) { foreach (var mezzo in listaMezzi) { if (mezzo.Codice != composizione.Partenza.Mezzo.Codice) { continue; } mezzo.Stato = Costanti.MezzoInViaggio; mezzo.IdRichiesta = command.ConfermaPartenze.IdRichiesta; } foreach (var composizioneSquadra in listaSquadre) { foreach (var squadra in composizione.Partenza.Squadre) { if (composizioneSquadra.Squadra.Id == squadra.Id) { composizioneSquadra.Squadra.Stato = Squadra.StatoSquadra.InViaggio; } } } } var jsonListaMezzi = JsonConvert.SerializeObject(listaMezzi); File.WriteAllText(CostantiJson.Mezzo, jsonListaMezzi); var jsonListaSquadre = JsonConvert.SerializeObject(listaSquadre); File.WriteAllText(CostantiJson.SquadreComposizione, jsonListaSquadre); conferma.CodiceSede = command.ConfermaPartenze.CodiceSede; conferma.IdRichiesta = command.ConfermaPartenze.IdRichiesta; conferma.richiesta = command.ConfermaPartenze.richiesta; return(conferma); }
/// <summary> /// Il metodo accetta in firma il command, e in seguito al cambio di stato di uno o più /// mezzi aggiorna le informazioni relative alla richiesta a cui quel mezzo è associato /// </summary> /// <param name="command">il command in ingresso</param> public void Update(AggiornaStatoMezzoCommand command) { var filepath = CostantiJson.ListaRichiesteAssistenza; var filePathMezzi = CostantiJson.Mezzo; var filePathSquadre = CostantiJson.SquadreComposizione; string json; string jsonMezzi; string jsonSquadre; using (var r = new StreamReader(filepath)) { json = r.ReadToEnd(); } using (var r = new StreamReader(filePathMezzi)) { jsonMezzi = r.ReadToEnd(); } using (var r = new StreamReader(filePathSquadre)) { jsonSquadre = r.ReadToEnd(); } var conferma = new ConfermaPartenze(); var richiestaNew = new RichiestaAssistenzaDTO(); var listaRichieste = JsonConvert.DeserializeObject <List <RichiestaAssistenzaDTO> >(json); var listaMezzi = JsonConvert.DeserializeObject <List <Mezzo> >(jsonMezzi); var listaSquadre = JsonConvert.DeserializeObject <List <ComposizioneSquadre> >(jsonSquadre); if (listaRichieste != null) { var listaRichiesteNew = new List <RichiestaAssistenza>(); var richiestaDTO = listaRichieste.FirstOrDefault(x => x.Cod == command.Richiesta.Codice); listaRichieste.Remove(richiestaDTO); foreach (var richiesta in listaRichieste) { listaRichiesteNew.Add(MapperDTO.MapRichiestaDTOtoRichiesta(richiesta)); } listaRichiesteNew.Add(command.Richiesta); var jsonListaPresente = JsonConvert.SerializeObject(listaRichiesteNew); System.IO.File.WriteAllText(CostantiJson.ListaRichiesteAssistenza, jsonListaPresente); } else { var listaRichiesteNew = new List <RichiestaAssistenza> { command.Richiesta }; string jsonNew = JsonConvert.SerializeObject(listaRichiesteNew); System.IO.File.WriteAllText(CostantiJson.ListaRichiesteAssistenza, jsonNew); } foreach (var composizione in command.Richiesta.Partenze) { foreach (var mezzo in listaMezzi.Where(mezzo => mezzo.Codice == composizione.Partenza.Mezzo.Codice)) { mezzo.Stato = composizione.Partenza.Mezzo.Stato; } foreach (var composizioneSquadra in listaSquadre) { foreach (var squadra in composizione.Partenza.Squadre.Where(squadra => composizioneSquadra.Squadra.Id == squadra.Id)) { composizioneSquadra.Squadra.Stato = squadra.Stato; } } } var jsonListaMezzi = JsonConvert.SerializeObject(listaMezzi); System.IO.File.WriteAllText(CostantiJson.Mezzo, jsonListaMezzi); var jsonListaSquadre = JsonConvert.SerializeObject(listaSquadre); System.IO.File.WriteAllText(CostantiJson.SquadreComposizione, jsonListaSquadre); }