示例#1
0
        public DataSet GetElencoDescreti(InfoUtente userInfo, List <FiltroRicerca> searchFilters, string query, out int numRows)
        {
            DataSet dataSet = new DataSet();

            numRows = 0;
            using (DBProvider dbProvider = new DBProvider())
            {
                // Reperimento query da eseguire ed esecuzione
                Query q = InitQuery.getInstance().getQuery(query);
                q.setParam("dbuser", DocsPaDbManagement.Functions.Functions.GetDbUserSession());

                // Impostazione filtri
                q.setParam("filterCond", this.GetConditionFilter(searchFilters));

                // Impostazione lista degli identificativi dei ruoli in cui ricercare i documenti
                q.setParam("ufficio", this.GetRolesList(searchFilters.Where(e => e.argomento == "CDCUffici").First(), userInfo));

                dbProvider.ExecuteQuery(out dataSet, q.getSQL());
                numRows = dataSet.Tables[0].Rows.Count;
            }

            return(dataSet);
        }
示例#2
0
        private bool UpdateTipoProto(string docNumber)
        {
            bool retVal = false;

            Query query = InitQuery.getInstance().getQuery("U_REG_CONS_TIPO_PROTO");
            //tipo_proto da impostare per il documento
            string tipo = "N";

            query.setParam("tipo_proto", tipo);
            query.setParam("docnumber", docNumber);

            string commandText = query.getSQL();

            logger.Debug("QUERY - SQL: " + commandText);

            using (DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider())
            {
                retVal = dbProvider.ExecuteNonQuery(commandText);
            }


            return(retVal);
        }
示例#3
0
        public bool ImportFatture_UpdateStatoInvio(string idProfile, bool daInviare, bool dataInvio)
        {
            bool result = false;

            logger.Debug("BEGIN");

            try
            {
                Query  query     = InitQuery.getInstance().getQuery("U_IMPORT_FATTURE");
                string condition = string.Format("CHA_DA_INVIARE='{0}'", daInviare ? "1" : "0");
                if (dataInvio)
                {
                    condition = condition + ", DTA_INVIO_SDI = " + DocsPaDbManagement.Functions.Functions.GetDate(true);
                }

                query.setParam("set_cond", condition);
                query.setParam("where_cond", string.Format("ID_PROFILE={0}", idProfile));

                string command = query.getSQL();
                logger.Debug("QUERY - " + command);

                if (!this.ExecuteNonQuery(command))
                {
                    throw new Exception(this.LastExceptionMessage);
                }

                result = true;
            }
            catch (Exception ex)
            {
                logger.Debug("Errore in ImportFatture_Update - ", ex);
                result = false;
            }

            logger.Debug("END");
            return(result);
        }
示例#4
0
        public DataSet GetDataSet(InfoUtente infoUt, List <FiltroRicerca> filters)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                try
                {
                    Query query = InitQuery.getInstance().getQuery("S_GET_REPORT_POLICY_PARER");
                    query.setParam("stato", filters.Where(f => f.argomento.Equals("stato")).FirstOrDefault().valore);
                    query.setParam("idAmm", filters.Where(f => f.argomento.Equals("idAmm")).FirstOrDefault().valore);

                    string command = query.getSQL();
                    logger.Debug("QUERY - " + command);
                    dbProvider.ExecuteQuery(out dataSet, command);
                }
                catch (Exception ex)
                {
                    logger.Debug(ex.Message);
                }
            }

            return(dataSet);
        }
示例#5
0
        public DataSet GetDataAccessoDocumentale(InfoUtente infoUtente, List <FiltroRicerca> filters)
        {
            logger.Debug("BEGIN");

            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                try
                {
                    Query query = InitQuery.getInstance().getQuery("S_REGISTRO_ACCESSI");
                    this.SetFilters(query, filters);

                    if (dbProvider.DBType.ToUpper() == "SQL")
                    {
                        query.setParam("dbUser", DocsPaDbManagement.Functions.Functions.GetDbUserSession());
                    }

                    string command = query.getSQL();
                    logger.Debug("QUERY - " + command);

                    if (!dbProvider.ExecuteQuery(out dataSet, command))
                    {
                        throw new Exception(dbProvider.LastExceptionMessage);
                    }
                }
                catch (Exception ex)
                {
                    logger.Debug(ex.Message);
                }
            }

            logger.Debug("END");

            return(dataSet);
        }
示例#6
0
        public DataSet GetStampaRepertoriModificati(InfoUtente userInfo, List <FiltroRicerca> searchFilters)
        {
            DataSet dataSet           = new DataSet();
            bool    includiModificati = true;

            try
            {
                string modX = searchFilters.Where(f => f.argomento == "RECUPERO_evitaMod").FirstOrDefault().valore;
                if (modX.ToUpper() == "TRUE")
                {
                    includiModificati = false;
                }
            }
            catch (Exception exNoLast)
            {
            }

            if (includiModificati)
            {
                using (DBProvider dbProvider = new DBProvider())
                {
                    // Reperimento query da eseguire ed esecuzione
                    Query query = InitQuery.getInstance().getQuery("REPORT_REGISTRI_REPERTORIO_MOD");
                    query.setParam("dbuser", DocsPaDbManagement.Functions.Functions.GetDbUserSession());
                    // Impostazioni dei filtri di ricerca
                    this.SetFilters(query, searchFilters);
                    string q = query.getSQL();
                    // Esecuzione della query
                    logger.Debug("REPORT_REGISTRI_REPERTORIO_MOD: ");
                    logger.Debug(q);
                    dbProvider.ExecuteQuery(out dataSet, q);
                }
            }
            // Restituzione risultato query
            return(dataSet);
        }
示例#7
0
        public DataSet GetStampaRepertoriNuovi(InfoUtente userInfo, List <FiltroRicerca> searchFilters)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                // Reperimento query da eseguire ed esecuzione
                Query query = InitQuery.getInstance().getQuery("REPORT_REGISTRI_REPERTORIO_NUOVI");
                query.setParam("dbuser", DocsPaDbManagement.Functions.Functions.GetDbUserSession());

                // Impostazioni dei filtri di ricerca
                this.SetFilters(query, searchFilters);

                string qn = query.getSQL();

                logger.Debug("REPORT_REGISTRI_REPERTORIO_NUOVI: ");
                logger.Debug(qn);
                // Esecuzione della query
                dbProvider.ExecuteQuery(out dataSet, qn);
            }

            // Restituzione risultato query
            return(dataSet);
        }
示例#8
0
        public string getParametriFatturaAmministrazione(string idAmm)
        {
            string result = string.Empty;

            try
            {
                Query query = InitQuery.getInstance().getQuery("S_FATTURAZIONE_GET_PARAM_AMM");
                query.setParam("idAmm", idAmm);
                string commandText = query.getSQL();

                bool check = ExecuteScalar(out result, commandText);
                if (!check)
                {
                    throw new Exception("Impossibile recuperare i parametri dell'amministrazione");
                }

                return(result);
            }
            catch (Exception ex)
            {
                logger.Debug(ex.Message);
                return(result);
            }
        }
