/// <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); }
/// <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); }