/// <summary> /// </summary> /// <param name="utente"></param> /// <param name="ruolo"></param> /// <param name="tipoObj"></param> /// <param name="tipoDoc"></param> /// <param name="tipoFasc"></param> /// <param name="numPage"></param> /// <param name="numTotPage"></param> /// <param name="nRec"></param> /// <returns></returns> public static DocsPaVO.areaLavoro.AreaLavoro getAreaLavoroPaging(DocsPaVO.utente.Utente utente, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.areaLavoro.TipoOggetto tipoObj, DocsPaVO.areaLavoro.TipoDocumento tipoDoc, DocsPaVO.areaLavoro.TipoFascicolo tipoFasc, string idRegistro, bool enableUffRef, string chaDaProto, int numPage, out int numTotPage, out int nRec, DocsPaVO.filtri.FiltroRicerca[][] query = null) { //DocsPaWS.Utils.Database db=DocsPaWS.Utils.dbControl.getDatabase(); DataSet dataSet; DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); DocsPaVO.areaLavoro.AreaLavoro al = new DocsPaVO.areaLavoro.AreaLavoro(); try { //db.openConnection(); string idPeople = utente.idPeople; string idRuoloInUo = ruolo.systemId; //DocsPaVO.areaLavoro.QueryAreaLavoro qal = new DocsPaVO.areaLavoro.QueryAreaLavoro(); //costruzione della query //doc.GetAreaLavoro(out dataSet, idPeople, idRuoloInUo, tipoObj, tipoDoc, tipoFasc); doc.GetAreaLavoroPaging(out dataSet, idPeople, idRuoloInUo, tipoObj, tipoDoc, tipoFasc, idRegistro, chaDaProto, numPage, out numTotPage, out nRec, query); #region codice originale /*string queryString="SELECT * FROM DPA_AREA_LAVORO WHERE ID_PEOPLE='"+idPeople+"' AND ID_RUOLO_IN_UO='"+idRuoloInUo+"'"; * if(tipoObj==DocsPaVO.areaLavoro.TipoOggetto.DOCUMENTO) * { * queryString=queryString+" AND ID_PROFILE IS NOT NULL"; * if(tipoDoc!=DocsPaVO.areaLavoro.TipoDocumento.TUTTI){ * queryString=queryString+" AND CHA_TIPO_DOC='"+DocsPaVO.areaLavoro.QueryAreaLavoro.tipoDocString[tipoDoc]+ "'"; * } * } * else * { * queryString=queryString+" AND ID_PROJECT IS NOT NULL"; * if(tipoFasc!=DocsPaVO.areaLavoro.TipoFascicolo.TUTTI) * { * queryString=queryString+" AND CHA_TIPO_FASC='"+DocsPaVO.areaLavoro.QueryAreaLavoro.tipoFascString[tipoFasc]+"'"; * } * } * logger.Debug(queryString); * db.fillTable(queryString,dataSet,"OGGETTI"); */ #endregion //si riempie la lista if (tipoObj == DocsPaVO.areaLavoro.TipoOggetto.DOCUMENTO) { logger.Debug("lista documenti"); foreach (DataRow dr in dataSet.Tables["PagingTable"].Rows) { DocsPaVO.documento.InfoDocumento id = new DocsPaVO.documento.InfoDocumento(); id.idProfile = dr["ID_PROFILE"].ToString(); id.tipoProto = dr["CHA_TIPO_DOC"].ToString(); id.docNumber = dr["DOCNUMBER"].ToString(); //DocsPaVO.utente.InfoUtente infoUtente=new DocsPaVO.utente.InfoUtente(utente,ruolo); /* mod sab * DocsPaVO.documento.SchedaDocumento sd=DocManager.getDettaglio(id,sic); * //DocsPaVO.documento.Documento doc=(DocsPaVO.documento.Documento) sd.documenti[0]; * DocsPaVO.documento.InfoDocumento infoDoc=new DocsPaVO.documento.InfoDocumento(sd); */ //nuovo DocsPaDB.Query_DocsPAWS.Documenti documento = new DocsPaDB.Query_DocsPAWS.Documenti(); DocsPaVO.documento.InfoDocumento infoDoc; infoDoc = documento.GetInfoDocumento(ruolo.idGruppo, utente.idPeople, id.docNumber, true); //fine nuovo if (infoDoc != null) { infoDoc.tipoProto = dr["CHA_TIPO_DOC"].ToString(); al.lista.Add(infoDoc); } } } else { logger.Debug("lista fascicoli"); foreach (DataRow dr in dataSet.Tables["DPA_AREA_LAVORO"].Rows) { DocsPaVO.fascicolazione.InfoFascicolo infoFasc = new DocsPaVO.fascicolazione.InfoFascicolo(); infoFasc.idFascicolo = dr["ID_PROJECT"].ToString(); DocsPaVO.utente.InfoUtente sic = new DocsPaVO.utente.InfoUtente(utente, ruolo); //Federica 5 ott 2005 DocsPaVO.fascicolazione.Fascicolo fasc = BusinessLogic.Fascicoli.FascicoloManager.getDettaglio(sic, infoFasc, enableUffRef); if (fasc == null) { logger.Debug("Errore nella gestione dell'area lavoro (getAreaLavoroPaging)"); //TODO: gestire la throw throw new Exception(); } fasc.tipo = dr["CHA_TIPO_FASC"].ToString(); al.lista.Add(fasc); } } // db.closeConnection(); return(al); } catch (Exception e) { logger.Debug("Errore nella gestione dell'area lavoro (getAreaLavoroPaging)", e); //db.closeConnection(); throw e; } }