Exemple #1
0
        /// <summary>
        /// Set the items in state CLOSED
        /// </summary>
        /// <returns></returns>
        public bool SetLookNextPasso(PassoFirma passo)
        {
            bool retVal = false;

            DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("U_NEXT_PASSO_AS_LOOK");
            q.setParam("Id_Processo", passo.idProcesso);
            q.setParam("Id_Documento", passo.idDocumeto);
            q.setParam("Id_Processo", passo.idProcesso);
            q.setParam("N_Sequenza", (passo.numeroSequenza + 1).ToString());

            string queryString = q.getSQL();

            logWriter.addLog(logWriter.DEBUG, queryString);

            try
            {
                this.ExecuteNonQuery(queryString);
            }
            catch (Exception ex)
            {
                logWriter.addLog(logWriter.ERRORE, ex.Message);
                retVal = false;
            }

            return(retVal);
        }
Exemple #2
0
        /// <summary>
        /// Seleziona l'url dell'icona in base al tipo di evento
        /// </summary>
        /// <param name="passo"></param>
        /// <returns></returns>
        public static string GetIconEventType(PassoFirma passo)
        {
            string url        = string.Empty;
            string tipoEvento = string.Empty;

            switch (passo.Evento.TipoEvento)
            {
            case LibroFirmaManager.TypeStep.EVENT:
                //url = "../Images/Icons/LibroFirma/event.png";
                if (!passo.IsAutomatico)
                {
                    url = passo.utenteCoinvolto != null && !string.IsNullOrEmpty(passo.utenteCoinvolto.idPeople) ? "../Images/Icons/LibroFirma/Event_People.png" : "../Images/Icons/LibroFirma/Event_Role.png";
                }
                else
                {
                    url = "../Images/Icons/LibroFirma/Event_Automatic.png";
                }
                break;

            case LibroFirmaManager.TypeStep.SIGN:
                tipoEvento = passo.Evento.CodiceAzione.ToLower();
                url        = passo.utenteCoinvolto != null && !string.IsNullOrEmpty(passo.utenteCoinvolto.idPeople) ? "../Images/Icons/LibroFirma/" + tipoEvento + "_user.png" : "../Images/Icons/LibroFirma/" + tipoEvento + "_role.png";
                break;

            case LibroFirmaManager.TypeStep.WAIT:
                tipoEvento = passo.Evento.CodiceAzione.ToLower();
                url        = "../Images/Icons/LibroFirma/" + tipoEvento + ".png";
                break;
            }
            return(url);
        }
 /// <summary>
 /// Aggiorna passo di firma
 /// </summary>
 /// <param name="passo"></param>
 /// <returns></returns>
 public static bool AggiornaPassoDiFirma(PassoFirma passo, int oldNumeroSequenza)
 {
     try
     {
         return(docsPaWS.AggiornaPassoDiFirma(passo, oldNumeroSequenza, UserManager.GetInfoUser()));
     }
     catch (System.Exception ex)
     {
         return(false);
     }
 }
 /// <summary>
 /// Rimozione del processo di firma
 /// </summary>
 /// <param name="processo"></param>
 /// <returns></returns>
 public static bool RimuoviPassoDiFirma(PassoFirma passo)
 {
     try
     {
         return(docsPaWS.RimuoviPassoDiFirma(passo, UserManager.GetInfoUser()));
     }
     catch (System.Exception ex)
     {
         return(false);
     }
 }
 public static PassoFirma InserisciPassoDiFirma(PassoFirma passo)
 {
     try
     {
         return(docsPaWS.InserisciPassoDiFirma(passo, UserManager.GetInfoUser()));
     }
     catch (System.Exception ex)
     {
         return(null);
     }
 }
