Exemple #1
0
        public string SetFieldValue(ref SVAOLLib.Fields oFields, long lIdField, string stValue)
        {
            //Controllo se non è stato aperto già un File di Log
            string SetFVal = "";  //valore di ritorno
            int    iCount, imax;

            imax = oFields.Count;

            try
            {
                for (iCount = 1; iCount < imax + 1; iCount++)
                {
                    //Campo protocollo interno

                    if ((long)((SVAOLLib.Field)oFields.Item(iCount)).Id == lIdField)
                    {
                        long ss = (long)((SVAOLLib.Field)oFields.Item(iCount)).Id;
                        ((SVAOLLib.Field)oFields.Item(iCount)).Value = stValue;
                        SetFVal = stValue;

                        break;
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception(String.Format("{0}>>{1}>>{2}", "ERRORE : SetFieldValue", e.Source, e.Message), e);
            }
            return(SetFVal);
        }
Exemple #2
0
 public Boolean SetSingleFieldValue(string GuidConnect, string CardId, long FieldId, string FieldValue)
 {
     try
     {
         SVAOLLib.Card   card   = GetCardFromId(GuidConnect, CardId);
         SVAOLLib.Fields fields = (SVAOLLib.Fields)card.Fields;
         string          result = SetFieldValue(ref fields, Convert.ToInt64(FieldId), FieldValue);
         card.Modify(0);
         return(true);
     }
     catch (Exception e)
     {
         throw new Exception(String.Format("{0}>>{1}>>{2}", "ERRORE : SetSingleFieldValue", e.Source, e.Message), e);
     }
 }
Exemple #3
0
        public object GetSingleFieldValue(string GuidConnect, string CardId, long FieldId, Boolean useInternalCard = false)
        {
            object result = null;

            SVAOLLib.Card card;

            try
            {
                card = GetCardFromId(GuidConnect, CardId);
                SVAOLLib.Fields fields = (SVAOLLib.Fields)card.Fields;

                foreach (SVAOLLib.Field f in fields)
                {
                    if ((long)f.Id == FieldId)
                    {
                        result = f.Value;
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(String.Format("{0} >> {1}: {2}", "ERRORE: FormatID", ex.Source, ex.Message), ex);
            }
            finally
            {
            }
            if (string.IsNullOrEmpty((string)result) == false)
            {
                return(result);
            }
            else
            {
                return("");
            }
        }
Exemple #4
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);
        }