/// <summary> /// Creazione oggetto amministrazione /// </summary> /// <param name="reader"></param> /// <returns></returns> private static InfoAmministrazione GetInfoAmministrazione(IDataReader reader) { InfoAmministrazione amm = new InfoAmministrazione(); amm.Codice = DataReaderHelper.GetValue <string>(reader, "CODICE", false); logger.Debug("codice amministrazioni trovata: " + amm.Codice); amm.IDAmm = DataReaderHelper.GetValue <string>(reader, "ID", false); logger.Debug("ID amministrazioni trovata: " + amm.IDAmm); amm.Descrizione = DataReaderHelper.GetValue <string>(reader, "DESCR", false); amm.LibreriaDB = DataReaderHelper.GetValue <string>(reader, "LIBRERIA", true, string.Empty); amm.Segnatura = DataReaderHelper.GetValue <string>(reader, "SEGN", true, string.Empty); amm.Fascicolatura = DataReaderHelper.GetValue <string>(reader, "FASC", true, string.Empty); amm.Dominio = DataReaderHelper.GetValue <string>(reader, "DOMINIO", true, string.Empty); amm.ServerSMTP = DataReaderHelper.GetValue <string>(reader, "SMTP", true, string.Empty); amm.PortaSMTP = DataReaderHelper.GetValue <string>(reader, "PORTASMTP", true, string.Empty); amm.UserSMTP = DataReaderHelper.GetValue <string>(reader, "USERSMTP", true, string.Empty); amm.PasswordSMTP = DataReaderHelper.GetValue <string>(reader, "PWDSMTP", true, string.Empty); amm.IDRagioneTO = DataReaderHelper.GetValue <string>(reader, "RAGTO", true, string.Empty); //DocsPaUtils.LogsManagement.Debugger.Write("amministrazioni trovata IDRagioneTO: " + amm.IDRagioneTO); amm.IDRagioneCC = DataReaderHelper.GetValue <string>(reader, "RAGCC", true, string.Empty); amm.GGPermanenzaTDL = DataReaderHelper.GetValue <string>(reader, "GG_TDL", true, string.Empty); amm.AttivaGGPermanenzaTDL = DataReaderHelper.GetValue <string>(reader, "A_GG_TDL", true, string.Empty); amm.SslSMTP = DataReaderHelper.GetValue <string>(reader, "SMTP_SSL", true, string.Empty); amm.StaSMTP = DataReaderHelper.GetValue <string>(reader, "SMTP_STA", true, string.Empty); amm.FromEmail = DataReaderHelper.GetValue <string>(reader, "FROM_EMAIL", true, string.Empty); amm.IDRagioneCompetenza = DataReaderHelper.GetValue <object>(reader, "RAGCOMP", true, string.Empty).ToString(); amm.IDRagioneConoscenza = DataReaderHelper.GetValue <string>(reader, "RAGCONO", true, string.Empty); return(amm); }
/// <summary> /// /// </summary> /// <param name="row"></param> /// <param name="infoUtente"></param> /// <returns></returns> private static DocsPaVO.fascicolazione.Folder GetFolder(DataRow row, InfoUtente infoUtente) { DocsPaVO.fascicolazione.Folder folder = new DocsPaVO.fascicolazione.Folder(); folder.systemID = DataReaderHelper.GetValue <object>(row, "SYSTEM_ID", false).ToString(); folder.descrizione = DataReaderHelper.GetValue <object>(row, "DESCRIPTION", true, string.Empty).ToString(); folder.idFascicolo = DataReaderHelper.GetValue <object>(row, "ID_FASCICOLO", false).ToString(); folder.idParent = DataReaderHelper.GetValue <object>(row, "ID_PARENT", false).ToString(); using (DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider()) { DataSet dsFolderChilds = new DataSet(); if (dbProvider.ExecuteQuery(dsFolderChilds, GetQueryFolderChilds(infoUtente, folder.systemID))) { foreach (DataRow rowChild in dsFolderChilds.Tables[0].Rows) { DocsPaVO.fascicolazione.Folder child = GetFolder(rowChild, infoUtente); folder.childs.Add(child); } } } return(folder); }
/// <summary> /// /// </summary> /// <param name="idFascicolo"></param> /// <returns></returns> private static string[] GetListaSottofascicoli(string idFascicolo) { List <string> list = new List <string>(); using (DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider()) { using (IDataReader reader = dbProvider.ExecuteReader(GetQueryFolders(null, idFascicolo))) { while (reader.Read()) { list.Add(DataReaderHelper.GetValue <object>(reader, "system_id", false).ToString()); } } } return(list.ToArray()); }
/// <summary> /// Creazione oggetto titolario /// </summary> /// <param name="row"></param> /// <param name="infoUtente"></param> /// <param name="amministrazione"></param> /// <returns></returns> private static OrgTitolario GetTitolario(DataRow row, InfoUtente infoUtente, InfoAmministrazione amministrazione) { OrgTitolario titolario = new OrgTitolario(); titolario.ID = DataReaderHelper.GetValue <object>(row, "IDRECORD", false).ToString(); titolario.Codice = CODICE_TITOLARIO; titolario.CodiceAmministrazione = amministrazione.Codice; titolario.Descrizione = DataReaderHelper.GetValue <string>(row, "DESCRIZIONE", false); titolario.SetStatoTitolario(DataReaderHelper.GetValue <string>(row, "CHA_STATO", false)); titolario.DataAttivazione = DataReaderHelper.GetValue <DateTime>(row, "DTA_ATTIVAZIONE", false).ToString(); if (titolario.Stato == OrgStatiTitolarioEnum.Chiuso) { titolario.DataCessazione = DataReaderHelper.GetValue <DateTime>(row, "DTA_CESSAZIONE", false).ToString(); } titolario.Commento = DataReaderHelper.GetValue <string>(row, "VAR_NOTE", false); return(titolario); }
/// <summary> /// /// </summary> /// <param name="row"></param> /// <param name="infoUtente"></param> /// <returns></returns> private static DocsPaVO.fascicolazione.Fascicolo GetFascicolo(DataRow row, InfoUtente infoUtente) { DocsPaVO.fascicolazione.Fascicolo fascicolo = new DocsPaVO.fascicolazione.Fascicolo(); fascicolo.systemID = DataReaderHelper.GetValue <object>(row, "SYSTEM_ID", false).ToString(); fascicolo.apertura = DataReaderHelper.GetValue <object>(row, "DTA_APERTURA", true, string.Empty).ToString(); fascicolo.chiusura = DataReaderHelper.GetValue <object>(row, "DTA_CHIUSURA", true, string.Empty).ToString(); fascicolo.codice = DataReaderHelper.GetValue <object>(row, "VAR_CODICE", false).ToString(); fascicolo.descrizione = DataReaderHelper.GetValue <object>(row, "DESCRIPTION", false).ToString(); fascicolo.stato = DataReaderHelper.GetValue <object>(row, "CHA_STATO", true, string.Empty).ToString(); fascicolo.tipo = DataReaderHelper.GetValue <object>(row, "CHA_TIPO_FASCICOLO", false).ToString(); fascicolo.idClassificazione = DataReaderHelper.GetValue <object>(row, "ID_PARENT", true, string.Empty).ToString(); fascicolo.codUltimo = DataReaderHelper.GetValue <object>(row, "VAR_COD_ULTIMO", true, string.Empty).ToString(); fascicolo.idRegistroNodoTit = DataReaderHelper.GetValue <object>(row, "ID_REGISTRO", true, string.Empty).ToString(); fascicolo.codiceRegistroNodoTit = DataReaderHelper.GetValue <object>(row, "CODREG", true, string.Empty).ToString(); fascicolo.idTitolario = DataReaderHelper.GetValue <object>(row, "ID_PARENT", true, string.Empty).ToString(); fascicolo.cartaceo = (Convert.ToInt32(DataReaderHelper.GetValue <object>(row, "CARTACEO", true, 0)) > 0); fascicolo.privato = DataReaderHelper.GetValue <object>(row, "CHA_PRIVATO", true, string.Empty).ToString(); return(fascicolo); }
/// <summary> /// Implementazione della logica del task di migrazione dati /// per tutti i titolari di una singola amministrazione DocsPa /// </summary> /// <param name="infoUtente"></param> /// <param name="amministrazione"></param> internal static void ImportaTitolari(InfoUtente infoUtente, InfoAmministrazione amministrazione) { using (DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider()) { // 1. Reperimento titolari per l'amministrazione using (DataSet ds = new DataSet()) { if (dbProvider.ExecuteQuery(ds, GetQueryTitolari(infoUtente, amministrazione))) { //DocsPaDocumentale_DOCUMENTUM.Documentale.TitolarioManager titolarioManager = new DocsPaDocumentale_DOCUMENTUM.Documentale.TitolarioManager(infoUtente); foreach (DataRow row in ds.Tables[0].Rows) { string codice = DataReaderHelper.GetValue <string>(row, "CODICE", false); if (codice == CODICE_TITOLARIO) { // 2. Import titolario OrgTitolario titolario = GetTitolario(row, infoUtente, amministrazione); /* * if (titolarioManager.SaveTitolario(titolario)) * Log.GetInstance(amministrazione).Write(string.Format("Migrazione titolario. Codice: '{0}' - Descrizione: '{1}'", titolario.Codice, titolario.Descrizione), false); * else * // 2a. Errore nell'inserimento del titolario * throw new ApplicationException( * string.Format("Si è verificato un errore nell'import del titolario '{0}' per l'amministrazione '{1}'", * titolario.Codice, amministrazione.Codice));*/ } else { // 3. Import nodo titolario OrgNodoTitolario nodoTitolario = GetNodoTitolario(row, infoUtente, amministrazione); /* * if (titolarioManager.ContainsNodoTitolario(nodoTitolario.ID)) * { * // Nodo titolario già esistente, save dei dati con refresh delle entries dell'acl associata * titolarioManager.SaveNodoTitolario(nodoTitolario, true); * * Log.GetInstance(amministrazione).Write(string.Format("Migrazione nodo titolario. Codice: '{0}' - Descrizione: '{1}'. Aggiornamento.", nodoTitolario.Codice, nodoTitolario.Descrizione), false); * } * else * { * if (titolarioManager.SaveNodoTitolario(nodoTitolario)) * Log.GetInstance(amministrazione).Write(string.Format("Migrazione nodo titolario. Codice: '{0}' - Descrizione: '{1}'", nodoTitolario.Codice, nodoTitolario.Descrizione), false); * else * // 3a. Errore nell'inserimento del nodo titolario * throw new ApplicationException( * string.Format("Si è verificato un errore nell'import del nodo titolario '{0}' per l'amministrazione '{1}'", * nodoTitolario.Codice, amministrazione.Codice)); * }*/ } } } else { // 1a. Errore nel reperimento dei titolari per l'amministrazione throw new ApplicationException( string.Format("Si è verificato un errore nel reperimento dei titolari per l'amministrazione '{0}'", amministrazione.Codice)); } } } }
/// <summary> /// Creazione oggetto nodo di titolario /// </summary> /// <param name="row"></param> /// <param name="infoUtente"></param> /// <param name="amministrazione"></param> /// <returns></returns> private static OrgNodoTitolario GetNodoTitolario(DataRow row, InfoUtente infoUtente, InfoAmministrazione amministrazione) { OrgNodoTitolario nodoTitolario = new OrgNodoTitolario(); nodoTitolario.ID = DataReaderHelper.GetValue <decimal>(row, "IDRECORD", false).ToString(); nodoTitolario.Codice = DataReaderHelper.GetValue <string>(row, "CODICE", false); nodoTitolario.CodiceAmministrazione = amministrazione.Codice; nodoTitolario.Descrizione = DataReaderHelper.GetValue <string>(row, "DESCRIZIONE", false); nodoTitolario.Livello = DataReaderHelper.GetValue <decimal>(row, "LIVELLO", false).ToString(); string idRegistro = DataReaderHelper.GetValue <decimal>(row, "REGISTRO", true, 0).ToString(); if (idRegistro != "0") { nodoTitolario.IDRegistroAssociato = idRegistro.ToString(); } string idParent = DataReaderHelper.GetValue <decimal>(row, "IDPARENT", true, 0).ToString(); if (idParent != "0") { nodoTitolario.IDParentNodoTitolario = idParent.ToString(); } nodoTitolario.CodiceLivello = DataReaderHelper.GetValue <string>(row, "CODLIV", false); nodoTitolario.CountChildNodiTitolario = Int32.Parse(DataReaderHelper.GetValue <decimal>(row, "FIGLIO", false).ToString()); nodoTitolario.NumeroMesiConservazione = Int32.Parse(DataReaderHelper.GetValue <decimal>(row, "NUMMESICONSERVAZIONE", true).ToString()); string idTipoFasc = DataReaderHelper.GetValue <decimal>(row, "ID_TIPO_FASC", true).ToString(); if (idTipoFasc != "0") { nodoTitolario.ID_TipoFascicolo = idTipoFasc.ToString(); } nodoTitolario.bloccaTipoFascicolo = DataReaderHelper.GetValue <string>(row, "CHA_BLOCCA_FASC", true); string idTitolario = DataReaderHelper.GetValue <decimal>(row, "ID_TITOLARIO", true).ToString(); if (idTitolario != "0") { nodoTitolario.ID_Titolario = idTitolario.ToString(); } nodoTitolario.stato = DataReaderHelper.GetValue <string>(row, "CHA_STATO", true); DateTime dataAttivazione = DataReaderHelper.GetValue <DateTime>(row, "DTA_ATTIVAZIONE", true); if (default(DateTime) != dataAttivazione) { nodoTitolario.dataAttivazione = dataAttivazione.ToString(); } DateTime dataCessazione = DataReaderHelper.GetValue <DateTime>(row, "DTA_CESSAZIONE", true); if (default(DateTime) != dataCessazione) { nodoTitolario.dataCessazione = dataCessazione.ToString(); } nodoTitolario.note = DataReaderHelper.GetValue <string>(row, "VAR_NOTE", true); return(nodoTitolario); }