示例#1
0
        private string SaveDocument(InfoUtente infoUtente, Ruolo role, SchedaDocumento schedaDoc, FileDocumento fileDoc)
        {
            //Salvataggio del documento
            DocsPaDocumentale.Documentale.DocumentManager docManager = new DocsPaDocumentale.Documentale.DocumentManager(infoUtente);

            //Salvataggio dell'oggetto
            schedaDoc = ProtoManager.addOggettoLocked(infoUtente.idAmministrazione, schedaDoc);

            Ruolo[] ruoliSuperiori;

            if (docManager.CreateDocumentoGrigio(schedaDoc, role, out ruoliSuperiori))
            {
                //Salvataggio del file associato al documento
                DocsPaVO.documento.FileRequest fileRequest = (DocsPaVO.documento.FileRequest)schedaDoc.documenti[0];

                fileRequest = BusinessLogic.Documenti.FileManager.putFile(fileRequest, fileDoc, infoUtente);
                if (fileRequest == null)
                {
                    throw new ApplicationException("Si è verificato un errore nell'upload del documento di certificazione");
                }
            }

            /*
             * superiori = ruoliSuperiori;
             * if (superiori == null)
             *  superiori = new Ruolo[] { };
             * */

            //restituzione numero documento
            return(schedaDoc.docNumber);
        }
示例#2
0
        public static DocumentRowDataContainer ReadDocumentDataFromExcelFile(
            byte[] content,
            InfoUtente userInfo,
            Ruolo role,
            bool isStampaUnione,
            out string error)
        {
            // Instanziazione del web service
            DocsPaWebService ws = new DocsPaWebService();

            // Impostazione del timeout ad infinito
            ws.Timeout = System.Threading.Timeout.Infinite;

            try
            {
                logger.Debug("Reperimento informazioni documenti");

                // Chiamata del webservice per l'importazione dei documenti da
                // foglio Excel e restituzione della lista dei risultati
                return(ws.ReadDocumentDataFromExcelFile(
                           content,
                           userInfo,
                           role,
                           importazionePregressiAbilitata(),
                           isStampaUnione,
                           out error));

                logger.Debug("Informazioni sui documenti reperite.");
            }
            catch (Exception e)
            {
                throw new Exception("Ricevuto errore dal servizio.");
            }
        }
示例#3
0
        /// <summary>
        /// Funzione per l'invocazione del metodo web per l'estrazione dei dati
        /// riguardanti fascicoli da foglio Excel
        /// </summary>
        /// <param name="content">Il contenuto del foglio Excel</param>
        /// <param name="fileName">Il nome da attribuire al file temporaneo</param>
        /// <param name="userInfo">Le informazioni sull'utente che ha lanciato la procedura</param>
        /// <param name="role">Il ruolo con cui è stata lanciata la procedura</param>
        /// <returns>La lista dei dati estratti dal foglio Excel passato per parametro</returns>
        public static ProjectRowData[] ReadDataFromExcel(
            byte[] content,
            string fileName,
            InfoUtente userInfo,
            Ruolo role)
        {
            // Istanziazione del web service
            DocsPaWebService ws = new DocsPaWebService();

            // Impostazione del timeout
            ws.Timeout = System.Threading.Timeout.Infinite;

            try
            {
                // Chiamata del metodo web per l'estrazione dei dati dal foglio Excel
                return(ws.ReadProjectDataFromExcel(
                           content,
                           fileName,
                           userInfo,
                           role));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#4
0
        private string SaveDocument(InfoUtente userInfo, Ruolo role, SchedaDocumento document, FileDocumento fileDoc, out Ruolo[] superiori)
        {

            //Salvataggio del documento
            DocsPaDocumentale.Documentale.DocumentManager docManager = new DocsPaDocumentale.Documentale.DocumentManager(userInfo);

            //Salvataggio dell'oggetto
            document = ProtoManager.addOggettoLocked(userInfo.idAmministrazione, document);

            Ruolo[] ruoliSuperiori;
            //if (docManager.CreateDocumentoStampaRegistro(document, role, out ruoliSuperiori))
            if (docManager.CreateDocumentoGrigio(document, role, out ruoliSuperiori))
            //if(docManager.CreateDocumentoGrigio(document, role))
            {
                //Notifica evento documento creato
                //DocsPaDocumentale.Interfaces.IAclEventListener eventsNotification = new DocsPaDocumentale.Documentale.AclEventListener(userInfo);
                //eventsNotification.DocumentoCreatoEventHandler(document, role, ruoliSuperiori);
                
                //Salvataggio del file associato al documento
                DocsPaVO.documento.FileRequest fileRequest = (DocsPaVO.documento.FileRequest)document.documenti[0];

                fileRequest = BusinessLogic.Documenti.FileManager.putFile(fileRequest, fileDoc, userInfo);
                if(fileRequest == null)
                    throw new ApplicationException("Si è verificato un errore nell'upload del documento per la stampa del registro di conservazione");

            }

            superiori = ruoliSuperiori;
            if (superiori == null)
                superiori = new Ruolo[] { };

            //Restituzione del numero documento            
            return document.docNumber;
        }
示例#5
0
        private bool getInfoUtente(Utente utente, string idRuolo)
        {
            if (idRuolo.Equals(string.Empty))
            {
                return(this.getInfoUtente(utente));
            }
            if (utente.ruoli.Length == 0)
            {
                this._Errore       = true;
                this._CodiceErrore = Costanti.Errori.Docspa_UtenteNoHaRuoliAssociati;
                Trace.Traccia(this._CodiceErrore, this._conf);
                return(false);
            }
            Ruolo ruolo = null;

            Ruolo[] ruoli = utente.ruoli;
            for (int i = 0; i < ruoli.Length; i++)
            {
                Ruolo ruolo2 = ruoli[i];
                if (ruolo2.systemId == idRuolo)
                {
                    ruolo = ruolo2;
                    break;
                }
            }
            if (ruolo != null)
            {
                return(this.getInfoUtente(utente, ruolo));
            }
            this._Errore       = true;
            this._CodiceErrore = Costanti.Errori.Docspa_RuoloUtenteNonValido;
            Trace.Traccia(this._CodiceErrore, this._conf);
            return(false);
        }
示例#6
0
        private Ruolo AggiornaRuolo(Ruolo r)
        {
            var reposLivelloConoscenza = ServiceLocator.Current.GetInstance <IRepository <LivelloConoscenza> >();
            var reposRuoli             = ServiceLocator.Current.GetInstance <IRepository <Ruolo> >();
            var reposConoscenze        = ServiceLocator.Current.GetInstance <IRepository <ConoscenzaCompetenza> >();
            var uow = ServiceLocator.Current.GetInstance <IUnitOfWork>();

            int idLivelloInsuff = reposLivelloConoscenza.Single(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE).Id;

            Ruolo ruolo = reposRuoli.SingleOrDefault(ru => ru.Id == r.Id);

            if (ruolo != null)
            {
                ruolo.Titolo      = r.Titolo;
                ruolo.Descrizione = r.Descrizione;

                //ruolo.Conoscenze = new List<ConoscenzaCompetenza>();
                //Mi scorro tutte le conoscenze
                for (int i = 0; i < r.Conoscenze.Count; i++)
                {
                    ConoscenzaCompetenza c = r.Conoscenze.ToList()[i];

                    //e salvo solo quelle diverse da 0
                    if (c.LivelloConoscenzaId != idLivelloInsuff)
                    {
                        ConoscenzaCompetenza conoscenza;
                        conoscenza = ruolo.Conoscenze.SingleOrDefault(con => con.CompetenzaId == c.CompetenzaId);
                        if (conoscenza == null)
                        {
                            conoscenza = new ConoscenzaCompetenza();
                            conoscenza.CompetenzaId = c.CompetenzaId;
                            ruolo.Conoscenze.Add(conoscenza);
                        }

                        conoscenza.LivelloConoscenzaId = c.LivelloConoscenzaId;
                    }
                    else
                    {
                        //E' una di quelle che erano presenti in precedenza e sono state settate a 0 per essere cancellate
                        var conosc = ruolo.Conoscenze.SingleOrDefault(con => con.CompetenzaId == c.CompetenzaId);
                        if (conosc != null)
                        {
                            ruolo.Conoscenze.Remove(conosc);
                            var cc = reposConoscenze.Single(con => con.Id == conosc.Id);
                            reposConoscenze.Delete(cc);
                        }
                    }
                }


                uow.Commit();

                return(ruolo);
            }
            else
            {
                //non l'ho trovato sul DB, id sbagliato? ne creo uno nuovo
                return(CreaRuolo(r));
            }
        }
示例#7
0
 public FiguraProfessionaleViewModel(Ruolo figuraProf)
 {
     DisplayTabName         = "Modifica";
     _figuraProfessionaleId = figuraProf.Id;
     StartBackgroundAutoProgress(LoadFigura);
     EditMode = true;
 }
        protected void GridPersonalizationPreferredBtnInserisci_Click(object sender, EventArgs e)
        {
            try {
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "function", "reallowOp();", true);

                InfoUtente infoUtente = UserManager.GetInfoUser();
                Ruolo      ruolo      = RoleManager.GetRoleInSession();
                string     gridId     = "-1";

                foreach (GridViewRow row in GridPreferred.Rows)
                {
                    if (((RadioButton)row.FindControl("rbSelect")).Checked)
                    {
                        gridId = ((Label)row.FindControl("SYSTEM_ID")).Text;
                        if (gridId.Equals("-1"))
                        {
                            GridManager.RemovePreferredTypeGrid(infoUtente, SelectedGrid.GridType);
                        }
                        else
                        {
                            GridManager.AddPreferredGrid(gridId, infoUtente, SelectedGrid.GridType);
                        }
                        break;
                    }
                }
                SelectedGrid = GridManager.getUserGrid(SelectedGrid.GridType, infoUtente, ruolo);
                close("up");
                //GridPersonalizationPreferredBtnClose_Click(new object(), new EventArgs());
            }
            catch (System.Exception ex)
            {
                UIManager.AdministrationManager.DiagnosticError(ex);
                return;
            }
        }
示例#9
0
        public static Delega buildInstance(InfoDelega input, Ruolo ruoloDelegato)
        {
            Delega res = new Delega();

            res.DataDecorrenza = toDate(input.dataDecorrenza);
            if (res.DataDecorrenza.CompareTo(DateTime.Now) > 0)
            {
                res.Stato = StatoDelega.IMPOSTATA;
            }

            if (!string.IsNullOrEmpty(input.dataScadenza))
            {
                res.DataScadenza = toDate(input.dataScadenza);
                if (res.DataScadenza.CompareTo(DateTime.Now) < 0)
                {
                    res.Stato = StatoDelega.SCADUTA;
                }
            }
            res.Id              = input.id_delega;
            res.Delegato        = input.cod_utente_delegato;
            res.Delegante       = input.cod_utente_delegante;
            res.CodiceDelegante = input.codiceDelegante;
            res.IdDelegato      = input.id_utente_delegato;
            if (ruoloDelegato != null)
            {
                res.RuoloDelegato = ruoloDelegato.descrizione;
            }
            else
            {
                res.RuoloDelegato = "TUTTI";
            }
            res.IdRuoloDelegante = input.id_ruolo_delegante;
            res.InEsercizio      = input.inEsercizio;
            return(res);
        }
示例#10
0
        private void SetDescCorr(string codRubrica)
        {
            //DocsPaWR.Corrispondente corr = UserManager.getCorrispondenteByCodRubricaIE(this.Page, codRubrica, AddressbookTipoUtente.INTERNO);

            DocsPaWR.Corrispondente corr = null;

            ArrayList listaRuoli = ProfilazioneDocManager.getRuoliByAmm(IdAmministrazione.ToString(), codRubrica, "COD_RUOLO", this.Page);

            id_corr.Value = string.Empty;

            if (listaRuoli != null && listaRuoli.Count > 0)
            {
                if (listaRuoli.Count == 1)
                {
                    Ruolo r = (Ruolo)listaRuoli[0];

                    txtCodRuolo.Text  = r.codice;
                    txtDescRuolo.Text = r.descrizione;
                    id_corr.Value     = r.idGruppo;

                    this.UsersInRole = UserManager.GetUsersInRoleMinimalInfo(id_corr.Value);
                    this.PopolaDdlUtenti();
                    this.ddl_user.Enabled = true;
                }
                else
                {
                    foreach (Ruolo r in listaRuoli)
                    {
                        if (r.codice.ToUpper().Equals(codRubrica.ToUpper()))
                        {
                            txtCodRuolo.Text  = r.codice;
                            txtDescRuolo.Text = r.descrizione;
                            id_corr.Value     = r.idGruppo;

                            this.UsersInRole = UserManager.GetUsersInRoleMinimalInfo(id_corr.Value);
                            this.PopolaDdlUtenti();
                            this.ddl_user.Enabled = true;
                        }
                    }
                    if (string.IsNullOrEmpty(id_corr.Value))
                    {
                        txtCodRuolo.Text  = string.Empty;
                        txtDescRuolo.Text = string.Empty;
                        id_corr.Value     = string.Empty;
                        this.ddl_user.Items.Clear();
                        this.ddl_user.Enabled = false;
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "no_found", "alert('Corrispondente non trovato');", true);
                    }
                }
            }
            else
            {
                txtCodRuolo.Text  = string.Empty;
                txtDescRuolo.Text = string.Empty;
                id_corr.Value     = string.Empty;
                this.ddl_user.Items.Clear();
                this.ddl_user.Enabled = false;
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "no_found", "alert('Corrispondente non trovato');", true);
            }
        }
示例#11
0
        private ArrayList GetUnauthorizedFunctions(string idGroup)
        {
            ArrayList result = new ArrayList();

            // inserisco il ruolo in sessione
            Ruolo r = UserManager.getRuoloByIdGruppo(idGroup, this.Page);

            Session.Add("userRuolo", r);

            // verifico quali funzioni sono attive
            foreach (FunctionsToAuthorize f in Enum.GetValues(typeof(FunctionsToAuthorize)))
            {
                if (!UserManager.ruoloIsAutorized(this.Page, f.ToString()))
                {
                    result.Add(f.ToString());
                }
            }

            //if(UserManager.ruoloIsAutorized(this.Page, "DO_SACER_VERSAMENTO"))

            // pulisco la sessione
            Session.Remove("userRuolo");
            this.SaveUserInSession();

            return(result);
        }
示例#12
0
        protected void btnRubricaRuoloResp_Click(object sender, EventArgs e)
        {
            // Se è stato selezionato un corrispondente, ne vengono visualizzate le informazioni
            if (Session["RuoloResponsabile"] != null && Session["RuoloResponsabile"] is ElementoRubrica[])
            {
                ElementoRubrica el = ((ElementoRubrica[])Session["RuoloResponsabile"])[0];

                // Recupero del dettaglio del corrispondente
                Ruolo corr = UserManager.getCorrispondenteByCodRubricaIE(
                    this.Page,
                    el.codice,
                    DocsPAWA.DocsPaWR.AddressbookTipoUtente.INTERNO) as Ruolo;

                this.txtCodRuolo.Text  = corr.codiceRubrica;
                this.txtDescRuolo.Text = corr.descrizione;
                this.id_corr.Value     = corr.idGruppo;

                this.UsersInRole = UserManager.GetUsersInRoleMinimalInfo(this.id_corr.Value);
                this.PopolaDdlUtenti();
                this.ddl_user.Enabled = true;

                Session.Remove("RuoloResponsabile");

                this.pnlRuoloResp.Update();
            }
        }
示例#13
0
        protected void BtnAssegnaVisibilita_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "reallowOp", "reallowOp();", true);
            try
            {
                Ruolo ruolo = new Ruolo();
                ruolo.idGruppo      = this.idCorr.Value;
                ruolo.codiceRubrica = this.TxtCodeCorr.Text;
                ruolo.descrizione   = this.TxtDescriptionCorr.Text;
                TipoVisibilita tipoVis = (TipoVisibilita)Enum.Parse(typeof(TipoVisibilita), RblTipoVisibilita.SelectedValue);

                List <VisibilitaProcessoRuolo> visibilita = new List <VisibilitaProcessoRuolo>();
                if (this.ProcessoDiFirmaSelected != null && !string.IsNullOrEmpty(this.ProcessoDiFirmaSelected.idProcesso))
                {
                    visibilita.Add(new VisibilitaProcessoRuolo()
                    {
                        idProcesso     = this.ProcessoDiFirmaSelected.idProcesso,
                        ruolo          = ruolo,
                        tipoVisibilita = tipoVis
                    });
                }
                else
                {
                    foreach (ProcessoFirma processo in this.ListaProcessiDiFirma)
                    {
                        if (processo.passi != null && processo.passi.Count() > 0)
                        {
                            visibilita.Add(new VisibilitaProcessoRuolo()
                            {
                                idProcesso     = processo.idProcesso,
                                ruolo          = ruolo,
                                tipoVisibilita = tipoVis
                            });
                        }
                    }
                }
                //AGGIUNGO SUL DB
                if (UIManager.SignatureProcessesManager.InsertVisibilitaProcesso(visibilita))
                {
                    //AGGIORNO LA LISTA IN SESSIONE ED AGGIORNO LA GRIGLIA
                    this.TxtCodeCorr.Text             = string.Empty;
                    this.TxtDescriptionCorr.Text      = string.Empty;
                    this.BtnAssegnaVisibilita.Enabled = false;
                    this.UpdPnlCorr.Update();
                    this.UpPnlButtons.Update();
                }
                else
                {
                    string msg = "ErrorVisibilitySignatureProcessCorrispondent";
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "ajaxDialogModal", "if (parent.fra_main) {parent.fra_main.ajaxDialogModal('" + msg.Replace("'", @"\'") + "', 'error', '');} else {parent.ajaxDialogModal('" + msg.Replace("'", @"\'") + "', 'error', '');}", true);
                }
                BuildTableProcessRole();
            }
            catch (Exception ex)
            {
                string msg = "ErrorVisibilitySignatureProcessDeleteCorr";
                ScriptManager.RegisterStartupScript(this, this.GetType(), "ajaxDialogModal", "if (parent.fra_main) {parent.fra_main.ajaxDialogModal('" + msg.Replace("'", @"\'") + "', 'error', '');} else {parent.ajaxDialogModal('" + msg.Replace("'", @"\'") + "', 'error', '');}", true);
                return;
            }
        }
示例#14
0
        /// <summary>
        /// Il metodo controlla se il ruoloInEsame è un ruolo maggiore (più importante) di quello di riferimento.
        /// Es.
        /// 1) Assistente Capo Cantiere Infrastrutture
        /// 2) Capo Cantiere Infrastrutture
        /// 3) Direttore di Cantiere Infrastrutture
        ///
        /// Se sto ricercando un Capo Cantiere(ruoloA)[3], dovrò
        ///  * scartare i Direttori (ruoloB) [4]
        ///  * prendere Assistenti o Capi Cantiere (ruoloB) [2-3]
        ///
        /// Se sto cercando un Direttore (ruoloDiRiferimento), dovrò
        ///  * scartare tutti
        ///
        /// Utilizzato da MOD_RUOLI
        /// </summary>
        /// <param name="ruoloA"></param>
        /// <param name="ruoloB"></param>
        public static bool ValidaA_MinoriUgualiDi_B(Ruolo ruoloA, Ruolo ruoloB)
        {
            var filiali = GetFiliali();

            foreach (var filiale in filiali)
            {
                bool?res = null;

                //se mi torna null vuol dire che non sono della stessa filiale, e vado avanti con gli altri controlli
                if (filiale.ContainsKey(ruoloA.Titolo) && filiale.ContainsKey(ruoloB.Titolo))
                {
                    int vA = filiale[ruoloA.Titolo];
                    int vB = filiale[ruoloB.Titolo];

                    if (vA <= vB)
                    {
                        res = true;
                    }
                    else
                    {
                        res = false;
                    }
                }

                if (res.HasValue)
                {
                    return(res.Value);
                }
            }


            return(true);
        }
示例#15
0
        private void CreateAndTrasmDoc(SchedaDocumento scheda, InfoUtente userInfo, Ruolo ruolo)
        {
            //creo la trasmissione
            Trasmissione        trasm  = new Trasmissione();
            TrasmissioneSingola trasmS = new TrasmissioneSingola();
            TrasmissioneUtente  trasmU = new TrasmissioneUtente();

            //trasm.dataInvio = DateTime.Now.ToShortDateString();
            trasm.DataDocFasc   = scheda.dataCreazione;
            trasm.infoDocumento = DocsPAWA.DocumentManager.getInfoDocumento(scheda);
            trasm.ruolo         = ruolo;
            trasm.tipoOggetto   = TrasmissioneTipoOggetto.DOCUMENTO;
            trasm.utente        = DocsPAWA.UserManager.getUtente();

            trasmS.ragione               = TrasmManager.GetRagioneNotifica(userInfo.idAmministrazione);
            trasmS.tipoDest              = TrasmissioneTipoDestinatario.RUOLO;
            trasmS.tipoTrasm             = "S";
            trasmS.corrispondenteInterno = UserManager.getCorrispondenteBySystemID(this.Page, ruolo.systemId);
            trasmU.daNotificare          = true;
            trasmU.utente = UserManager.getUtente();

            trasmS.trasmissioneUtente    = new TrasmissioneUtente[1];
            trasmS.trasmissioneUtente[0] = trasmU;
            trasm.trasmissioniSingole    = new TrasmissioneSingola[1];
            trasm.trasmissioniSingole[0] = trasmS;
            Trasmissione trasmRes = TrasmManager.saveExecuteTrasm(this.Page, trasm, userInfo);
        }
示例#16
0
        public static FileDocumento GetReportRegistroWithFilters(
            Page page,
            DocsPaWR.InfoUtente infoUt,
            Ruolo ruolo,
            Registro registro,
            FiltroRicerca[][] filters)
        {
            FileDocumento retValue = null;

            try
            {
                // Chiamata Web Service
                DocsPaWR.StampaRegistroResult result = docsPaWS.RegistriStampaWithFilters(infoUt, ruolo, registro, filters, out retValue);

                if (result == null)
                {
                    throw new Exception();
                }
            }
            catch (System.Exception ex)
            {
                UIManager.AdministrationManager.DiagnosticError(ex);
                return(null);
            }

            return(retValue);
        }
示例#17
0
        private Ruolo CreaRuolo(Ruolo r)
        {
            var reposLivelloConoscenza = ServiceLocator.Current.GetInstance <IRepository <LivelloConoscenza> >();
            int idLivelloInsuff        = reposLivelloConoscenza.Single(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE).Id;

            Ruolo ruolo = new Ruolo();

            ruolo.Titolo      = r.Titolo;
            ruolo.Descrizione = r.Descrizione;

            ruolo.Conoscenze = new List <ConoscenzaCompetenza>();

            //Mi scorro tutte le conoscenze
            foreach (var c in r.Conoscenze)
            {
                //e salvo solo quelle diverse da 0
                if (c.LivelloConoscenzaId != idLivelloInsuff)
                {
                    ConoscenzaCompetenza conoscenza = new ConoscenzaCompetenza();

                    conoscenza.LivelloConoscenzaId = c.LivelloConoscenzaId;
                    conoscenza.CompetenzaId        = c.CompetenzaId;
                    ruolo.Conoscenze.Add(conoscenza);
                }
            }

            var repos = ServiceLocator.Current.GetInstance <IRepository <Ruolo> >();
            var uow   = ServiceLocator.Current.GetInstance <IUnitOfWork>();


            repos.Add(ruolo);
            uow.Commit();

            return(ruolo);
        }
示例#18
0
        // MOD_RUOLI
        public List <RisultatoRicerca> CercaDipendenteDaRuolo(Ruolo ruolo, bool filtraRuoliNonValidi)
        {
            var algoritmo = _container.Resolve <IAlgoritmoRicerca>("RicercaDipendenteDaRuolo");
            var result    = algoritmo.Cerca(ruolo, filtraRuoliNonValidi);

            return(result);
        }
示例#19
0
 public RuoloViewModel(Ruolo figuraProf)
 {
     DisplayTabName = "Modifica";
     _ruoloId       = figuraProf.Id;
     StartBackgroundAutoProgress(LoadRuoloBackground);
     EditMode = true;
 }
示例#20
0
 public TrasmSingoleBuilder(InfoUtente infoUtente, Ruolo ruolo, ModelloTrasmissione modello)
 {
     this._infoUtente     = infoUtente;
     this._ruolo          = ruolo;
     this._modello        = modello;
     _trasmissioniSingole = new Dictionary <string, TrasmissioneSingola>();
 }
示例#21
0
        private void CancellaFiguraProfessionale(PavimentalContext context, Ruolo figura)
        {
            /*
             *
             *  foreach (var c in figura.Conoscenze)
             *  {
             *      ConoscenzaCompetenza con = new ConoscenzaCompetenza() { Id = c.Id };
             *      context.ConoscenzaCompetenze.Attach(con);
             *      context.ConoscenzaCompetenze.Remove(con);
             *  }
             *  context.SaveChanges();
             *
             *  FiguraProfessionale figToRemove = new FiguraProfessionale() { Id = figura.Id };
             *  context.FigureProfessionali.Attach(figToRemove);
             *  context.FigureProfessionali.Remove(figToRemove);
             *
             *  context.SaveChanges();
             *
             *  figura = null;
             */

            Ruolo figToRemove = new Ruolo()
            {
                Id = figura.Id
            };

            context.FigureProfessionali.Attach(figToRemove);
            context.FigureProfessionali.Remove(figToRemove);

            context.SaveChanges();
        }
示例#22
0
        /// <summary>
        /// Funzione per l'importazione di un corrispondente nella rubrica
        /// </summary>
        /// <param name="userInfo">Le informazioni sull'utente che ha lanciato la procedura</param>
        /// <param name="role">Il ruolo con cui è stata lanciata la procedura</param>
        /// <param name="operation">L'operazione da compiere sul corrispondente</param>
        /// <param name="rowData">L'oggetto con le informazioni sul corrispondente su cui compiere l'operazione richiesta</param>
        /// <returns>Il risultato dell'elaborazione</returns>
        public static AddressBookImportResult ImportAddressBookElement(
            InfoUtente userInfo,
            Ruolo role,
            OperationEnum operation,
            AddressBookRowData rowData)
        {
            // Il risultato dell'inserimento
            AddressBookImportResult toReturn;

            // Riferimento al web service a cui richiedere l'operazione
            DocsPaWebService ws;

            // Istanziazione di un riferimento al Web Service e impostazione del timeout infinito
            ws         = new DocsPaWebService();
            ws.Timeout = System.Threading.Timeout.Infinite;

            try
            {
                // Esecuzione dell'importazione del corrispondente
                toReturn = ws.ImportAddressBookElement(
                    userInfo,
                    role,
                    System.Configuration.ConfigurationManager.AppSettings["LISTE_DISTRIBUZIONE"].Equals("1") ? 1 : 0,
                    operation,
                    rowData);
            }
            catch (Exception e)
            {
                throw e;
            }

            // Restituzione del risultato
            return(toReturn);
        }
示例#23
0
 private bool getRegistro(Ruolo ruolo, string idRegistro)
 {
     if (idRegistro.Equals(string.Empty))
     {
         return(this.getRegistro(ruolo));
     }
     if (ruolo.registri.Length == 0)
     {
         this._Errore       = true;
         this._CodiceErrore = Costanti.Errori.Docspa_RuoloNoHaRegistriAssociati;
         return(false);
     }
     this.myRegistroSelezionato = null;
     Registro[] registri = ruolo.registri;              //Luisa 18112016
     for (int i = 0; i < registri.Length; i++)
     {
         Registro registro = registri[i];
         if (registro.systemId == idRegistro)
         {
             this.myRegistroSelezionato = registro;
             break;
         }
     }
     if (this.myRegistroSelezionato == null)
     {
         this._Errore       = true;
         this._CodiceErrore = Costanti.Errori.Docspa_Registro_NonValido;
         return(false);
     }
     return(true);
 }
示例#24
0
 protected void HomeDdlRoles_SelectedIndexChange(object sender, EventArgs e)
 {
     try
     {
         if (!string.IsNullOrEmpty(this.ddlRolesUser.SelectedValue))
         {
             Ruolo[] roles = UIManager.UserManager.GetUserInSession().ruoli;
             Ruolo   role  = (from r in roles where r.systemId.Equals(this.ddlRolesUser.SelectedValue) select r).FirstOrDefault();
             UIManager.RoleManager.SetRoleInSession(role);
             UIManager.RegistryManager.SetRegAndRFListInSession(UIManager.UserManager.getListaRegistriWithRF(role.systemId, "", ""));
             UIManager.RegistryManager.SetRFListInSession(UIManager.UserManager.getListaRegistriWithRF(role.systemId, "1", ""));
             (this.Page.Master.FindControl("upPnlInfoUser") as UpdatePanel).Update();
             if (this.PageCaller.Equals(NOTIFICATION_CENTER))
             {
                 IsRoleChanged = true;
             }
             (this.Parent.FindControl("UpdatePanelRepListNotify") as UpdatePanel).Update();
         }
     }
     catch (System.Exception ex)
     {
         UIManager.AdministrationManager.DiagnosticError(ex);
         return;
     }
 }
示例#25
0
        public static FileDocumento GetReportRegistroWithFilters(
            Page page,
            DocsPaWR.InfoUtente infoUt,
            Ruolo ruolo,
            Registro registro,
            FiltroRicerca[][] filters)
        {
            FileDocumento retValue = null;

            try
            {
                // Chiamata Web Service
                DocsPaWR.StampaRegistroResult result = docsPaWS.RegistriStampaWithFilters(infoUt, ruolo, registro, filters, out retValue);

                if (result == null)
                {
                    throw new Exception();
                }
            }
            catch (Exception es)
            {
                ErrorManager.redirect(page, es);
            }

            return(retValue);
        }
示例#26
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_PreRender(object sender, EventArgs e)
        {
            //
            // Recupero dalla sessione il ruolo selezionato
            //if (Session["RuoloSelezionato"] != null)
            //if (Request["RuoloSelezionato_idGruppo"] != null)
            if (HttpContext.Current.Session["RuoloSelezionato_idGruppo"] != null)
            {
                // Recupero l'idGruppo selezionato
                //string idGruppo = Request.QueryString["RuoloSelezionato_idGruppo"];
                string          idGruppo = HttpContext.Current.Session["RuoloSelezionato_idGruppo"].ToString();
                DocsPaWR.Utente user     = (DocsPaWR.Utente)Session["userData"];

                if (user != null)
                {
                    //Recupero il ruolo selezionato a partire dall'idGruppo
                    Ruolo ruoloSelected = user.ruoli.FirstOrDefault(item => item.idGruppo == idGruppo);
                    //Ruolo ruoloSelected = (Ruolo)Session["RuoloSelezionato"];

                    if (ruoloSelected != null)
                    {
                        lbl_selectedRole.Text        = ruoloSelected.descrizione;
                        this.ddl_ruoli.SelectedValue = ruoloSelected.idGruppo;

                        // Rimetto in sessione il valore dell'idGruppo utilizzato dall'utente
                        HttpContext.Current.Session["RuoloSelezionato_idGruppo"] = ruoloSelected.idGruppo;
                        // Metto in sessione l'idcorrglobali
                        // Metto in sessione l'idcorrglobali
                        HttpContext.Current.Session["RuoloSelezionato_idCorrGlobali"] = Utils.ConservazioneManager.GetIdCorrGlobaliEsibizione(ruoloSelected.idGruppo);
                    }
                }
            }
        }
示例#27
0
        public static ImportResult[] ImportProjects(
            byte[] content,
            string fileName,
            string serverPath,
            InfoUtente userInfo,
            Ruolo userRole)
        {
            // Instanziazione del web service
            DocsPaWebService ws = new DocsPaWebService();

            // Impostazione del timeout ad infinito
            ws.Timeout = System.Threading.Timeout.Infinite;

            try
            {
                // Chiamata del webservice per l'importazione dei fascicoli da
                // foglio Excel e restituzione della lista dei risultati
                return(ws.ImportProjects(
                           content,
                           fileName,
                           serverPath,
                           userInfo,
                           userRole,
                           Utils.getAbilitazioneSmistamento() == "1"));
            }
            catch (Exception e)
            {
                throw new Exception("Ricevuto errore dal servizio.");
            }
        }
示例#28
0
        /// <summary>
        /// Funzione per l'invocazione del metodo web per l'importazione di un fascicolo i cui dati
        /// sono descritti in un oggetto specifico
        /// </summary>
        /// <param name="rowData">L'oggetto con la descrizione dei dati riguardanti il fascicolo da importare</param>
        /// <param name="userInfo">Le informazioni sull'utente che ha lanciato la procedura</param>
        /// <param name="role">Il ruolo con cui è stata lanciata la procedura</param>
        /// <param name="serverPath">L'indirizzo web della WA</param>
        /// <returns>Il risultato dell'importazione</returns>
        public static ImportResult ImportProject(
            ProjectRowData rowData,
            InfoUtente userInfo,
            Ruolo role,
            string serverPath)
        {
            // Istanziazione del web service
            DocsPaWebService ws = new DocsPaWebService();

            // Impostazione del timeout
            ws.Timeout = System.Threading.Timeout.Infinite;

            try
            {
                // Chiamata del metodo web per l'importazione del fascicolo
                return(ws.ImportProject(
                           rowData,
                           userInfo,
                           role,
                           Utils.getAbilitazioneSmistamento() == "1",
                           serverPath));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#29
0
        private void loadGrigliaField()
        {
            InfoUtente infoutente = UserManager.GetInfoUser();
            Ruolo      ruolo      = RoleManager.GetRoleInSession();
            string     language   = UIManager.UserManager.GetUserLanguage();

            if (SelectedGrid != null)
            {
                this.TemporaryGrid = GridManager.CloneGrid(SelectedGrid);
            }
            else
            {
                if (this.TemporaryGrid != null)
                {
                    this.TemporaryGrid = GridManager.getUserGrid(this.TemporaryGrid.GridType, infoutente, ruolo);
                }
                else
                {
                    this.TemporaryGrid = GridManager.getUserGrid(GridTypeEnumeration.Document, infoutente, ruolo);
                }

                SelectedGrid = this.TemporaryGrid;
            }
            this.GridPersonalizzata.DataSource = this.TemporaryGrid.Fields;
            this.GridPersonalizzata.DataBind();
            GridPersonalizzata.SelectedIndex = -1;
            infoutente = null;
            ruolo      = null;
        }
示例#30
0
        /// <summary>
        /// Creazione di un nuovo fascicolo in DocsPa
        /// </summary>
        /// <remarks>
        ///
        /// PreCondizioni:
        ///     Il fascicolo è stato inserito correttamente in DocsPa
        ///     ed è stato generato un'identificativo univoco
        ///
        /// PostCondizioni:
        ///     Creato un oggetto in Documentum corrispondente all'oggetto
        ///     fascicolo di DocsPa. L'oggetto avrà i metadati del fascicolo
        ///     per la sola consultazione in documentum.
        ///
        /// </remarks>
        /// <param name="classifica"></param>
        /// <param name="fascicolo"></param>
        /// <param name="ruolo"></param>
        /// <param name="enableUfficioReferente"></param>
        /// <returns></returns>
        public bool CreateProject(Classificazione classifica, Fascicolo fascicolo, Ruolo ruolo, bool enableUfficioReferente, out ResultCreazioneFascicolo result)
        {
            bool retValue = true;

            //... non fa nulla
            result = ResultCreazioneFascicolo.OK;
            return(retValue);
        }