public string GetArchiveNameByCode(string stGuidConnect, short Code) { //Controllo se non è stato aperto già un File di Log string sArchiveName = ""; //istanzio l'oggetto SvAol.Session SVAOLLib.Session oSession = new SVAOLLib.Session(); try { oSession.GUIDconnect = stGuidConnect; //Inizializzo gli oggetti SvAol. SVAOLLib.Archives oArchives = new SVAOLLib.Archives(); //Recupero tutti gli Archivi. oArchives = (SVAOLLib.Archives)oSession.GetArchives(0, 0); //il secondo argomento è false //Cerco l'archivio con nome #stName#. foreach (SVAOLLib.Archive oArchive in oArchives) { if (oArchive.Id == Code) { _Logger.WriteOnLog(_sLogId, "NomeArchivio: " + _Logger.ToJson(oArchive.Description), 3); sArchiveName = oArchive.Description; break; } } } catch (Exception e) { _Logger.WriteOnLog(_sLogId, e.StackTrace, 1); _Logger.WriteOnLog(_sLogId, "ERRORE NELL'ESECUZIONE DI : GetArchiveByName", 1); _Logger.WriteOnLog(_sLogId, e.Source + " " + e.Message, 1); throw new Exception(String.Format("{0}>>{1}>>{2}", "ERRORE : GetArchiveByName", e.Source, e.Message), e); } finally { } return(sArchiveName); }
public List <string> SearchCardsByField(string stGuidConnect, string stArchive, string stDocType, long lFieldID, string stFieldValueFrom, string stFieldValueTo, string userId) { //Controllo se non è stato aperto già un File di Log List <string> lResult = new List <string>(); //istanzio i Manager che mi servono //Inizializzo l'oggetto SvAol.Session SVAOLLib.Session oSession = new SVAOLLib.Session(); SVAOLLib.User oUser = new SVAOLLib.User(); try { if (stGuidConnect != null) { oUser.GUIDconnect = stGuidConnect; oUser.UserID = userId.ToUpper(); oUser.LoadFromUserID(userId.ToUpper()); //istanzio gli oggetti svaol SVAOLLib.Archive oArchive = new SVAOLLib.Archive(); SVAOLLib.DocumentType oDocType = new SVAOLLib.DocumentType(); SVAOLLib.SearchCriteria oSearchCriteria = new SVAOLLib.SearchCriteria(); SVAOLLib.Archives oArchives = new SVAOLLib.Archives(); SVAOLLib.Fields oFields = new SVAOLLib.Fields(); object[] aCardsAsArray; long lCardsCount, lSearchRes; //recupero l'archivioo e il tipo documento Int16 idTipoDocumento = 0; Int16 idTipoArchivio = 0; using (var oDocManager = new DocManager(_Logger, _sLogId)) { idTipoDocumento = oDocManager.GetIdDocTypeByName(stGuidConnect, stDocType); } oDocType.Id = idTipoDocumento; oDocType.GUIDconnect = stGuidConnect; oDocType.LoadDocumentTypeFromId(); using (var oDocManager = new DocManager(_Logger, _sLogId)) { idTipoArchivio = oDocManager.GetIdArchiveByName(stGuidConnect, stArchive); } oArchive.GUIDconnect = stGuidConnect; oArchive.Id = idTipoArchivio; oArchive.LoadFromId(); //Inizializzo l'oggetto Session oSession.GUIDconnect = stGuidConnect; //Aggiungo l'archivio all'oggetto relativo ai criteri di ricerca oArchives.Add(oArchive, null); oSearchCriteria.Archives = oArchives; //Aggiungo il tipo documento all'oggetto relativo ai criteri di ricerca oSearchCriteria.DocType = oDocType; //Inserisco l'ambito della ricerca oSearchCriteria.Context = SVAOLLib.svContextSearch.svCsBoth; //Inserisco il tipo di ricerca oSearchCriteria.SearchType = SVAOLLib.svSearchType.svStIndexes; //Inserisco l'informazione sull'utente collegato oSearchCriteria.CntUser = oUser.Code; //Chiave di ricerca foreach (SVAOLLib.Field oField in (SVAOLLib.Fields)oDocType.Fields) { if ((long)oField.Id == lFieldID) { oField.Value = stFieldValueFrom; oField.ValueTo = stFieldValueTo; oFields.Add(oField, null); break; } } //Eseguo la ricerca oSearchCriteria.Fields = oFields; aCardsAsArray = (object[])oSession.SearchAsArray(oSearchCriteria, 0); lSearchRes = (long)oSearchCriteria.SearchResult; lCardsCount = aCardsAsArray.GetUpperBound(0); // Controllo che mi sia tornata una Card valida if (lCardsCount > 0) { //assegno la GuidCard della scheda trovata for (int i = 1; i < lCardsCount + 1; i++) { lResult.Add(aCardsAsArray[i].ToString().Substring(24)); } } } } catch (Exception e) { throw new Exception(String.Format("{0} >> {1}: {2}", "ERRORE: SearchCardByField", e.Source, e.Message), e); } finally { } return(lResult); }