Exemple #6
0
        /// <summary>
        /// Ritona la label del nodo di passo
        /// </summary>
        /// <param name="passo"></param>
        /// <returns></returns>
        public static string GetHolder(PassoFirma passo)
        {
            string holder = passo.numeroSequenza.ToString() + " - ";
            string user   = string.Empty;

            switch (passo.Evento.TipoEvento)
            {
            case LibroFirmaManager.TypeStep.EVENT:
                holder += passo.Evento.Descrizione + " - ";
                if (passo.ruoloCoinvolto != null && !string.IsNullOrEmpty(passo.ruoloCoinvolto.systemId))
                {
                    user    = (passo.utenteCoinvolto != null && !string.IsNullOrEmpty(passo.utenteCoinvolto.idPeople)) ? passo.utenteCoinvolto.descrizione : string.Empty;
                    holder += string.IsNullOrEmpty(user) ? passo.ruoloCoinvolto.descrizione : user + " (" + passo.ruoloCoinvolto.descrizione + ")";
                }
                else if (passo.TpoRuoloCoinvolto != null && !string.IsNullOrEmpty(passo.TpoRuoloCoinvolto.descrizione))
                {
                    holder += passo.TpoRuoloCoinvolto.descrizione;
                }
                else
                {
                    holder += ". . .";
                }
                break;

            case LibroFirmaManager.TypeStep.SIGN:
                if (passo.ruoloCoinvolto != null && !string.IsNullOrEmpty(passo.ruoloCoinvolto.systemId))
                {
                    user    = (passo.utenteCoinvolto != null && !string.IsNullOrEmpty(passo.utenteCoinvolto.idPeople)) ? passo.utenteCoinvolto.descrizione : string.Empty;
                    holder += string.IsNullOrEmpty(user) ? passo.ruoloCoinvolto.descrizione : user + " (" + passo.ruoloCoinvolto.descrizione + ")";
                }
                else if (passo.TpoRuoloCoinvolto != null && !string.IsNullOrEmpty(passo.TpoRuoloCoinvolto.descrizione))
                {
                    holder += passo.TpoRuoloCoinvolto.descrizione;
                }
                else
                {
                    holder += ". . .";
                }
                break;

            case LibroFirmaManager.TypeStep.WAIT:
                holder += Utils.Languages.GetLabelFromCode("SignatureProcessWait", UserManager.GetUserLanguage());
                break;
            }

            return(holder);
        }
Exemple #7
0
        /// <summary>
        /// Set the items in state CLOSED
        /// </summary>
        /// <returns></returns>
        public bool SetPassoClosed(PassoFirma passo)
        {
            bool retVal = false;

            DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("U_PASSO");
            q.setParam("Id_Passo", passo.idPasso);

            string queryString = q.getSQL();

            logWriter.addLog(logWriter.DEBUG, queryString);

            try
            {
                this.ExecuteNonQuery(queryString);
            }
            catch (Exception ex)
            {
                logWriter.addLog(logWriter.ERRORE, ex.Message);
                retVal = false;
            }

            return(retVal);
        }
Exemple #8
0
        /// <summary>
        /// Creates the list of notifications associated with the event
        /// </summary>
        public void ElaborateListOfEvents(string eventWithoutActor)
        {
            DocsPaVO.utente.Utente utente        = null;
            List <string>          listElaborati = new List <string>();

            foreach (Evento eventInSession in _listEvents)
            {
                PassoFirma passo = _dataLayersEvents.GetPassoDiFirma(eventInSession, eventWithoutActor);

                if (!string.IsNullOrEmpty(passo.idPasso))
                {
                    LF_Services.ClosePassoAndGetNextRequest getRequest = new LF_Services.ClosePassoAndGetNextRequest();
                    LF_Services.AddElementoInLFRequest      addRequest = new LF_Services.AddElementoInLFRequest();

                    if (utente == null || utente.IdPeople != eventInSession.idUtente || utente.Idruolo != eventInSession.idRuolo)
                    {
                        utente = ServiceUser(eventInSession.idUtente, eventInSession.idRuolo, passo.isAutomatico);
                    }

                    getRequest.UserName            = utente.Userid;
                    getRequest.CodeAdm             = utente.CodAmm;
                    getRequest.CodeRoleLogin       = utente.CodRuolo;
                    getRequest.AuthenticationToken = utente.AuthenticationToken; // "SSO=TEST";
                    getRequest.Delegato            = eventInSession.Delegato;

                    getRequest.IdIstanzaPasso    = passo.idPasso;
                    getRequest.IdIstanzaProcesso = passo.idProcesso;
                    getRequest.IdVersione        = passo.VersionId;
                    getRequest.IdDocumento       = passo.idDocumeto;
                    getRequest.OrdinePasso       = passo.numeroSequenza;
                    getRequest.DataEsecuzione    = eventInSession.DataInserimento;
                    getRequest.DocAll            = passo.docAll;

                    LF_Services.LibroFirmaClient LF_Client = new LF_Services.LibroFirmaClient();

                    LF_Services.ClosePassoAndGetNextResponse getResponse = LF_Client.ClosePassoAndGetNext(getRequest);

                    IstanzaPassoDiFirma nextPasso = convertIstanzaPasso(getResponse.IstanzaPasso);
                    if (nextPasso != null)
                    {
                        addRequest.UserName            = utente.Userid;
                        addRequest.CodeAdm             = utente.CodAmm;
                        addRequest.CodeRoleLogin       = utente.CodRuolo;
                        addRequest.AuthenticationToken = utente.AuthenticationToken;
                        addRequest.Delegato            = eventInSession.Delegato;

                        addRequest.IdPassoPrecedente = passo.idPasso;
                        addRequest.IdPasso           = nextPasso.idIstanzaPasso;
                        addRequest.Modalita          = "A";

                        LF_Services.AddElementoInLFResponse addResponse = LF_Client.AddElementoInLF(addRequest);
                    }
                }
                else
                {
                    //Verifico se ci sono eventi di interruzione processo
                }

                listElaborati.Add(eventInSession.idEvento);
            }

            if (listElaborati.Count > 0) // && 1==2)
            {
                _dataLayersEvents.DeleteEvent(listElaborati);
            }
        }
