Beispiel #1
0
        /// <summary>
        /// Impostazione del blocco sul documento nel documentale hummingbird
        /// </summary>
        /// <param name="documentNumber"></param>
        /// <param name="documentLocation"></param>
        /// <param name="idUser"></param>
        /// <param name="library"></param>
        /// <returns></returns>
        public static bool Lock(string documentNumber, string documentLocation, string idUser, string dst, string library)
        {
            bool retValue = false;

            try
            {
                PCDCLIENTLib.PCDDocObject obj = new PCDCLIENTLib.PCDDocObjectClass();

                //impostazione del DST
                obj.SetDST(dst);

                //impostiamo la libreria
                obj.SetProperty("%TARGET_LIBRARY", library);

                //impostiamo la form
                obj.SetObjectType("DEF_PROF");

                //specifichiamo il documento
                obj.SetProperty("%OBJECT_IDENTIFIER", documentNumber);

                obj.SetProperty("%CHECKIN_LOCATION", documentLocation);

                //impostiamo lo stato del documento a checkout
                //e creiamo una entry nella tabella checkout
                obj.SetProperty("%STATUS", "%LOCK_FOR_CHECKOUT");

                //la modifica del documento è legata al particolare utente
                obj.SetProperty("%TYPIST", idUser);

                //COMMENTI__________________________________________________________________________________________________
                //PER I COMMENTI SCEGLIERE UNA DELLE DUE OPZIONI SEGUENTI:

                //impostiamo nei commenti l'utente e la data
                //obj.SetProperty("%CHECKOUT_COMMENTS",infoUtente.idPeople + Convert.ToString(DateTime.Now));

                //Recuperiamo la descrizione dell'utente
                //string user = getUserDesc(infoUtente.idPeople,co);

                //impostiamo i commenti a quanto ci viene passato dal front
                obj.SetProperty("%CHECKOUT_COMMENTS", string.Empty);
                //__________________________________________________________________________________________________________

                obj.Update();

                retValue = (obj.ErrNumber == 0);

                if (!retValue)
                {
                    logger.Debug("Lock ERROR:" + obj.ErrDescription);
                }
            }
            catch (Exception ex)
            {
                logger.Debug("Lock ERROR:" + ex.Message);

                throw ex;
            }

            return(retValue);
        }
Beispiel #2
0
        /// <summary>
        /// Rimozione del blocco sul documento nel documentale hummingbird
        /// </summary>
        /// <param name="documentNumber"></param>
        /// <param name="dst"></param>
        /// <param name="library"></param>
        /// <returns></returns>
        public static bool UnLock(string documentNumber, string dst, string library)
        {
            bool retValue = false;

            try
            {
                if (dst != null && dst != string.Empty && library != null && library != string.Empty)
                {
                    PCDCLIENTLib.PCDDocObject obj = new PCDCLIENTLib.PCDDocObjectClass();

                    //impostazione del DST
                    obj.SetDST(dst);

                    //impostiamo la libreria
                    obj.SetProperty("%TARGET_LIBRARY", library);

                    //impostiamo la form
                    obj.SetObjectType("DEF_PROF");

                    //specifichiamo il documento
                    obj.SetProperty("%OBJECT_IDENTIFIER", documentNumber);

                    obj.SetProperty("%STATUS", "%UNLOCK");

                    obj.SetProperty("%CHECKIN_DATE", DateTime.Now.ToString());

                    obj.Update();

                    retValue = (obj.ErrNumber == 0);

                    if (!retValue)
                    {
                        logger.Debug("UnLock ERROR:" + obj.ErrDescription);
                    }
                }
                else
                {
                    // Rimozione manuale del blocco sul documento,
                    // qualora non vengano forniti i parametri dst e library
                    retValue = ManualUnlock(documentNumber);
                }
            }
            catch (Exception ex)
            {
                logger.Debug("UnLock ERROR:" + ex.Message);

                retValue = false;
            }

            return(retValue);
        }