Esempio n. 1
0
        public async Task <Squadra> Get(string CodSede, decimal CodSquadra)
        {
            _client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("test");
            var response = await _client.GetAsync($"{_configuration.GetSection("OracleImplementation").GetSection(CodSede).GetSection("UrlAPISquadre").Value}/GetSquadraByCodSquadra?CodSede={CodSede}&CodSquadra={CodSquadra}").ConfigureAwait(false);

            response.EnsureSuccessStatusCode();
            using HttpContent content = response.Content;

            string data = await content.ReadAsStringAsync().ConfigureAwait(false);

            ORASquadre SquadraOracle = JsonConvert.DeserializeObject <ORASquadre>(data);

            var GetListaPersonaleSquadreById = new GetListaPersonaleSquadreById(_client, _configuration);
            var ListaPersonaleSquadre        = await GetListaPersonaleSquadreById.Get(CodSede, CodSquadra);

            var GetSQPersonaleSquadreByCodSquadra = new GetSQPersonaleSquadreByCodSquadra(_client, _configuration);
            var SQPersonaleSquadre = await GetSQPersonaleSquadreByCodSquadra.Get(CodSede, CodSquadra);

            return(MapSquadraByIdOraInMongoDB(SquadraOracle, ListaPersonaleSquadre, SQPersonaleSquadre, CodSede));
        }
Esempio n. 2
0
        public ORASquadre GetSquadraByCodSquadra(string CodSede, decimal CodSquadra)
        {
            Connessione InfoCon = _dbContext.GetConnectionFromCodiceSede(CodSede);

            OracleConnection conn = new OracleConnection(InfoCon.ConnectionString);

            conn.Open();
            OracleCommand cmd = new OracleCommand();

            cmd.Connection = conn;

            cmd.CommandText = " select " +
                              " NVL(S.COD_SQUADRA, 0) as COD_SQUADRA ,  " +
                              " NVL(S.SIGLA, '') as SIGLA                       ," +
                              " NVL(S.COD_DISTACCAMENTO, 0) as COD_DISTACCAMENTO           ," +
                              " NVL(S.COL_MOB, '') as COL_MOB                     ," +
                              " NVL(S.PRIORITA_COMANDO, 0) as PRIORITA_COMANDO    ,        " +
                              " NVL(PRIORITA_DISTACCAMENTO, 0) as PRIORITA_DISTACCAMENTO,      " +
                              " NVL(SQUADRE_MANSIONE, '') as SQUADRE_MANSIONE            ," +
                              " NVL(STAMPA, '') as STAMPA                      ," +
                              " NVL(SQUADRE_EMERGENZA, '') as SQUADRE_EMERGENZA           ," +
                              " NVL(NUMERO_PERSONE, 0) as NUMERO_PERSONE              ," +
                              " NVL(VISUALIZZA, '') as VISUALIZZA                  , " +
                              " NVL(CONTEGGIO_MENSA, '') as CONTEGGIO_MENSA   ,       " +
                              " NVL(SUPPORTO, '') as SUPPORTO    " +
                              " FROM SALAOPER.SQUADRE S INNER JOIN " +
                              " SALAOPER.PERSONALE_SQUADRE P_S ON  S.COD_SQUADRA = P_S.COD_SQUADRA  " +
                              "  WHERE TO_CHAR(SYSDATE, 'DD-MM-YYYY') = TO_CHAR(P_S.DATA_SERVIZIO, 'DD-MM-YYYY') " +
                              " AND P_S.ORA_FINE >= (SYSDATE )" +
                              " AND P_S.ORA_INIZIO <= (SYSDATE ) AND SQUADRE_MANSIONE = 'S'  AND S.COD_SQUADRA =:COD_SQUADRA  " +
                              " GROUP BY " +
                              "  P_S.DATA_SERVIZIO,  " +
                              "  P_S.COD_SQUADRA, " +
                              "  NVL(S.COD_SQUADRA, 0) , " +
                              "  NVL(S.SIGLA, '')    " +
                              ", NVL(S.COD_DISTACCAMENTO, 0)         " +
                              ", NVL(S.COL_MOB, '')          " +
                              ", NVL(S.PRIORITA_COMANDO, 0)   ,    " +
                              "  NVL(PRIORITA_DISTACCAMENTO, 0) ,   " +
                              "  NVL(SQUADRE_MANSIONE, '')     " +
                              "  , NVL(STAMPA, '')               " +
                              "  , NVL(SQUADRE_EMERGENZA, '')" +
                              "  , NVL(NUMERO_PERSONE, 0)        " +
                              "  , NVL(VISUALIZZA, '')" +
                              "  ,  NVL(CONTEGGIO_MENSA, '')    ,   " +
                              "  NVL(SUPPORTO, '') ";

            cmd.CommandType = CommandType.Text;
            cmd.BindByName  = true;
            cmd.Parameters.Add(new OracleParameter("COD_SQUADRA", OracleDbType.Decimal, CodSquadra, ParameterDirection.Input));
            OracleDataReader dr      = cmd.ExecuteReader();
            ORASquadre       Squadra = new ORASquadre();

            while (dr.Read())
            {
                Squadra.COD_SQUADRA            = Utility.Utility.GetDBField(dr, "COD_SQUADRA");
                Squadra.SIGLA                  = Utility.Utility.GetDBField(dr, "SIGLA");
                Squadra.COD_DISTACCAMENTO      = Utility.Utility.GetDBField(dr, "COD_DISTACCAMENTO");
                Squadra.COL_MOB                = Utility.Utility.GetDBField(dr, "COL_MOB");
                Squadra.PRIORITA_COMANDO       = Utility.Utility.GetDBField(dr, "PRIORITA_COMANDO");
                Squadra.PRIORITA_DISTACCAMENTO = Utility.Utility.GetDBField(dr, "PRIORITA_DISTACCAMENTO");
                Squadra.SQUADRE_MANSIONE       = Utility.Utility.GetDBField(dr, "SQUADRE_MANSIONE");
                Squadra.STAMPA                 = Utility.Utility.GetDBField(dr, "STAMPA");
                Squadra.SQUADRE_EMERGENZA      = Utility.Utility.GetDBField(dr, "SQUADRE_EMERGENZA");
                Squadra.NUMERO_PERSONE         = Utility.Utility.GetDBField(dr, "NUMERO_PERSONE");
                Squadra.VISUALIZZA             = Utility.Utility.GetDBField(dr, "VISUALIZZA");
                Squadra.CONTEGGIO_MENSA        = Utility.Utility.GetDBField(dr, "CONTEGGIO_MENSA");
                Squadra.SUPPORTO               = Utility.Utility.GetDBField(dr, "SUPPORTO");
            }

            conn.Dispose();
            return(Squadra);
        }
Esempio n. 3
0
        public List <ORASquadre> GetListaSquadre(string CodSede)
        {
            List <ORASquadre> ListaSquadre = new List <ORASquadre>();

            Connessione InfoCon = _dbContext.GetConnectionFromCodiceSede(CodSede);

            OracleConnection conn = new OracleConnection(InfoCon.ConnectionString);

            conn.Open();
            OracleCommand cmd = new OracleCommand();

            cmd.Connection = conn;

            cmd.CommandText = " select " +
                              " NVL(S.COD_SQUADRA, 0) as COD_SQUADRA ,  " +
                              " NVL(S.SIGLA, '') as SIGLA                       ," +
                              " NVL(S.COD_DISTACCAMENTO, 0) as COD_DISTACCAMENTO           ," +
                              " NVL(S.COL_MOB, '') as COL_MOB                     ," +
                              " NVL(S.PRIORITA_COMANDO, 0) as PRIORITA_COMANDO    ,        " +
                              " NVL(PRIORITA_DISTACCAMENTO, 0) as PRIORITA_DISTACCAMENTO,      " +
                              " NVL(SQUADRE_MANSIONE, '') as SQUADRE_MANSIONE            ," +
                              " NVL(STAMPA, '') as STAMPA                      ," +
                              " NVL(SQUADRE_EMERGENZA, '') as SQUADRE_EMERGENZA           ," +
                              " NVL(NUMERO_PERSONE, 0) as NUMERO_PERSONE              ," +
                              " NVL(VISUALIZZA, '') as VISUALIZZA                  , " +
                              " NVL(CONTEGGIO_MENSA, '') as CONTEGGIO_MENSA   ,       " +
                              " NVL(SUPPORTO, '') as SUPPORTO ,   " +
                              " NVL(SQP_S.STATO, '') as STATO    " +
                              " FROM SALAOPER.SQUADRE S INNER JOIN " +
                              " SALAOPER.PERSONALE_SQUADRE P_S ON  S.COD_SQUADRA = P_S.COD_SQUADRA  " +
                              " INNER JOIN SALAOPER.SQ_PERSONALE_SQUADRE SQP_S ON S.COD_SQUADRA = SQP_S.COD_SQUADRA " +
                              "  WHERE " +
                              "TO_CHAR(SQP_S.DATA_SERVIZIO, 'DD-MM-YYYY') = TO_CHAR(P_S.DATA_SERVIZIO, 'DD-MM-YYYY') AND (SQP_S.TURNO = P_S.TURNO ) AND " +
                              "TO_CHAR(SYSDATE, 'DD-MM-YYYY') = TO_CHAR(P_S.DATA_SERVIZIO, 'DD-MM-YYYY') " +
                              " AND P_S.ORA_FINE >= (SYSDATE )" +
                              " AND P_S.ORA_INIZIO <= (SYSDATE ) AND SQUADRE_MANSIONE = 'S' " +
                              " GROUP BY " +
                              "  P_S.DATA_SERVIZIO,  " +
                              "  P_S.COD_SQUADRA, " +
                              "  NVL(S.COD_SQUADRA, 0) , " +
                              "  NVL(S.SIGLA, '')    " +
                              ", NVL(S.COD_DISTACCAMENTO, 0)         " +
                              ", NVL(S.COL_MOB, '')          " +
                              ", NVL(S.PRIORITA_COMANDO, 0)   ,    " +
                              "  NVL(PRIORITA_DISTACCAMENTO, 0) ,   " +
                              "  NVL(SQUADRE_MANSIONE, '')     " +
                              "  , NVL(STAMPA, '')               " +
                              "  , NVL(SQUADRE_EMERGENZA, '')" +
                              "  , NVL(NUMERO_PERSONE, 0)        " +
                              "  , NVL(VISUALIZZA, '')" +
                              "  ,  NVL(CONTEGGIO_MENSA, '')    ,   " +
                              " NVL(SQP_S.STATO, '') , " +
                              "  NVL(SUPPORTO, '') ";

            cmd.CommandType = CommandType.Text;
            OracleDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                ORASquadre squadra = new ORASquadre();
                squadra.COD_SQUADRA            = Utility.Utility.GetDBField(dr, "COD_SQUADRA");
                squadra.SIGLA                  = Utility.Utility.GetDBField(dr, "SIGLA");
                squadra.COD_DISTACCAMENTO      = Utility.Utility.GetDBField(dr, "COD_DISTACCAMENTO");
                squadra.COL_MOB                = Utility.Utility.GetDBField(dr, "COL_MOB");
                squadra.PRIORITA_COMANDO       = Utility.Utility.GetDBField(dr, "PRIORITA_COMANDO");
                squadra.PRIORITA_DISTACCAMENTO = Utility.Utility.GetDBField(dr, "PRIORITA_DISTACCAMENTO");
                squadra.SQUADRE_MANSIONE       = Utility.Utility.GetDBField(dr, "SQUADRE_MANSIONE");
                squadra.STAMPA                 = Utility.Utility.GetDBField(dr, "STAMPA");
                squadra.SQUADRE_EMERGENZA      = Utility.Utility.GetDBField(dr, "SQUADRE_EMERGENZA");
                squadra.NUMERO_PERSONE         = Utility.Utility.GetDBField(dr, "NUMERO_PERSONE");
                squadra.VISUALIZZA             = Utility.Utility.GetDBField(dr, "VISUALIZZA");
                squadra.CONTEGGIO_MENSA        = Utility.Utility.GetDBField(dr, "CONTEGGIO_MENSA");
                squadra.SUPPORTO               = Utility.Utility.GetDBField(dr, "SUPPORTO");
                squadra.STATO                  = Utility.Utility.GetDBField(dr, "STATO");

                ListaSquadre.Add(squadra);
            }

            conn.Dispose();
            return(ListaSquadre);
        }
