Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }