コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Mapper.cs プロジェクト: somaliz/sovvf
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
ファイル: UpdateStatoPartenza.cs プロジェクト: somaliz/sovvf
        /// <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);
        }