示例#9
0
        /// <summary>
        /// Andrea De Marco - get di tutti i report degli import pregressi
        /// Il booleano serve per abilitare o meno la get degli item collegati ai report
        /// Bool daAmm: Se false filtro in query (DPA_PREGRESSI.ID_UTENTE_CREATORE = infoutente.idPeople AND DPA_PREGRESSI.ID_RUOLO_CREATORE = infoutente.idGruppo)
        /// RICHIESTA DEL CLIENTE: non è più necessario specificare il bool daAmm. Impostare un bool qualsiasi (true/false)
        /// </summary>
        /// <param name="getItem"></param>
        /// <returns></returns>
        public DocsPaVO.Import.Pregressi.ReportPregressi[] GetReports(bool getItems, InfoUtente infoUtente, bool daAmm)
        {
            DocsPaVO.Import.Pregressi.ReportPregressi[] result = null;

            try
            {
                DataSet ds_all_report = new DataSet();
                //DataSet ds_item = new DataSet();

                using (DocsPaDB.DBProvider dbProvider = new DBProvider())
                {
                    //Commentato per richiesta del cliente
                    //if (daAmm)
                    //{
                    //Prendo tutti i report
                    Query query_report = InitQuery.getInstance().getQuery("S_GET_ALL_REPORT_PREGRESSO");
                    query_report.setParam("id_amm", infoUtente.idAmministrazione);
                    query_report.setParam("daAmm", string.Empty);

                    string commandText = query_report.getSQL();
                    logger.Debug(commandText);

                    dbProvider.ExecuteQuery(ds_all_report, "Report", commandText);


                    //dbProvider.ExecuteQuery(ds_all_report, query_report.ToString());
                    //Fine Query

                    if (ds_all_report != null && ds_all_report.Tables[0].Rows.Count > 0)
                    {
                        result = new DocsPaVO.Import.Pregressi.ReportPregressi[ds_all_report.Tables[0].Rows.Count];

                        for (int i = 0; i < ds_all_report.Tables[0].Rows.Count; i++)
                        {
                            DocsPaVO.Import.Pregressi.ReportPregressi rp = new DocsPaVO.Import.Pregressi.ReportPregressi();

                            rp.itemPregressi = new List <DocsPaVO.Import.Pregressi.ItemReportPregressi>();

                            rp.systemId         = ds_all_report.Tables[0].Rows[i]["SYSTEM_ID"].ToString();
                            rp.idAmm            = ds_all_report.Tables[0].Rows[i]["ID_AMM"].ToString();
                            rp.idUtenteCreatore = ds_all_report.Tables[0].Rows[i]["ID_UTENTE_CREATORE"].ToString();
                            rp.idRuoloCreatore  = ds_all_report.Tables[0].Rows[i]["ID_RUOLO_CREATORE"].ToString();
                            rp.dataEsecuzione   = ds_all_report.Tables[0].Rows[i]["DATA_ESECUZIONE"].ToString();
                            rp.dataFine         = ds_all_report.Tables[0].Rows[i]["DATA_FINE"].ToString();
                            rp.numDoc           = ds_all_report.Tables[0].Rows[i]["NUM_DOC"].ToString();
                            rp.descrizione      = ds_all_report.Tables[0].Rows[i]["DESCRIZIONE"].ToString();
                            rp.numeroElaborati  = ds_all_report.Tables[0].Rows[i]["ELABORATI"].ToString();

                            rp.inError = ds_all_report.Tables[0].Rows[i]["ERRORI"].ToString();

                            //result[i] = rp;

                            if (getItems)
                            {
                                DataSet ds_item = new DataSet();

                                //Query per il popolamento della lista di itemReportPregressi
                                //Query:
                                Query query_item = InitQuery.getInstance().getQuery("S_GET_ITEM_REPORT_PREGRESSO_BY_SYSTEMID");
                                query_item.setParam("id_report", rp.systemId);

                                string commandText_item = query_item.getSQL();
                                logger.Debug(commandText_item);

                                dbProvider.ExecuteQuery(ds_item, "Item Report", commandText_item);
                                //dbProvider.ExecuteQuery(ds_item, query_item.ToString());

                                if (ds_item != null && ds_item.Tables[0].Rows.Count > 0)
                                {
                                    foreach (DataRow row_item in ds_item.Tables[0].Rows)
                                    {
                                        DocsPaVO.Import.Pregressi.ItemReportPregressi item = new DocsPaVO.Import.Pregressi.ItemReportPregressi();

                                        //Popolamento:
                                        item.systemId       = row_item["SYSTEM_ID"].ToString();
                                        item.idPregresso    = row_item["ID_PREGRESSO"].ToString();
                                        item.idRegistro     = row_item["ID_REGISTRO"].ToString();
                                        item.idDocumento    = row_item["ID_DOCUMENTO"].ToString();
                                        item.idUtente       = row_item["ID_UTENTE"].ToString();
                                        item.tipoOperazione = row_item["TIPO_OPERAZIONE"].ToString();
                                        item.data           = row_item["DATA"].ToString();
                                        item.errore         = row_item["ERRORE"].ToString();
                                        item.esito          = row_item["ESITO"].ToString();
                                        //item.esito = (bool)row_item["ESITO"];
                                        item.idNumProtocolloExcel = row_item["ID_NUM_PROTO_EXCEL"].ToString();

                                        //Inserimento:
                                        rp.itemPregressi.Add(item);
                                        //result[i].itemPregressi.Add(item);
                                        //result[i].AddItemReportPregressi(item);
                                    }
                                }
                            }

                            result[i] = rp;
                        }
                    }
                    //}     //Commentato per richiesta del cliente
                    //else
                    //daAmm=false
                    //{
                    //    //Prendo tutti i report
                    //    Query query_report = InitQuery.getInstance().getQuery("S_GET_ALL_REPORT_PREGRESSO");
                    //    query_report.setParam("id_amm", infoUtente.idAmministrazione);
                    //    query_report.setParam("daAmm",  " and p.ID_UTENTE_CREATORE =" + infoUtente.idPeople +" and p.ID_RUOLO_CREATORE =" +infoUtente.idGruppo);


                    //    string commandText = query_report.getSQL();
                    //    logger.Debug(commandText);

                    //    dbProvider.ExecuteQuery(ds_all_report, "Report", commandText);


                    //    //dbProvider.ExecuteQuery(ds_all_report, query_report.ToString());
                    //    //Fine Query

                    //    if (ds_all_report != null && ds_all_report.Tables[0].Rows.Count > 0)
                    //    {
                    //        result = new DocsPaVO.Import.Pregressi.ReportPregressi[ds_all_report.Tables[0].Rows.Count];

                    //        for (int i = 0; i < ds_all_report.Tables[0].Rows.Count; i++)
                    //        {

                    //            DocsPaVO.Import.Pregressi.ReportPregressi rp = new DocsPaVO.Import.Pregressi.ReportPregressi();

                    //            rp.itemPregressi = new List<DocsPaVO.Import.Pregressi.ItemReportPregressi>();

                    //            rp.systemId = ds_all_report.Tables[0].Rows[i]["SYSTEM_ID"].ToString();
                    //            rp.idAmm = ds_all_report.Tables[0].Rows[i]["ID_AMM"].ToString();
                    //            rp.idUtenteCreatore = ds_all_report.Tables[0].Rows[i]["ID_UTENTE_CREATORE"].ToString();
                    //            rp.idRuoloCreatore = ds_all_report.Tables[0].Rows[i]["ID_RUOLO_CREATORE"].ToString();
                    //            rp.dataEsecuzione = ds_all_report.Tables[0].Rows[i]["DATA_ESECUZIONE"].ToString();
                    //            rp.dataFine = ds_all_report.Tables[0].Rows[i]["DATA_FINE"].ToString();
                    //            rp.numDoc = ds_all_report.Tables[0].Rows[i]["NUM_DOC"].ToString();
                    //            rp.descrizione = ds_all_report.Tables[0].Rows[i]["DESCRIZIONE"].ToString();
                    //            rp.numeroElaborati = ds_all_report.Tables[0].Rows[i]["ELABORATI"].ToString();

                    //            rp.inError = ds_all_report.Tables[0].Rows[i]["ERRORI"].ToString();

                    //            //result[i] = rp;

                    //            if (getItems)
                    //            {
                    //                DataSet ds_item = new DataSet();

                    //                //Query per il popolamento della lista di itemReportPregressi
                    //                //Query:
                    //                Query query_item = InitQuery.getInstance().getQuery("S_GET_ITEM_REPORT_PREGRESSO_BY_SYSTEMID");
                    //                query_item.setParam("id_report", rp.systemId);

                    //                string commandText_item = query_item.getSQL();
                    //                logger.Debug(commandText_item);

                    //                dbProvider.ExecuteQuery(ds_item, "Item Report", commandText_item);
                    //                //dbProvider.ExecuteQuery(ds_item, query_item.ToString());

                    //                if (ds_item != null && ds_item.Tables[0].Rows.Count > 0)
                    //                {
                    //                    foreach (DataRow row_item in ds_item.Tables[0].Rows)
                    //                    {
                    //                        DocsPaVO.Import.Pregressi.ItemReportPregressi item = new DocsPaVO.Import.Pregressi.ItemReportPregressi();

                    //                        //Popolamento:
                    //                        item.systemId = row_item["SYSTEM_ID"].ToString();
                    //                        item.idPregresso = row_item["ID_PREGRESSO"].ToString();
                    //                        item.idRegistro = row_item["ID_REGISTRO"].ToString();
                    //                        item.idDocumento = row_item["ID_DOCUMENTO"].ToString();
                    //                        item.idUtente = row_item["ID_UTENTE"].ToString();
                    //                        item.tipoOperazione = row_item["TIPO_OPERAZIONE"].ToString();
                    //                        item.data = row_item["DATA"].ToString();
                    //                        item.errore = row_item["ERRORE"].ToString();
                    //                        item.esito = row_item["ESITO"].ToString();
                    //                        //item.esito = (bool)row_item["ESITO"];
                    //                        item.idNumProtocolloExcel = row_item["ID_NUM_PROTO_EXCEL"].ToString();

                    //                        //Inserimento:
                    //                        rp.itemPregressi.Add(item);
                    //                        //result[i].itemPregressi.Add(item);
                    //                        //result[i].AddItemReportPregressi(item);
                    //                    }
                    //                }
                    //            }

                    //            result[i] = rp;

                    //        }
                    //    }
                    //}
                }
            }
            catch (Exception e)
            {
                logger.Debug(e.Message);
                result = null;
            }

            return(result);
        }