Exemple #9
0
        /// <summary>
        /// Returns the items passo di firma
        /// </summary>
        /// <returns></returns>
        public PassoFirma GetPassoDiFirma(Evento e, string eventWithoutActor)
        {
            PassoFirma passo = new PassoFirma();

            try
            {
                DataSet           ds = new DataSet();
                DocsPaUtils.Query q  = DocsPaUtils.InitQuery.getInstance().getQuery("S_PASSO");
                q.setParam("Var_Cod_Azione", e.codiceAzione.ToString());
                q.setParam("Id_Group", e.idRuolo.ToString());
                q.setParam("Id_Processo", e.idProcesso.ToString());
                q.setParam("Id_Documento", e.idDocumento.ToString());

                q.setParam("Id_People", e.idUtente);

                string queryString = q.getSQL();

                logWriter.addLog(logWriter.DEBUG, queryString);

                this.ExecuteQuery(out ds, "Items", q.getSQL());

                if (ds.Tables["Items"] != null && ds.Tables["Items"].Rows.Count > 0)
                {
                    DataRow dr = ds.Tables["Items"].Rows[0];
                    passo.idPasso           = dr["ID_ISTANZA_PASSO"].ToString();
                    passo.numeroSequenza    = Utils.ConvertField(dr["numero_Sequenza"].ToString());
                    passo.tipoFirma         = dr["tipo_Firma"].ToString();
                    passo.idDocumeto        = e.idDocumento;
                    passo.VersionId         = dr["version_id"].ToString();
                    passo.idProcesso        = e.idProcesso;
                    passo.idRuoloCoinvolto  = e.idRuolo;
                    passo.idUtenteCoinvolto = e.idUtente;
                    passo.tipoEvento        = e.tipoEvento;
                    passo.docAll            = dr["Doc_All"].ToString();
                    passo.isAutomatico      = string.IsNullOrEmpty(dr["CHA_AUTOMATICO"].ToString()) || !dr["CHA_AUTOMATICO"].ToString().Equals("1") ? false : true;
                }
                else if (!string.IsNullOrEmpty(eventWithoutActor))
                {
                    string[] eventWithoutActorList = eventWithoutActor.Split('|');

                    q = DocsPaUtils.InitQuery.getInstance().getQuery("S_PASSO_NO_ACTOR");

                    int    valCounter     = 0;
                    string conditionToAdd = string.Empty;
                    foreach (string tipoEvento in eventWithoutActorList)
                    {
                        if (valCounter > 0)
                        {
                            conditionToAdd = conditionToAdd + ",";
                        }

                        conditionToAdd = conditionToAdd + "'" + tipoEvento + "'";
                        valCounter++;
                    }
                    q.setParam("Var_Cod_Azione", e.codiceAzione.ToString());
                    q.setParam("Cha_Tipo_Azione", conditionToAdd);

                    q.setParam("Id_Processo", e.idProcesso.ToString());
                    q.setParam("Id_Documento", e.idDocumento.ToString());

                    queryString = q.getSQL();

                    logWriter.addLog(logWriter.DEBUG, queryString);

                    this.ExecuteQuery(out ds, "Items", q.getSQL());

                    if (ds.Tables["Items"] != null && ds.Tables["Items"].Rows.Count > 0)
                    {
                        DataRow dr = ds.Tables["Items"].Rows[0];
                        passo.idPasso           = dr["ID_ISTANZA_PASSO"].ToString();
                        passo.numeroSequenza    = Utils.ConvertField(dr["numero_Sequenza"].ToString());
                        passo.tipoFirma         = dr["tipo_Firma"].ToString();
                        passo.idDocumeto        = e.idDocumento;
                        passo.VersionId         = dr["version_id"].ToString();
                        passo.idProcesso        = e.idProcesso;
                        passo.idRuoloCoinvolto  = e.idRuolo;
                        passo.idUtenteCoinvolto = e.idUtente;
                        passo.tipoEvento        = e.tipoEvento;
                        passo.docAll            = dr["Doc_All"].ToString();
                    }
                }
            }
            catch (Exception exc)
            {
                logWriter.addLog(logWriter.ERRORE, exc.Message);
            }

            logWriter.addLog(logWriter.INFO, (passo != null && !string.IsNullOrEmpty(passo.idPasso) ? "PASSO: " + passo.idPasso.ToString() : "NESSUN PASSO TROVATO."));

            return(passo);
        }