Exemple #1
0
        private List <Mezzo> MapListaMezziOraInMongoDB(List <ORAAutomezzi> ListaMezziOracle, List <string> codiceMezzo)
        {
            List <Mezzo> ListaMezzi = new List <Mezzo>();

            foreach (var codice in codiceMezzo)
            {
                var OraM = ListaMezziOracle.Find(x => x.COD_AUTOMEZZO.Equals(codice));

                List <Distaccamento> distaccamenti = _getListaDistaccamentiByCodiceSede.GetListaDistaccamenti(OraM.COD_COMANDO);
                var d = distaccamenti.Find(x => x.CodDistaccamento.Equals(OraM.COD_DISTACCAMENTO));

                var sede = new Sede(OraM.COD_COMANDO + "." + OraM.COD_DISTACCAMENTO, d.DescDistaccamento, d.Indirizzo, d.Coordinate, "", "", "", "", "");

                Mezzo mezzo = new Mezzo(OraM.TIPO_MEZZO + "." + OraM.TARGA,
                                        OraM.TARGA,
                                        OraM.COD_GENERE_MEZZO,
                                        GetStatoOperativoMezzo(OraM.COD_COMANDO + "." + OraM.COD_DISTACCAMENTO,
                                                               OraM.TIPO_MEZZO + "." + OraM.TARGA, OraM.STATO),
                                        OraM.COD_DESTINAZIONE,
                                        sede,
                                        new Coordinate(1, 1))

                {
                    DescrizioneAppartenenza = OraM.COD_DESTINAZIONE,
                };

                ListaMezzi.Add(mezzo);
            }

            return(ListaMezzi);
        }
Exemple #2
0
        private Mezzo MapMezzoByIdOraInMongoDB(ORAAutomezzi MezzoOracle, int CodMezzo)
        {
            ORAAutomezzi         OraM          = MezzoOracle;
            List <Distaccamento> distaccamenti = _getDistaccamentoByCodSede.GetListaDistaccamenti(OraM.COD_COMANDO);
            var d    = distaccamenti.Find(x => x.CodDistaccamento.Equals(OraM.COD_DISTACCAMENTO));
            var sede = new Sede(OraM.COD_COMANDO + "." + OraM.COD_DISTACCAMENTO, d.DescDistaccamento, d.Indirizzo, d.Coordinate, "", "", "", "", "");

            Mezzo mezzo = new Mezzo
                          (
                OraM.COD_AUTOMEZZO.ToString(),
                OraM.COD_MODELLO_MEZZO,
                OraM.STATO,
                OraM.DISTACCAMENTO,
                OraM.COD_DESTINAZIONE,
                sede,
                new Coordinate(1, 1)
                          )
            {
                Genere = OraM.COD_GENERE_MEZZO,
            };

            return(mezzo);
        }
Exemple #3
0
        private List <Squadra> MapListaSquadreOraInMongoDB(List <ORASquadre> ListaSquadreOracle, List <ORAPersonaleSquadre> ListaPersonaleSquadre, string CodSede)
        {
            List <Squadra>             ListaSquadre = new List <Squadra>();
            List <ORAPersonaleSquadre> ListOraPS    = new List <ORAPersonaleSquadre>();

            foreach (ORASquadre OraS in ListaSquadreOracle)
            {
                List <Distaccamento> distaccamenti = _getListaDistaccamentiByCodiceSede.GetListaDistaccamenti(CodSede);
                var distaccamentoCoordinate        = distaccamenti.Find(x => x.CodDistaccamento.Equals(Decimal.ToInt32(OraS.COD_DISTACCAMENTO)));

                var distaccamento = new Distaccamento();
                distaccamento = _getDistaccamentoByCodiceSedeUC.Get(CodSede + "." + OraS.COD_DISTACCAMENTO.ToString()).Result;
                Sede sedeDistaccamento;
                if (distaccamento != null)
                {
                    sedeDistaccamento = new Sede(CodSede.ToString() + "." + distaccamento.CodDistaccamento.ToString(), distaccamento.DescDistaccamento, distaccamento.Indirizzo, distaccamentoCoordinate.Coordinate, "", "", "", "", "");
                    Squadra.StatoSquadra Stato;

                    switch (OraS.STATO.ToString())
                    {
                    case "L": Stato = Squadra.StatoSquadra.InSede; break;

                    case "A": Stato = Squadra.StatoSquadra.SulPosto; break;

                    case "R": Stato = Squadra.StatoSquadra.InRientro; break;

                    default: Stato = Squadra.StatoSquadra.InSede; break;
                    }

                    Stato = Squadra.StatoSquadra.InSede;

                    List <Componente> ComponentiSquadra = new List <Componente>();
                    List <string>     ListaCodiciFiscaliComponentiSquadra = new List <string>();
                    ListOraPS = ListaPersonaleSquadre.FindAll(x => x.COD_SQUADRA.Equals(OraS.COD_SQUADRA));
                    if (ListOraPS.Count > 0)
                    //if (!istOraPS.Any())
                    {
                        foreach (ORAPersonaleSquadre p in ListOraPS)
                        {
                            PersonaleVVF pVVf = _getPersonaleByCF.Get(p.MATDIP, CodSede).Result;

                            bool capoPartenza = false; bool autista = false;
                            if (p.FLAG_CAPO_SQUADRA.Equals("S"))
                            {
                                capoPartenza = true;
                            }
                            if (p.AUTISTA.Equals("S"))
                            {
                                autista = true;
                            }
                            Componente c = new Componente(p.QUALIFICA_ABBREV, pVVf.Nominativo, pVVf.Nominativo, capoPartenza, autista, false)
                            {
                                CodiceFiscale = pVVf.CodFiscale,
                            };
                            if (p.ORA_INIZIO.HasValue)
                            {
                                c.OrarioInizio = (DateTime)p.ORA_INIZIO;
                            }
                            if (p.ORA_FINE.HasValue)
                            {
                                c.OrarioInizio = (DateTime)p.ORA_FINE;
                            }

                            ComponentiSquadra.Add(c);
                            ListaCodiciFiscaliComponentiSquadra.Add(p.MATDIP);
                        }
                    }
                    Squadra squadra = new Squadra(OraS.SIGLA, Stato, ComponentiSquadra, sedeDistaccamento);
                    squadra.Id = OraS.COD_SQUADRA.ToString();

                    squadra.ListaCodiciFiscaliComponentiSquadra = ListaCodiciFiscaliComponentiSquadra;
                    ListaSquadre.Add(squadra);
                }
                else
                {
                    //Se il distaccamento è vuoto non viene aggiunta la squadra
                }
            }

            return(ListaSquadre);
        }