示例#10
0
        public List <CampoCustomFattura> ImportFatture_GetCampiCustom(string idFattura)
        {
            List <CampoCustomFattura> list = new List <CampoCustomFattura>();

            logger.Debug("BEGIN");

            try
            {
                Query query = InitQuery.getInstance().getQuery("S_IMPORT_FATTURE_CAMPI_CUSTOM");
                query.setParam("id_fattura", idFattura);

                string command = query.getSQL();
                string field   = string.Empty;
                logger.Debug("QUERY - " + command);

                if (!this.ExecuteScalar(out field, command))
                {
                    throw new Exception(this.LastExceptionMessage);
                }

                logger.Debug("Valore campo: " + field);

                if (!string.IsNullOrEmpty(field))
                {
                    string[] campiCustom = field.Split(';');
                    if (campiCustom != null && campiCustom.Length > 0)
                    {
                        foreach (string campoString in campiCustom)
                        {
                            try
                            {
                                if (!string.IsNullOrEmpty(campoString))
                                {
                                    logger.Debug("Analisi campo " + campoString);
                                    string[]           valori = campoString.Split(',');
                                    CampoCustomFattura item   = new CampoCustomFattura();
                                    item.NomeCampo   = valori[1];
                                    item.NumeroLinea = valori[2];
                                    item.Valore      = valori[3];

                                    if (valori[0].ToUpper() == "H")
                                    {
                                        item.Tipo = TipoCampoCustomFatturaType.HEADER;
                                    }
                                    else if (valori[0].ToUpper() == "I")
                                    {
                                        item.Tipo = TipoCampoCustomFatturaType.ITEM;
                                    }

                                    list.Add(item);
                                }
                            }
                            catch (Exception)
                            {
                                logger.Error("** Errore analisi campo");
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Debug("Errore in ImportFatture_GetCampiCustom - ", ex);
                list = null;
            }

            logger.Debug("END");
            return(list);
        }
示例#11
0
        public FatturaPA getFattura(string idamm, string idFattura)
        {
            FatturaPA fattura = new FatturaPA();

            try
            {
                fattura.templateXML = getXmlTemplate(idamm);

                Query query = InitQuery.getInstance().getQuery("S_FATTURAZIONE_GET_FATTURA");
                query.setParam("codice", idFattura);

                string commandText = query.getSQL();
                logger.Debug(commandText);

                int numeroLinea = 1;

                IDataReader reader = ExecuteReader(commandText);

                while (reader.Read())
                {
                    fattura.formatoTrasmissione = reader.GetValue(reader.GetOrdinal("TIPOTRACCIATO")).ToString();
                    fattura.pecDestinatario     = reader.GetValue(reader.GetOrdinal("PECDESTINATARIO")).ToString();

                    fattura.trasmittenteIdPaese  = reader.GetValue(reader.GetOrdinal("TRASM_IDPAESE")).ToString();
                    fattura.trasmittenteIdCodice = reader.GetValue(reader.GetOrdinal("TRASM_CODICE")).ToString();
                    //fattura.codiceIPA = reader.GetValue(reader.GetOrdinal("CODICE_DESTINATARIO")).ToString();
                    fattura.codiceIPA = reader.GetValue(reader.GetOrdinal("CODIPA")).ToString();
                    if (string.IsNullOrEmpty(fattura.codiceIPA))
                    {
                        fattura.codiceIPA = reader.GetValue(reader.GetOrdinal("CODICE_DESTINATARIO")).ToString();
                    }
                    fattura.trasmittenteTelefono = reader.GetValue(reader.GetOrdinal("TRASM_TELEFONO")).ToString();
                    fattura.trasmittenteMail     = reader.GetValue(reader.GetOrdinal("TRASM_EMAIL")).ToString();

                    #region Cedente

                    CedentePrestatore ced = new CedentePrestatore();
                    ced.idPaese           = reader.GetValue(reader.GetOrdinal("CEDENTE_IDPAESE")).ToString();
                    ced.idCodice          = reader.GetValue(reader.GetOrdinal("CEDENTE_CODICE")).ToString();
                    ced.denominazione     = reader.GetValue(reader.GetOrdinal("CEDENTE_DESCR")).ToString();
                    ced.indirizzo         = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_INDIRIZZO")).ToString();
                    ced.numCivico         = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_NUMCIVICO")).ToString();
                    ced.CAP               = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_CAP")).ToString();
                    ced.comune            = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_COMUNE")).ToString();
                    ced.provincia         = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_PROVINCIA")).ToString();
                    ced.nazione           = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_NAZIONE")).ToString();
                    ced.ufficio           = reader.GetValue(reader.GetOrdinal("CEDENTE_UFFICIO")).ToString();
                    ced.numeroREA         = reader.GetValue(reader.GetOrdinal("CEDENTE_NUMEROREA")).ToString();
                    ced.capitaleSociale   = reader.GetValue(reader.GetOrdinal("CEDENTE_CAPITALESOC")).ToString().Replace(',', '.');
                    ced.socioUnico        = reader.GetValue(reader.GetOrdinal("CEDENTE_SOCIOUNICO")).ToString();
                    ced.statoLiquidazione = reader.GetValue(reader.GetOrdinal("CEDENTE_STATOLIQUIDAZIONE")).ToString();

                    fattura.cedente = ced;

                    #endregion

                    #region Cessionario

                    CessionarioCommittente cess = new CessionarioCommittente();
                    cess.idPaese   = reader.GetValue(reader.GetOrdinal("CESSIONARIO_IDPAESE")).ToString();
                    cess.idCodiceI = reader.GetValue(reader.GetOrdinal("CESSIONARIO_IVA")).ToString();

                    cess.idCodiceF = reader.GetValue(reader.GetOrdinal("CESSIONARIO_FISCALE")).ToString();

                    cess.denominazione = reader.GetValue(reader.GetOrdinal("CESSIONARIO_DESCR")).ToString();
                    cess.indirizzo     = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_INDIRIZZO")).ToString();
                    cess.numCivico     = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_NUMCIVICO")).ToString();
                    cess.CAP           = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_CAP")).ToString();
                    cess.comune        = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_COMUNE")).ToString();
                    cess.provincia     = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_PROVINCIA")).ToString();
                    cess.nazione       = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_NAZIONE")).ToString();

                    fattura.cessionario = cess;

                    #endregion

                    fattura.tipoDoc          = reader.GetValue(reader.GetOrdinal("TIPO_DOC")).ToString();
                    fattura.divisa           = reader.GetValue(reader.GetOrdinal("DIVISA")).ToString();
                    fattura.dataDoc          = Convert.ToDateTime(reader.GetValue(reader.GetOrdinal("DATA_DOC")).ToString());
                    fattura.numeroFattura    = reader.GetValue(reader.GetOrdinal("NUMERO_FATTURA")).ToString();
                    fattura.importoTotaleDoc = reader.GetValue(reader.GetOrdinal("TOTALE_IMPORTO_DOC")).ToString();
                    //fattura.idOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_IDDOC")).ToString();
                    //fattura.CUPOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CUP")).ToString();
                    //fattura.CIGOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CIG")).ToString();
                    fattura.idContratto  = reader.GetValue(reader.GetOrdinal("CONTRATTO_IDDOC")).ToString();
                    fattura.CUPContratto = reader.GetValue(reader.GetOrdinal("CONTRATTO_CUP")).ToString();
                    fattura.CIGContratto = reader.GetValue(reader.GetOrdinal("CONTRATTO_CIG")).ToString();

                    fattura.aliquotaIVA       = reader.GetValue(reader.GetOrdinal("RIEPILOGO_ALIQUOTA_IVA")).ToString();
                    fattura.imponibileImporto = reader.GetValue(reader.GetOrdinal("RIEPILOGO_IMPONIBILE")).ToString();
                    fattura.imposta           = reader.GetValue(reader.GetOrdinal("RIEPILOGO_IMPOSTA")).ToString();

                    fattura.pagamentoModalita       = reader.GetValue(reader.GetOrdinal("MODALITA_PAGAMENTO")).ToString();
                    fattura.pagamentoImporto        = reader.GetValue(reader.GetOrdinal("IMPORTO_PAGAMENTO")).ToString();
                    fattura.dataRifTerminiPagamento = Convert.ToDateTime(reader.GetValue(reader.GetOrdinal("DATA_RIF_TERMINI_PAGAM")).ToString());
                    //fattura.giorniTerminiPagamento = reader.GetValue(reader.GetOrdinal("GIORNI_TERMINI_PAGAMENTO")).ToString();

                    string dataScadenzaPagamento = reader.GetValue(reader.GetOrdinal("DATA_SCADENZA_PAGAMENTO")).ToString();
                    if (!string.IsNullOrEmpty(dataScadenzaPagamento))
                    {
                        fattura.dataScadenzaPagamento = Convert.ToDateTime(reader.GetValue(reader.GetOrdinal("DATA_SCADENZA_PAGAMENTO")).ToString());
                    }


                    fattura.istitutoFinanziario = reader.GetValue(reader.GetOrdinal("ISTITUTO_FINANZIARIO")).ToString();
                    fattura.IBAN = reader.GetValue(reader.GetOrdinal("IBAN")).ToString();
                    fattura.BIC  = reader.GetValue(reader.GetOrdinal("BIC")).ToString();

                    fattura.esigibilitaIVA = reader.GetValue(reader.GetOrdinal("ESIGIBILITA")).ToString();

                    fattura.codiceSipaiProgetto = fattura.idOrdineAcquisto;                                              // reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_IDDOC")).ToString(); //new //duplicato chiave 2.1.2.2
                    fattura.codiceSottoprogetto = reader.GetValue(reader.GetOrdinal("CODICE_SOTTOPROGETTO")).ToString(); //new
                    fattura.codiceComponente    = reader.GetValue(reader.GetOrdinal("CODICE_COMPONENTE")).ToString();    //new
                    fattura.dipartimentoMef     = reader.GetValue(reader.GetOrdinal("DIPARTIMENTO_MEF")).ToString();     //new


                    // LINEE FATTURA

                    DatiBeniServizi line = new DatiBeniServizi();

                    //line.numeroLinea = reader.GetValue(reader.GetOrdinal("NUMERO_LINEA")).ToString();
                    string numeroLineaSAP = reader.GetValue(reader.GetOrdinal("NUMERO_LINEA")).ToString();
                    line.numeroLinea    = numeroLinea.ToString();
                    line.numeroLineaSAP = numeroLineaSAP;
                    line.descrizione    = ParseDescrizione(reader.GetValue(reader.GetOrdinal("DESCRIZIONE")).ToString());
                    line.quantita       = reader.GetValue(reader.GetOrdinal("QUANTITA")).ToString();
                    line.unitaMisura    = reader.GetValue(reader.GetOrdinal("UNITA_MISURA")).ToString();
                    line.prezzoUnitario = reader.GetValue(reader.GetOrdinal("PREZZO_UNITARIO")).ToString();
                    line.prezzoTotale   = reader.GetValue(reader.GetOrdinal("PREZZO_TOTALE")).ToString();
                    line.aliquotaIVA    = reader.GetValue(reader.GetOrdinal("ALIQUOTA_IVA")).ToString();

                    string dataInizio = reader.GetValue(reader.GetOrdinal("DATA_INIZIO_VALIDITA")).ToString().Trim();
                    string dataFine   = reader.GetValue(reader.GetOrdinal("DATA_FINE_VALIDITA")).ToString().Trim();


                    if (!string.IsNullOrEmpty(dataInizio))
                    {
                        if (!dataInizio.Contains("-"))
                        {
                            dataInizio = dataInizio.Substring(0, 4) + "-" + dataInizio.Substring(4, 2) + "-" + dataInizio.Substring(6, 2);
                        }
                        DateTime dataInizioDate;
                        if (DateTime.TryParse(dataInizio, out dataInizioDate))
                        {
                            line.dataInizioPeriodo = dataInizioDate;
                        }
                        else
                        {
                            line.dataInizioPeriodo = (DateTime?)null;
                        }
                    }
                    else
                    {
                        line.dataInizioPeriodo = (DateTime?)null;
                    }

                    if (!string.IsNullOrEmpty(dataFine))
                    {
                        if (!dataFine.Contains("-"))
                        {
                            dataFine = dataFine.Substring(0, 4) + "-" + dataFine.Substring(4, 2) + "-" + dataFine.Substring(6, 2);
                        }
                        DateTime dataFineDate;
                        if (DateTime.TryParse(dataFine, out dataFineDate))
                        {
                            line.dataFinePeriodo = dataFineDate;
                        }
                        else
                        {
                            line.dataFinePeriodo = (DateTime?)null;
                        }
                    }
                    else
                    {
                        line.dataFinePeriodo = (DateTime?)null;
                    }

                    //line.dataInizioPeriodo = string.IsNullOrEmpty(dataInizio) ? (DateTime?)null : Convert.ToDateTime(dataInizio); //new
                    //line.dataFinePeriodo = string.IsNullOrEmpty(dataFine)? (DateTime?)null : Convert.ToDateTime(dataFine);  //new
                    line.obiettivoFase = reader.GetValue(reader.GetOrdinal("OBIETTIVO_FASE")).ToString();  //new

                    DatiBeniServizi.DatiGestionali altriDati = new DatiBeniServizi.DatiGestionali();
                    altriDati.tipoDati = reader.GetValue(reader.GetOrdinal("PARTE_FISSA_O_VARIABILE")).ToString();  //new

                    if (!string.IsNullOrEmpty(altriDati.tipoDati.Trim()))
                    {
                        line.altriDatiGestionali.Add(altriDati);
                    }

                    fattura.servizi.Add(line);

                    // DATI ORDINE ACQUISTO
                    // SOLO PER SOGEI - IDENTIFICO CON IL CAMPO PARTITA IVA
                    if (fattura.cessionario != null && !string.IsNullOrEmpty(fattura.cessionario.idCodiceI) && fattura.cessionario.idCodiceI.Contains("01043931003"))
                    {
                        DatiOrdineAcquisto ordineLine = new DatiOrdineAcquisto();
                        ordineLine.RiferimentoNumeroLinea = numeroLinea.ToString();
                        ordineLine.NumeroLineaSAP         = numeroLineaSAP;
                        ordineLine.IdDocumento            = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_IDDOC")).ToString();
                        ordineLine.NumItem = reader.GetValue(reader.GetOrdinal("CODICE_SOTTOPROGETTO")).ToString();
                        ordineLine.CodiceCommessaConvenzione = reader.GetValue(reader.GetOrdinal("CODICE_COMPONENTE")).ToString();
                        ordineLine.CodiceCUP = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CUP")).ToString();
                        ordineLine.CodiceCIG = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CIG")).ToString();

                        DateTime dataOrdineAcquisto;
                        DateTime.TryParse(reader.GetValue(reader.GetOrdinal("DATA_ORDINE_ACQUISTO")).ToString(), out dataOrdineAcquisto);
                        if (dataOrdineAcquisto != null)
                        {
                            ordineLine.Data = dataOrdineAcquisto;
                        }

                        fattura.ordineAcquisto.Add(ordineLine);
                    }
                    // FATTURA NON SOGEI - INSERISCO LE INFORMAZIONI IN TESTATA
                    else
                    {
                        fattura.idOrdineAcquisto  = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_IDDOC")).ToString();
                        fattura.CUPOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CUP")).ToString();
                        fattura.CIGOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CIG")).ToString();
                    }

                    numeroLinea++;
                }

                if (!reader.IsClosed)
                {
                    reader.Close();
                }

                // estraggo i parametri specifici dell'amministrazione
                string par = getParametriFatturaAmministrazione(idamm);
                if (!string.IsNullOrEmpty(par))
                {
                    //fattura.formatoTrasmissione = par.Split('§')[0];
                    if (string.IsNullOrEmpty(fattura.esigibilitaIVA))
                    {
                        fattura.esigibilitaIVA = par.Split('§')[1];
                    }
                    fattura.pagamentoCondizioni = par.Split('§')[2];
                }
                else
                {
                    throw new Exception("Impossibile recuperare i parametri dell'amministrazione");
                }


                return(fattura);
            }
            catch (Exception ex)
            {
                logger.Debug(ex);
                throw new Exception(ex.Message);
            }
        }
示例#12
0
        public List <StampaConservazione> RicercaStampaConservazione(FiltroRicerca[] filters)
        {
            string filtroFirma = string.Empty;
            string filtroData  = string.Empty;
            string filtroAmm   = string.Empty;

            string dbType = System.Configuration.ConfigurationManager.AppSettings["DBType"];

            List <FiltroRicerca> searchFilters = filters.Cast <FiltroRicerca>().ToList();

            foreach (FiltroRicerca f in searchFilters)
            {
                switch (f.argomento)
                {
                case "FIRMATE":
                    filtroFirma = string.Format(" AND p.cha_firmato={0} ", f.valore);
                    break;

                case "DATA_STAMPA_DA":
                    filtroData += " AND sc.print_date >=" + DocsPaDbManagement.Functions.Functions.ToDateBetween(f.valore, true);
                    break;

                case "DATA_STAMPA_A":
                    filtroData += " AND sc.print_date <" + DocsPaDbManagement.Functions.Functions.ToDateBetween(f.valore, false);
                    break;

                case "DATA_STAMPA_IL":
                    filtroData += " AND sc.print_date >=" + DocsPaDbManagement.Functions.Functions.ToDateBetween(f.valore, true);
                    filtroData += " AND sc.print_date <=" + DocsPaDbManagement.Functions.Functions.ToDateBetween(f.valore, false);
                    break;

                case "DATA_STAMPA_TODAY":
                    DateTime date = DateTime.Now;
                    if (f.valore == "1")
                    {
                        filtroData += " AND sc.print_date >=" + DocsPaDbManagement.Functions.Functions.ToDateBetween(date.ToString("dd/MM/yyyy"), true);
                        filtroData += " AND sc.print_date <=" + DocsPaDbManagement.Functions.Functions.ToDateBetween(date.ToString("dd/MM/yyyy"), false);
                    }
                    break;

                case "DATA_STAMPA_SC":
                    if (f.valore == "1")
                    {
                        if (!dbType.ToUpper().Equals("SQL"))
                        {
                            filtroData += " AND sc.print_date >=(select to_date(to_char(sysdate+ (1-to_char(sysdate,'D')))) startdayofweek from dual)";
                        }
                        else
                        {
                            filtroData += " AND sc.print_date >=(select CAST(DATEADD(DAY,-DATEPART(WEEKDAY,(DATEADD(DAY,7-DATEPART(WEEKDAY,GETDATE()),GETDATE())))+(7-DATEPART(WEEKDAY,GETDATE()))+2 ,GETDATE()) as date))";
                        }
                    }
                    break;

                case "DATA_STAMPA_MC":
                    if (f.valore == "1")
                    {
                        if (!dbType.ToUpper().Equals("SQL"))
                        {
                            filtroData += " AND sc.print_date >=TRUNC(SYSDATE,'MM') AND sc.print_date < (SYSDATE+1) ";
                        }
                        else
                        {
                            filtroData += " AND sc.print_date >=(SELECT DATEADD(dd,-(DAY(getdate())-1),getdate())) AND sc.print_date <(SELECT DATEADD(dd,-(DAY(DATEADD(mm,1,getdate()))),DATEADD(mm,1,getdate()))) ";
                        }
                    }
                    break;

                case "ID_AMM":
                    filtroAmm = f.valore;
                    break;
                }
            }

            List <StampaConservazione> retVal = new List <StampaConservazione>();

            //recupero filtri
            Query query = InitQuery.getInstance().getQuery("S_REG_CONS_RICERCA_STAMPE_CONS");

            query.setParam("p_firma", filtroFirma);
            query.setParam("p_data", filtroData);
            query.setParam("id_amm", filtroAmm);

            using (DBProvider dbProvider = new DBProvider())
            {
                using (IDataReader dataReader = dbProvider.ExecuteReader(query.getSQL()))
                {
                    while (dataReader.Read())
                    {
                        retVal.Add(new StampaConservazione
                        {
                            idDocumento      = dataReader["SYSTEM_ID"].ToString(),
                            dataDocumento    = (dataReader["PRINT_DATE"].ToString()).Substring(0, 10),
                            oggettoDocumento = dataReader["VAR_PROF_OGGETTO"].ToString(),
                            idProfile        = dataReader["ID_PROFILE"].ToString(),
                            chaFirmato       = dataReader["CHA_FIRMATO"].ToString()
                        });
                    }
                }
            }

            return(retVal);
        }
示例#13
0
        /// <summary>
        /// Metodo per il caricamento delle informazioni sul documento mittente
        /// </summary>
        /// <param name="documentId">Id del documento</param>
        /// <param name="senderRecordInfo">Verrà valorizzato con le informazioni sul protocollo mittente</param>
        /// <param name="receiverRecordInfo">Verrà valorizzato con le informazioni sul protocollo destinatario</param>
        /// <param name="senderUrl">Url del mittente</param>
        /// <param name="receiverCode">Codice del destinatario</param>
        /// <returns>Esito del caricamento</returns>
        public bool LoadSenderDocInfo(String documentId, out RecordInfo senderRecordInfo, out RecordInfo receiverRecordInfo, out String senderUrl, out String receiverCode)
        {
            bool succeded = false;

            senderRecordInfo   = null;
            receiverRecordInfo = null;
            senderUrl          = String.Empty;
            receiverCode       = String.Empty;
            using (DBProvider dbProvider = new DBProvider())
            {
                //15-11-2016: Problema SP oracle12c (tronca gli output parameter). Uso le query

                /*
                 * ArrayList parameters = new ArrayList();
                 * parameters.Add(new ParameterSP("p_DocumentId", documentId, 100, DirectionParameter.ParamInput, System.Data.DbType.UInt32));
                 * parameters.Add(new ParameterSP("p_SenderAdministrationCode", String.Empty, 100, DirectionParameter.ParamOutput, System.Data.DbType.AnsiString));
                 * parameters.Add(new ParameterSP("p_SenderAOOCode", String.Empty, 100, DirectionParameter.ParamOutput, System.Data.DbType.AnsiString));
                 * parameters.Add(new ParameterSP("p_SenderRecordNumber", 0, 100, DirectionParameter.ParamOutput, System.Data.DbType.UInt32));
                 * parameters.Add(new ParameterSP("p_SenderRecordDate", DateTime.MinValue, 100, DirectionParameter.ParamOutput, System.Data.DbType.DateTime));
                 * parameters.Add(new ParameterSP("p_ReceiverAdministrationCode", String.Empty, 100, DirectionParameter.ParamOutput, System.Data.DbType.AnsiString));
                 * parameters.Add(new ParameterSP("p_ReceiverAOOCode", String.Empty, 100, DirectionParameter.ParamOutput, System.Data.DbType.AnsiString));
                 * parameters.Add(new ParameterSP("p_ReceiverRecordNumber", 0, 100, DirectionParameter.ParamOutput, System.Data.DbType.UInt32));
                 * parameters.Add(new ParameterSP("p_ReceiverRecordDate", DateTime.MinValue, 100, DirectionParameter.ParamOutput, System.Data.DbType.DateTime));
                 * parameters.Add(new ParameterSP("p_SenderUrl", String.Empty, 2000, DirectionParameter.ParamOutput, System.Data.DbType.AnsiString));
                 * parameters.Add(new ParameterSP("p_ReceiverCode", String.Empty, 2000, DirectionParameter.ParamOutput, System.Data.DbType.AnsiString));
                 *
                 * succeded = dbProvider.ExecuteStoredProcedure("IS_LoadSimpInteropRecordInfo", parameters, null) == 1;
                 * if (succeded)
                 * {
                 *  // Lettura dei valori aggiornati
                 *  ParameterSP[] convertedParams = (ParameterSP[])parameters.ToArray(typeof(ParameterSP));
                 *  senderRecordInfo = new RecordInfo()
                 *      {
                 *          AdministrationCode = convertedParams.Where(p => p.Nome == "p_SenderAdministrationCode").First().Valore.ToString(),
                 *          AOOCode = convertedParams.Where(p => p.Nome == "p_SenderAOOCode").First().Valore.ToString(),
                 *          RecordDate = DateTime.Parse(convertedParams.Where(p => p.Nome == "p_SenderRecordDate").First().Valore.ToString()),
                 *          RecordNumber = convertedParams.Where(p => p.Nome == "p_SenderRecordNumber").First().Valore.ToString()
                 *      };
                 *
                 *  DateTime receiverDate = DateTime.MinValue;
                 *  DateTime.TryParse(convertedParams.Where(p => p.Nome == "p_ReceiverRecordDate").First().Valore.ToString(), out receiverDate);
                 *  receiverRecordInfo = new RecordInfo()
                 *  {
                 *      AdministrationCode = convertedParams.Where(p => p.Nome == "p_ReceiverAdministrationCode").First().Valore.ToString(),
                 *      AOOCode = convertedParams.Where(p => p.Nome == "p_ReceiverAOOCode").First().Valore.ToString(),
                 *      RecordDate = receiverDate,
                 *      RecordNumber = convertedParams.Where(p => p.Nome == "p_ReceiverRecordNumber").First().Valore.ToString()
                 *  };
                 *
                 *  senderUrl = convertedParams.Where(p => p.Nome == "p_SenderUrl").First().Valore.ToString();
                 *  receiverCode = convertedParams.Where(p => p.Nome == "p_ReceiverCode").First().Valore.ToString();
                 *
                 * }
                 * else
                 * {
                 *  senderRecordInfo = null;
                 *  receiverRecordInfo = null;
                 *  senderUrl = String.Empty;
                 *  receiverCode = String.Empty;
                 * }
                 */
                //Caricamento delle informazioni sul protocollo mittente
                Query query = InitQuery.getInstance().getQuery("S_SIMPINTEROPRECEIVEDMESSAGE_BY_ID_PROFILE");
                query.setParam("idProfile", documentId);
                string commandText = query.getSQL();

                DataSet ds = new DataSet();
                if (dbProvider.ExecuteQuery(out ds, "SIMPINTEROPRECEIVEDMESSAGE", commandText))
                {
                    if (ds.Tables["SIMPINTEROPRECEIVEDMESSAGE"] != null && ds.Tables["SIMPINTEROPRECEIVEDMESSAGE"].Rows != null && ds.Tables["SIMPINTEROPRECEIVEDMESSAGE"].Rows.Count > 0)
                    {
                        DataRow dataRow = ds.Tables["SIMPINTEROPRECEIVEDMESSAGE"].Rows[0];
                        senderRecordInfo = new RecordInfo()
                        {
                            AdministrationCode = dataRow["SENDER_ADMINISTRATION_CODE"].ToString(),
                            AOOCode            = dataRow["SENDER_AOO_CODE"].ToString(),
                            RecordDate         = DateTime.Parse(dataRow["SENDER_RECORD_DATE"].ToString()),
                            RecordNumber       = dataRow["SENDER_RECORD_NUMBER"].ToString()
                        };

                        senderUrl    = dataRow["SENDER_URL"].ToString();
                        receiverCode = dataRow["RECEIVER_CODE"].ToString();

                        //Caricamento informazioni sul protocollo creato nell'amministrazione destinataria
                        query = InitQuery.getInstance().getQuery("S_PROFILE_RECEIVER_INFO");
                        query.setParam("idProfile", documentId);
                        commandText = query.getSQL();

                        if (dbProvider.ExecuteQuery(out ds, "PROFILE", commandText))
                        {
                            succeded = true;
                            if (ds.Tables["PROFILE"] != null && ds.Tables["PROFILE"].Rows != null && ds.Tables["PROFILE"].Rows.Count > 0)
                            {
                                DataRow  row          = ds.Tables["PROFILE"].Rows[0];
                                DateTime receiverDate = DateTime.MinValue;
                                DateTime.TryParse(row["RECEIVER_RECORD_DATE"].ToString(), out receiverDate);
                                receiverRecordInfo = new RecordInfo()
                                {
                                    AdministrationCode = row["RECEIVER_ADMINISTRATOR_CODE"].ToString(),
                                    AOOCode            = row["RECEIVER_AOO_CODE"].ToString(),
                                    RecordDate         = receiverDate,
                                    RecordNumber       = row["RECEIVER_RECORD_NUMBER"].ToString()
                                };
                            }
                        }
                    }
                }
            }

            return(succeded);
        }
示例#14
0
        /// <summary>
        /// Verifica se la data attuale è successiva a quella definita per la
        /// prossima stampa.
        /// </summary>
        /// <param name="nextPrint">data di prossima stampa</param>
        /// <returns></returns>
        public bool VerifyNextPrint(DateTime nextPrint, string idAmm, string lastPrintedId, int startingHour)
        {
            bool retVal = false;
            int  totId  = 0;

            try
            {
                DateTime currentDate = DateTime.Now;
                int      currentHour = Convert.ToInt32(currentDate.ToString("HH"));
                logger.Debug("data attuale: " + currentDate.ToString("dd/MM/yyyy"));
                logger.Debug("data di prossima stampa: " + nextPrint.ToString("dd/MM/yyyy"));
                logger.Debug("ora attuale: " + currentHour);
                logger.Debug("ora di stampa: " + startingHour);

                //controllo che la data attuale sia >= della data di prossima stampa
                //e che l'ora attuale sia >= dell'ora di stampa
                int value = DateTime.Compare(currentDate, nextPrint);
                if (value >= 0 && currentHour >= startingHour)
                {
                    logger.Debug("check su data di stampa OK");
                    //controllo aggiuntivo: sono presenti record successivi rispetto all'ultimo stampato?
                    using (DBProvider dbProvider = new DBProvider())
                    {
                        Query query = InitQuery.getInstance().getQuery("S_REG_CONS_VERIFY_SYS_ID");
                        query.setParam("id_amm", idAmm);
                        query.setParam("system_id", lastPrintedId);

                        using (IDataReader dataReader = dbProvider.ExecuteReader(query.getSQL()))
                        {
                            while (dataReader.Read())
                            {
                                totId = Convert.ToInt32(dataReader["totId"].ToString());
                            }
                            if (totId > 0)
                            {
                                logger.Debug("check su record da stampare OK");
                                logger.Debug("modifica data di prossima stampa");
                                //GM 12-09-2013
                                //per impedire che il servizio venga invocato nuovamente se la stampa
                                //è in corso, imposto la data di prossima stampa
                                DateTime dummyDate  = DateTime.Now.AddYears(1);
                                Query    querycheck = InitQuery.getInstance().getQuery("U_REG_CONS_MOD_NEXT_PRINT_DATE");
                                querycheck.setParam("idAmm", idAmm);
                                querycheck.setParam("ndate", dummyDate.ToString("dd/MM/yyyy"));

                                string commandText = querycheck.getSQL();
                                logger.Debug(commandText);
                                dbProvider.ExecuteNonQuery(commandText);

                                retVal = true;
                            }
                        }
                    }
                }

                return(retVal);
            }
            catch (Exception ex)
            {
                logger.Debug("Errore nel metodo VerifyNextPrint:", ex);
                return(false);
            }
            //return retVal;
        }
示例#15
0
        //Andrea De Marco - Insert del Item Report - Import Pregressi - /*item.id_pregresso = report.system_id*/
        public string InsertItemReportPregressi(DocsPaVO.Import.Pregressi.ItemReportPregressi item, string idReport)
        {
            string id_item = string.Empty;

            try
            {
                using (DocsPaDB.DBProvider dbProvider = new DBProvider())
                {
                    dbProvider.BeginTransaction();

                    Query query = InitQuery.getInstance().getQuery("I_DPA_ASS_PREGRESSI");

                    query.setParam("paramA", DocsPaDbManagement.Functions.Functions.GetSystemIdColName());
                    query.setParam("paramB", DocsPaDbManagement.Functions.Functions.GetSystemIdNextVal("DPA_ASS_PREGRESSI"));
                    query.setParam("id_pregresso", idReport);
                    if (!string.IsNullOrEmpty(item.idRegistro))
                    {
                        query.setParam("id_registro", item.idRegistro);
                    }
                    else
                    {
                        query.setParam("id_registro", "null");
                    }

                    //query.setParam("id_documento", item.idDocumento);
                    if (!string.IsNullOrEmpty(item.idUtente))
                    {
                        query.setParam("id_utente", item.idUtente);
                    }
                    else
                    {
                        query.setParam("id_utente", "null");
                    }
                    if (!string.IsNullOrEmpty(item.idRuolo))
                    {
                        query.setParam("id_ruolo", item.idRuolo);
                    }
                    else
                    {
                        query.setParam("id_ruolo", "null");
                    }
                    query.setParam("tipo_operazione", item.tipoOperazione);
                    query.setParam("data", DocsPaDbManagement.Functions.Functions.ToDate(item.data));
                    query.setParam("id_num_proto_excel", item.idNumProtocolloExcel);

                    string commandText = query.getSQL();
                    System.Diagnostics.Debug.WriteLine("SQL - InsertItemReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + commandText);
                    logger.Debug("SQL - InsertItemReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + commandText);
                    //dbProvider.ExecuteNonQuery(commandText);
                    if (!dbProvider.ExecuteNonQuery(commandText))
                    {
                        dbProvider.RollbackTransaction();
                        throw new Exception();
                    }
                    else
                    {
                        // Recupero IdItem appena inserito
                        string sql = DocsPaDbManagement.Functions.Functions.GetQueryLastSystemIdInserted("DPA_ASS_PREGRESSI");
                        System.Diagnostics.Debug.WriteLine("SQL - InsertItemReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + sql);
                        logger.Debug("SQL - InsertItemReportPregressi - DocsPaDB/ImportPregressi.cs - QUERY : " + sql);
                        dbProvider.ExecuteScalar(out id_item, sql);

                        dbProvider.CommitTransaction();
                    }
                }
            }
            catch (Exception e)
            {
                id_item = string.Empty;
                logger.Debug(e.Message);
            }

            return(id_item);
        }
示例#16
0
        public DocsPaVO.Import.Pregressi.ReportPregressi GetReportPregressi(string sysId, bool getItems)
        {
            DocsPaVO.Import.Pregressi.ReportPregressi result = null;
            try
            {
                DataSet ds_report = new DataSet();


                using (DocsPaDB.DBProvider dbProvider = new DBProvider())
                {
                    //Prendo il Report in base al system_id
                    Query query_report = InitQuery.getInstance().getQuery("S_GET_REPORT_PREGRESSO_BY_SYSTEMID");
                    query_report.setParam("system_id", sysId);

                    string commandText = query_report.getSQL();
                    logger.Debug(commandText);

                    dbProvider.ExecuteQuery(ds_report, "ReportById", commandText);
                    //dbProvider.ExecuteQuery(ds_report, query_report.ToString());
                    //Fine Query

                    if (ds_report != null && ds_report.Tables[0].Rows.Count > 0)
                    {
                        result = new DocsPaVO.Import.Pregressi.ReportPregressi();
                        result.itemPregressi = new List <DocsPaVO.Import.Pregressi.ItemReportPregressi>();
                        foreach (DataRow row in ds_report.Tables[0].Rows)
                        {
                            result.systemId         = row["SYSTEM_ID"].ToString();
                            result.idAmm            = row["ID_AMM"].ToString();
                            result.idUtenteCreatore = row["ID_UTENTE_CREATORE"].ToString();
                            result.idRuoloCreatore  = row["ID_RUOLO_CREATORE"].ToString();
                            result.dataEsecuzione   = row["DATA_ESECUZIONE"].ToString();
                            result.dataFine         = row["DATA_FINE"].ToString();
                            result.numDoc           = row["NUM_DOC"].ToString();

                            if (getItems)
                            {
                                DataSet ds_item = new DataSet();

                                //Query per il popolamento della lista di itemReportPregressi
                                //Query:
                                Query query_item = InitQuery.getInstance().getQuery("S_GET_ITEM_REPORT_PREGRESSO_BY_SYSTEMID");
                                query_item.setParam("id_report", sysId);

                                string commandText_item = query_item.getSQL();
                                logger.Debug(commandText_item);

                                dbProvider.ExecuteQuery(ds_item, "ItemReport", commandText_item);
                                //dbProvider.ExecuteQuery(ds_item, query_item.ToString());

                                foreach (DataRow row_item in ds_item.Tables[0].Rows)
                                {
                                    DocsPaVO.Import.Pregressi.ItemReportPregressi item = new DocsPaVO.Import.Pregressi.ItemReportPregressi();
                                    //Popolamento:
                                    item.systemId             = row_item["SYSTEM_ID"].ToString();
                                    item.idPregresso          = row_item["ID_PREGRESSO"].ToString();
                                    item.idRegistro           = row_item["ID_REGISTRO"].ToString();
                                    item.idDocumento          = row_item["ID_DOCUMENTO"].ToString();
                                    item.idUtente             = row_item["ID_UTENTE"].ToString();
                                    item.idRuolo              = row_item["ID_RUOLO"].ToString();
                                    item.tipoOperazione       = row_item["TIPO_OPERAZIONE"].ToString();
                                    item.data                 = row_item["DATA"].ToString();
                                    item.errore               = row_item["ERRORE"].ToString();
                                    item.esito                = row_item["ESITO"].ToString();
                                    item.idNumProtocolloExcel = row_item["ID_NUM_PROTO_EXCEL"].ToString();

                                    //Get degli Allegati
                                    item.Allegati = GetAllegatiByIdItem(item.systemId);

                                    //Inserimento:
                                    result.itemPregressi.Add(item);
                                    //result.AddItemReportPregressi(item);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Debug(e.Message);
                result = null;
            }

            return(result);
        }
示例#17
0
        public DataSet GetData(InfoUtente utente, List <FiltroRicerca> filters)
        {
            DataSet dataSet = new DataSet();

            using (DBProvider dbProvider = new DBProvider())
            {
                try
                {
                    Query query = InitQuery.getInstance().getQuery("S_AMM_CONS_REPORT_POLICY");

                    string idAmm              = filters.Where(f => f.argomento == "id_amm").FirstOrDefault().valore;
                    string codice             = filters.Where(f => f.argomento == "codice_policy").FirstOrDefault().valore;
                    string descrizione        = filters.Where(f => f.argomento == "descrizione_policy").FirstOrDefault().valore;
                    string dataEsecuzioneTipo = filters.Where(f => f.argomento == "data_esecuzione_tipo").FirstOrDefault().valore;
                    string dataEsecuzioneDa   = filters.Where(f => f.argomento == "data_esecuzione_da").FirstOrDefault().valore;
                    string dataEsecuzioneA    = filters.Where(f => f.argomento == "data_esecuzione_a").FirstOrDefault().valore;

                    string dbType = System.Configuration.ConfigurationManager.AppSettings["DBType"];

                    if (string.IsNullOrEmpty(idAmm) || idAmm == "0")
                    {
                        query.setParam("filtro_amm", string.Empty);
                    }
                    else
                    {
                        query.setParam("filtro_amm", " AND A.SYSTEM_ID = " + idAmm);
                    }
                    if (string.IsNullOrEmpty(codice))
                    {
                        query.setParam("filtro_codice", string.Empty);
                    }
                    else
                    {
                        query.setParam("filtro_codice", string.Format(" AND UPPER(P.VAR_CODICE) LIKE UPPER('%{0}%') ", codice));
                    }
                    if (string.IsNullOrEmpty(descrizione))
                    {
                        query.setParam("filtro_descrizione", string.Empty);
                    }
                    else
                    {
                        query.setParam("filtro_descrizione", string.Format(" AND UPPER(P.VAR_DESCRIZIONE) LIKE UPPER('%{0}%') ", descrizione));
                    }
                    if (dataEsecuzioneTipo == "S")
                    {
                        string cond = " AND DATA_ESECUZIONE_POLICY >=" + DocsPaDbManagement.Functions.Functions.ToDateBetween(dataEsecuzioneDa, true);
                        cond = cond + " AND DATA_ESECUZIONE_POLICY <=" + DocsPaDbManagement.Functions.Functions.ToDateBetween(dataEsecuzioneDa, false);
                        query.setParam("filtro_data", cond);
                    }
                    else if (dataEsecuzioneTipo == "R")
                    {
                        string cond = string.Empty;
                        if (!string.IsNullOrEmpty(dataEsecuzioneDa))
                        {
                            cond = cond + " AND DATA_ESECUZIONE_POLICY >= " + DocsPaDbManagement.Functions.Functions.ToDateBetween(dataEsecuzioneDa, true);
                        }
                        if (!string.IsNullOrEmpty(dataEsecuzioneA))
                        {
                            cond = cond + " AND DATA_ESECUZIONE_POLICY <=" + DocsPaDbManagement.Functions.Functions.ToDateBetween(dataEsecuzioneA, false);
                        }
                        query.setParam("filtro_data", cond);
                    }
                    else if (dataEsecuzioneTipo == "M")
                    {
                        string cond;
                        if (dbType.ToUpper() == "SQL")
                        {
                            cond = " AND DATA_ESECUZIONE_POLICY>=(SELECT DATEADD(dd,-(DAY(getdate())-1),getdate())) AND DATA_ESECUZIONE_POLICY<=(SELECT DATEADD(dd,-(DAY(DATEADD(mm,1,getdate()))),DATEADD(mm,1,getdate()))) ";
                        }
                        else
                        {
                            cond = " AND DATA_ESECUZIONE_POLICY>= Trunc(Sysdate,'MM')    AND DATA_ESECUZIONE_POLICY<(Sysdate+1 ) ";
                        }
                        query.setParam("filtro_data", cond);
                    }

                    string command = query.getSQL();
                    logger.Debug("QUERY: " + command);

                    if (!dbProvider.ExecuteQuery(out dataSet, command))
                    {
                        throw new Exception(dbProvider.LastExceptionMessage);
                    }
                }
                catch (Exception ex)
                {
                    logger.Debug(ex);
                    dataSet = null;
                }
            }

            return(dataSet);
        }
示例#18
0
        /// <summary>
        /// Metodo per il salvataggio delle informazioni su una ricevuta di conferma di ricezione
        /// </summary>
        /// <param name="senderRecordInfo">Informazioni sul protocollo in uscita</param>
        /// <param name="receiverRecordInfo">Informazioni sul protocollo ricevuto</param>
        /// <param name="receiverUrl">Url del mittente</param>
        /// <returns>Esto dell'aggiornamento</returns>
        public bool SaveReceivedProofData(RecordInfo senderRecordInfo, RecordInfo receiverRecordInfo, String receiverUrl, String receiverCode)
        {
            // Splitting dei codici dei corrispondenti (i codici arrivano come codici di corrispondenti nella loro
            // ultima versione, ma è possibile che da quando è stato creato il documento, il corrispondente abbia subito
            // delle storicizzazioni
            String[] corrs = receiverCode.Split(',');


            Query query = InitQuery.getInstance().getQuery("U_SET_RECEIVED_PROOF_DATA");

            // Recupero dell'id dell'amministrazione mittente
            String administrationId = new Amministrazione().GetIDAmm(senderRecordInfo.AdministrationCode);

            // Costruzione informazioni sul protocollo ricevuto
            String protoRec = String.Format("{0}{1}{2}{1}{3}",
                                            receiverRecordInfo.RecordNumber,
                                            DocsPaDB.Utils.Personalization.getInstance(administrationId).getSepSegnatura(),
                                            receiverRecordInfo.AOOCode,
                                            receiverRecordInfo.RecordDate.Year);

            query.setParam("receiverProtoRec", protoRec);
            query.setParam("receiverProtoDate", receiverRecordInfo.RecordDate.ToString("dd/MM/yyyy HH:mm:ss"));
            query.setParam("senderRecordNumber", senderRecordInfo.RecordNumber);
            query.setParam("senderProtoDate", senderRecordInfo.RecordDate.ToString("dd/MM/yyyy HH:mm:ss"));
            query.setParam("receiverAooCode", receiverRecordInfo.AOOCode);
            query.setParam("receiverAdmCode", receiverRecordInfo.AdministrationCode);
            query.setParam("senderAdmCode", senderRecordInfo.AdministrationCode);
            query.setParam("senderAooCode", senderRecordInfo.AOOCode);
            query.setParam("receiverUrl", receiverUrl);

            if (dbType.ToUpper().Equals("SQL"))
            {
                List <string> idCorr    = new List <string>();
                string        condition = string.Empty;
                DataSet       ds;
                //selezione degli id associati alla storia dei corrispondenti, destinatari di una spedizione
                if (this.ExecuteQuery(out ds, "corr", this.GetCorrUnion(corrs).ToString()))
                {
                    if (ds.Tables["corr"] != null && ds.Tables["corr"].Rows.Count > 0)
                    {
                        foreach (DataRow row in ds.Tables["corr"].Rows)
                        {
                            idCorr.Add(row["SYSTEM_ID"].ToString());
                        }
                        string listSystemId = string.Empty;
                        foreach (string id in idCorr)
                        {
                            listSystemId += string.IsNullOrEmpty(listSystemId) ? " '" + id + "'" : " ,'" + id + "'";
                        }
                        condition = listSystemId;
                        query.setParam("receiverCode", condition);
                    }
                }
            }
            else
            {
                query.setParam("receiverCode", this.GetCorrUnion(corrs));
            }

            logger.Debug(query.getSQL());

            using (DBProvider dbProvider = new DBProvider())
            {
                return(dbProvider.ExecuteNonQuery(query.getSQL()));
            }
        }