Esempio n. 4
0
        private Squadra MapSquadraByIdOraInMongoDB(ORASquadre SquadraOracle, List <ORAPersonaleSquadre> ListaPersonaleSquadre, ORASQPersonaleSquadre SQPersonaleSquadre, string CodSede)
        {
            ORASquadre OraS = SquadraOracle;
            List <ORAPersonaleSquadre> ListOraPS = new List <ORAPersonaleSquadre>();

            List <Distaccamento> distaccamenti = _getListaDistaccamentiByCodiceSede.GetListaDistaccamenti(CodSede);
            var  d = distaccamenti.Find(x => x.CodDistaccamento.Equals(Decimal.ToInt32(OraS.COD_DISTACCAMENTO)));
            Sede sedeDistaccamento;

            if (d != null)
            {
                sedeDistaccamento = new Sede(CodSede.ToString() + "." + d.CodDistaccamento.ToString(), d.DescDistaccamento, d.Indirizzo, d.Coordinate, "", "", "", "", "");

                Squadra.StatoSquadra Stato;

                Stato = Squadra.StatoSquadra.InSede;
                if (SQPersonaleSquadre == null)
                {
                    Stato = Squadra.StatoSquadra.InSede;
                }
                else
                {
                    switch (SQPersonaleSquadre.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;
                    }
                }

                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)
                {
                    foreach (ORAPersonaleSquadre p in ListOraPS)
                    {
                        ListaCodiciFiscaliComponentiSquadra.Add(p.MATDIP);

                        bool capoPartenza = false; bool autista = false;
                        if (p.FLAG_CAPO_SQUADRA.Equals("S"))
                        {
                            capoPartenza = true;
                        }
                        if (p.AUTISTA.Equals("S"))
                        {
                            autista = true;
                        }

                        PersonaleVVF pVVf = _getPersonaleByCF.Get(p.MATDIP, CodSede).Result;

                        Componente c = new Componente(p.QUALIFICA_ABBREV, pVVf.Nominativo, pVVf.Nominativo, capoPartenza, autista, false);
                        c.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);
                    }
                }
                Squadra squadra = new Squadra(OraS.SIGLA, Stato, ComponentiSquadra, sedeDistaccamento);
                squadra.Id = OraS.COD_SQUADRA.ToString();
                squadra.ListaCodiciFiscaliComponentiSquadra = ListaCodiciFiscaliComponentiSquadra;
                return(squadra);
            }
            else
            {
                return(null);//Se il distaccamento è vuoto non viene aggiunta la squadra
            };
        }