Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        protected virtual void InsertItemCommand()
        {
            InfoNota nota = new InfoNota();

            nota.Testo          = this.Testo;
            nota.TipoVisibilita = this.TipoVisibilita;

            // *****************************************************
            // Codice Tappabuchi. non funziona se l'utente ha più di un RF.
            // Se il tipo di visibilità è RF, impostiamo idRF al primo RF disponibile
            if (nota.TipoVisibilita == TipiVisibilitaNotaEnum.RF)
            {
                Registro[] registri = UserManager.getListaRegistriWithRF(this, "1", String.Empty);

                if (registri != null && registri.Length > 0)
                {
                    nota.IdRfAssociato = registri[0].systemId;
                }
                else
                {
                    nota.IdRfAssociato = "0";
                }
            }

            nota = NoteManager.InsertNota(nota);

            this.Bind();

            // Selezione nuovo elemento inserito
            this.grdNote.SelectedIndex = 0;
            this.SelectItemCommand(this.SelectedItem);
        }
Beispiel #2
0
        /// <summary>
        /// Gestione abilitazione radio button visibilità
        /// </summary>
        /// <param name="nota"></param>
        private void EnableRadioTipiVisibilita(InfoNota nota)
        {
            this.EnableTipiVisibilita();

            if (nota != null)
            {
                switch (nota.TipoVisibilita)
                {
                case TipiVisibilitaNotaEnum.Tutti:
                    this.rblTipiVisibilita.Items.FindByValue("Personale").Enabled = false;
                    this.rblTipiVisibilita.Items.FindByValue("Ruolo").Enabled     = false;
                    //MODICA PER CRASH SU INPS NON TROVA RF
                    if (this.rblTipiVisibilita.Items.FindByValue("RF") != null)
                    {
                        this.rblTipiVisibilita.Items.FindByValue("RF").Enabled = false;
                    }
                    break;

                case TipiVisibilitaNotaEnum.Ruolo:
                    this.rblTipiVisibilita.Items.FindByValue("Personale").Enabled = false;
                    //MODICA PER CRASH SU INPS NON TROVA RF
                    //if (this.rblTipiVisibilita.Items.FindByValue("RF") != null)
                    //{
                    //    this.rblTipiVisibilita.Items.FindByValue("RF").Enabled = false;
                    //}
                    break;

                case TipiVisibilitaNotaEnum.RF:
                    this.rblTipiVisibilita.Items.FindByValue("Personale").Enabled = false;
                    this.rblTipiVisibilita.Items.FindByValue("Ruolo").Enabled     = false;
                    break;
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// Gestione abilitazione radio button visibilità
        /// </summary>
        /// <param name="nota"></param>
        private void EnableRadioTipiVisibilita(InfoNota nota)
        {
            this.EnableTipiVisibilita();

            if (nota != null)
            {
                if (nota.TipoVisibilita == TipiVisibilitaNotaEnum.Tutti)
                {
                    this.rblTipiVisibilita.Items.FindByValue("Personale").Enabled = false;
                    this.rblTipiVisibilita.Items.FindByValue("Ruolo").Enabled     = false;
                    //MODICA PER CRASH SU INPS NON TROVA RF
                    if (this.rblTipiVisibilita.Items.FindByValue("RF") != null)
                    {
                        this.rblTipiVisibilita.Items.FindByValue("RF").Enabled = false;
                    }
                }
                else if (nota.TipoVisibilita == TipiVisibilitaNotaEnum.Ruolo)
                {
                    this.rblTipiVisibilita.Items.FindByValue("Personale").Enabled = false;
                    //MODICA PER CRASH SU INPS NON TROVA RF
                    if (this.rblTipiVisibilita.Items.FindByValue("RF") != null)
                    {
                        this.rblTipiVisibilita.Items.FindByValue("RF").Enabled = false;
                    }
                }
            }
        }
Beispiel #4
0
        protected void SelectItemCommand(GridViewRow item)
        {
            if (item != null)
            {
                string idNota = this.GetId(item);

                if (!string.IsNullOrEmpty(idNota))
                {
                    // Reperimento nota
                    InfoNota nota = this.GetNota(idNota);
                    if (nota != null)
                    {
                        // Associazione dati
                        this.TipoVisibilita = nota.TipoVisibilita;
                        this.TxtNote.Text   = nota.Testo;

                        // Abilitazione radiobutton visibilità
                        this.EnableRadioTipiVisibilita(nota);
                        this.rblTipiVisibilita_SelectedIndexChanged(null, null);
                        if (this.rblTipiVisibilita.SelectedValue == "RF")
                        {
                            this.ddlNoteRF.SelectedIndex = -1;

                            foreach (ListItem lItem in this.ddlNoteRF.Items)
                            {
                                if (lItem.Value == nota.IdRfAssociato)
                                {
                                    lItem.Selected = true;
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="item"></param>
        protected virtual void SelectItemCommand(DataGridItem item)
        {
            if (item != null)
            {
                string idNota = this.GetId(item);

                if (!string.IsNullOrEmpty(idNota))
                {
                    // Reperimento nota
                    InfoNota nota = NoteManager.GetNota(idNota);

                    // Associazione dati
                    this.TipoVisibilita = nota.TipoVisibilita;
                    this.Testo          = nota.Testo;

                    // Abilitazione radiobutton visibilità
                    this.EnableRadioTipiVisibilita(nota);

                    // Abilitazione del pulsante save, solo se l'utente può modificare la nota
                    this._canUpdateSelectedNota = this.CanUpdateNota(nota);

                    // Modalità di inserimento a false
                    this.InsertMode = false;

                    this.SetControlFocus(this.txtNote);
                }
            }
        }
Beispiel #6
0
        /// <summary>
        /// Reperimento dell'autore dell'ultima nota
        /// </summary>
        /// <param name="ultimaNota"></param>
        /// <returns></returns>
        protected string GetAutoreUltimaNota(InfoNota ultimaNota)
        {
            string autore = string.Empty;

            if (ultimaNota.UtenteCreatore != null)
            {
                if (!string.IsNullOrEmpty(ultimaNota.UtenteCreatore.DescrizioneUtente))
                {
                    autore = ultimaNota.UtenteCreatore.DescrizioneUtente;
                }

                if (autore != string.Empty && !string.IsNullOrEmpty(ultimaNota.UtenteCreatore.DescrizioneRuolo))
                {
                    autore = string.Concat(autore, " (", ultimaNota.UtenteCreatore.DescrizioneRuolo, ")");
                }

                if (!string.IsNullOrEmpty(ultimaNota.DescrPeopleDelegato))
                {
                    string temp = ultimaNota.DescrPeopleDelegato + "<br>Delegato da " + autore;
                    autore = temp;
                }
            }

            return(autore);
        }
Beispiel #7
0
        /// <summary>
        /// Creazione nuova nota a seguito di una modifica dei dati
        /// </summary>
        protected void InsertNote()
        {
            InfoNota nota = new InfoNota();

            if (this.rblTipiVisibilita.SelectedItem != null)
            {
                nota.TipoVisibilita = (TipiVisibilitaNotaEnum)Enum.Parse(typeof(TipiVisibilitaNotaEnum), this.rblTipiVisibilita.SelectedItem.Value, true);
            }
            else
            {
                nota.TipoVisibilita = TipiVisibilitaNotaEnum.Tutti;
            }

            nota.Testo = this.TxtNote.Text;

            if (nota.TipoVisibilita == TipiVisibilitaNotaEnum.RF)
            {
                if (TypeCaller.Equals("D"))
                {
                    if (this.DocumentInWorking != null && !string.IsNullOrEmpty(this.DocumentInWorking.cod_rf_prot) && !string.IsNullOrEmpty(this.DocumentInWorking.id_rf_prot))
                    {
                        nota.IdRfAssociato = this.DocumentInWorking.id_rf_prot;
                    }
                    else
                    {
                        if (Session["RFNote"] != null)
                        {
                            string[] mySplitResult = Session["RFNote"].ToString().Split('^');
                            if (mySplitResult[0] == "OK")
                            {
                                nota.IdRfAssociato = mySplitResult[1];
                            }
                        }
                    }
                }
                else
                {
                    if (Session["RFNote"] != null)
                    {
                        string[] mySplitResult = Session["RFNote"].ToString().Split('^');
                        if (mySplitResult[0] == "OK")
                        {
                            nota.IdRfAssociato = mySplitResult[1];
                        }
                    }
                }
            }

            // Se la nota contiene del testo (vengono eliminati anche i ritorni a capo ai lati della stringa)
            if (!String.IsNullOrEmpty(this.TxtNote.Text.Trim()))
            {
                nota = this.InsertNote(nota);
            }
        }
Beispiel #8
0
        /// <summary>
        /// Verifica se è possibile applicare modifiche alla nota richiesta
        /// </summary>
        /// <param name="nota"></param>
        /// <returns></returns>
        protected virtual bool CanUpdateNota(InfoNota nota)
        {
            bool canUpdate = (this.Enabled && !nota.SolaLettura && !this.AbortDocument);

            if (canUpdate && this.IsNoteReadOnly)
            {
                canUpdate = (nota.TipoVisibilita != TipiVisibilitaNotaEnum.Tutti);
            }

            return(canUpdate);
        }
Beispiel #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="nota"></param>
        /// <returns></returns>
        public static InfoNota UpdateNota(InfoUtente infoUtente, InfoNota nota)
        {
            using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext())
            {
                nota = GetInstanceDb(infoUtente).UpdateNota(nota);

                transactionContext.Complete();
            }

            return(nota);
        }
Beispiel #10
0
        /// <summary>
        /// Verifica se è possibile applicare modifiche alla nota richiesta
        /// </summary>
        /// <param name="nota"></param>
        /// <returns></returns>
        protected virtual bool CanUpdateNota(InfoNota nota)
        {
            bool canUpdate = (this.Enabled && this.NoteManager.CanUpdateNota(nota));

            if (canUpdate && this.ReadOnly)
            {
                canUpdate = (nota.TipoVisibilita != TipiVisibilitaNotaEnum.Tutti);
            }

            return(canUpdate);
        }
Beispiel #11
0
        /// <summary>
        /// Reperimento ultima nota inserita per un documento / fascicolo in ordine cronologico
        /// </summary>
        /// <returns></returns>
        public string GetUltimaNotaAsString()
        {
            InfoNota nota = this.GetUltimaNota();

            if (nota != null)
            {
                return(nota.Testo);
            }
            else
            {
                return(string.Empty);
            }
        }
Beispiel #12
0
        /// <summary>
        /// Reperimento di una nota esistente, solo se non è marcata come da rimuovere
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="idNota"></param>
        /// <returns></returns>
        public string GetNotaAsString(string idNota)
        {
            InfoNota nota = this.GetNota(idNota);

            if (nota != null)
            {
                return(nota.Testo);
            }
            else
            {
                return(string.Empty);
            }
        }
Beispiel #13
0
        /// <summary>
        /// Aggiornamento di una nota esistente
        /// </summary>
        /// <param name="nota"></param>
        /// <returns></returns>
        public InfoNota UpdateNota(InfoNota nota)
        {
            for (int i = 0; i < this.Note.Length; i++)
            {
                if (this.Note[i].Id.Equals(nota.Id))
                {
                    this.Note[i] = nota;
                    break;
                }
            }

            return(nota);
        }
Beispiel #14
0
        /// <summary>
        /// Reperimento ultima nota inserita per un documento / fascicolo in ordine cronologico
        /// </summary>
        /// <returns></returns>
        public InfoNota GetUltimaNota()
        {
            InfoNota retValue = null;

            foreach (InfoNota nota in this.Note)
            {
                if (!nota.DaRimuovere)
                {
                    retValue = nota;
                    break;
                }
            }

            return(retValue);
        }
Beispiel #15
0
 /// <summary>
 /// Reperimento ultima nota inserita per un documento / fascicolo in ordine cronologico
 /// </summary>
 /// <returns></returns>
 public InfoNota GetUltimaNota()
 {
     try
     {
         InfoNota retValue = null;
         //foreach (InfoNota nota in this.Note)
         //{
         //    if (!nota.DaRimuovere)
         //    {
         //        retValue = nota;
         //        break;
         //    }
         //}
         return(retValue);
     }
     catch (System.Exception ex)
     {
         UIManager.AdministrationManager.DiagnosticError(ex);
         return(null);
     }
 }
Beispiel #16
0
        /// <summary>
        /// Caricamento dati
        /// </summary>
        public virtual void Fetch()
        {
            // Reperimento ultima nota
            InfoNota nota = this.NoteManager.GetUltimaNota();

            if (nota != null)
            {
                // Impostazione dell'autore dell'ultima nota
                this.AutoreNota     = this.GetAutoreUltimaNota(nota);
                this.TipoVisibilita = nota.TipoVisibilita;
                this.Testo          = nota.Testo;

                // Impostazione numero note visibili dall'utente corrente
                this.SetNoteVisibili(this.NoteManager.CountNote);
            }
            else
            {
                this.Clear();
            }

            this.IsDirtyControl = false;
        }
Beispiel #17
0
 protected override List <ToDoListElement> executeList(List <ToDoListElement> input)
 {
     logger.Info("begin");
     foreach (ToDoListElement element in input)
     {
         if (element.Tipo == ElementType.DOCUMENTO)
         {
             logger.Debug("ricerca nota del documento con id " + element.Id);
             AssociazioneNota an = new AssociazioneNota();
             an.TipoOggetto = DocsPaVO.Note.AssociazioneNota.OggettiAssociazioniNotaEnum.Documento;
             an.Id          = element.Id;
             InfoNota nota = BusinessLogic.Note.NoteManager.GetUltimaNota(_infoUtente, an);
             if (nota != null)
             {
                 logger.Debug("nota non nulla");
                 element.Note = nota.Testo;
             }
         }
     }
     logger.Info("end");
     return(input);
 }
Beispiel #18
0
        /// <summary>
        /// Inserimento di una nuova nota da associare ad un documento / fascicolo
        /// </summary>
        /// <param name="nota"></param>
        /// <returns></returns>
        public InfoNota InsertNota(InfoNota nota)
        {
            nota.DaInserire     = true;
            nota.Id             = this.NewId();
            nota.DataCreazione  = DateTime.Now;
            nota.UtenteCreatore = new InfoUtenteCreatoreNota();

            InfoUtente utente = UserManager.getInfoUtente();

            nota.UtenteCreatore.IdUtente          = utente.idPeople;
            nota.UtenteCreatore.DescrizioneUtente = utente.userId;
            if (utente.delegato != null)
            {
                nota.IdPeopleDelegato    = utente.delegato.idPeople;
                nota.DescrPeopleDelegato = utente.delegato.userId;
            }
            Ruolo ruolo = UserManager.getRuolo();

            nota.UtenteCreatore.IdRuolo          = ruolo.idGruppo;
            nota.UtenteCreatore.DescrizioneRuolo = ruolo.descrizione;

            // Inserimento della nota nella scheda documento (come primo elemento della lista,
            // solo se il testo della nota da inserire ed il tipo di visibilità sono differenti
            // da quelli dell'ultima nota inserita)
            if (!String.IsNullOrEmpty(nota.Testo.Trim()) &&
                (this.Note.Length == 0 ||
                 !this.Note[0].Testo.Trim().Equals(nota.Testo.Trim()) ||
                 !this.Note[0].TipoVisibilita.Equals(nota.TipoVisibilita)))
            {
                List <InfoNota> note = new List <InfoNota>(this.Note);
                note.Insert(0, nota);
                this.Note = note.ToArray();
            }

            return(nota);
        }
Beispiel #19
0
        /// <summary>
        /// Creazione nuova nota a seguito di una modifica dei dati
        /// </summary>
        protected void InsertNota()
        {
            InfoNota nota = new InfoNota();

            nota.TipoVisibilita = this.TipoVisibilita;
            nota.Testo          = this.Testo;

            //if (this.isTutti.Value.Equals("1")) { nota.TipoVisibilita = TipiVisibilitaNotaEnum.Tutti; }

            if (nota.TipoVisibilita == TipiVisibilitaNotaEnum.RF)
            {
                //if (PAGINA_CHIAMANTE.Equals("docProtocollo"))
                //{
                DocsPaWR.SchedaDocumento schedaDoc = DocumentManager.getDocumentoInLavorazione();
                if (schedaDoc != null && !string.IsNullOrEmpty(schedaDoc.cod_rf_prot) && !string.IsNullOrEmpty(schedaDoc.id_rf_prot))
                {
                    nota.IdRfAssociato = schedaDoc.id_rf_prot;
                }
                else
                if (Session["RFNote"] != null)
                {
                    string[] mySplitResult = Session["RFNote"].ToString().Split('^');
                    if (mySplitResult[0] == "OK")
                    {
                        nota.IdRfAssociato = mySplitResult[1];
                    }
                }
                //}
            }

            // Se la nota contiene del testo (vengono eliminati anche i ritorni a capo ai lati della stringa)
            if (!String.IsNullOrEmpty(this.Testo.Trim()))
            {
                nota = this.NoteManager.InsertNota(nota);
            }
        }
Beispiel #20
0
        /// <summary>
        /// Verifica se la nota può essere modificata dall'utente
        /// </summary>
        /// <param name="nota"></param>
        /// <returns></returns>
        public bool CanUpdateNota(InfoNota nota)
        {
            // return (nota.UtenteCreatore.IdUtente.Equals(UserManager.getInfoUtente().idPeople));

            return(nota.SolaLettura);
        }
Beispiel #21
0
 /// <summary>
 /// Aggiornamento di una nota esistente
 /// </summary>
 /// <param name="nota"></param>
 /// <returns></returns>
 public InfoNota UpdateNota(InfoNota nota)
 {
     return(this.WebServiceInstance.UpdateNota(this.InfoUtente, nota));
 }
Beispiel #22
0
 /// <summary>
 /// Inserimento di una nuova nota da associare ad un documento / fascicolo
 /// </summary>
 /// <param name="nota"></param>
 /// <returns></returns>
 public InfoNota InsertNota(InfoNota nota)
 {
     return(this.WebServiceInstance.InsertNota(this.InfoUtente, this._oggettoAssociato, nota));
 }
Beispiel #23
0
 /// <summary>
 /// Verifica se la nota può essere cancellata
 /// </summary>
 /// <param name="nota"></param>
 /// <returns></returns>
 public bool CanUpdateNota(InfoNota nota)
 {
     return(!nota.SolaLettura);
 }
Beispiel #24
0
        protected void SetControlsEnabled()
        {
            this.grdNote.Visible = (this.grdNote.Rows.Count > 0);

            if (!this.Enabled || this.IsNoteReadOnly || this.AbortDocument)
            {
                this.TxtNote.ReadOnly          = true;
                this.rblTipiVisibilita.Enabled = false;
                this.BtnNew.Enabled            = false;
                this.BtnSave.Enabled           = false;
            }
            else
            {
                bool insertMode = (this.SelectedItem == null || this.grdNote.Rows.Count == 0);

                this.BtnNew.Enabled = (!insertMode);

                if (!insertMode)
                {
                    this.BtnSave.Text = this.GetLabel("NotesBtnSave");
                    string idNota = this.GetId(this.SelectedItem);
                    if (!string.IsNullOrEmpty(idNota))
                    {
                        InfoNota nota = this.GetNota(idNota);
                        if (nota != null)
                        {
                            this.BtnSave.Enabled = this.CanUpdateNota(nota);
                        }
                    }
                }
                else
                {
                    this.TxtNote.Text    = string.Empty;
                    this.BtnSave.Text    = this.GetLabel("NotesBtnInsert");
                    this.BtnSave.Enabled = true;
                }

                this.rblTipiVisibilita.Enabled = this.BtnSave.Enabled;
                this.TxtNote.Enabled           = this.BtnSave.Enabled;
            }

            if (this.rblTipiVisibilita.Enabled)
            {
                //Il bottone a selezione esclusiva "RF" è visibile solo se è stato definito almeno un RF
                if (ViewState["rf"] == null)
                {
                    //Ruolo ruoloUtente = RoleManager.GetRoleInSession();
                    //DocsPaWR.Registro[] registriRf = UserManager.getListaRegistriWithRF(ruoloUtente.systemId, "1", "");
                    DocsPaWR.Registro[] registriRf = RegistryManager.GetRFListInSession();
                    if (registriRf == null || (registriRf != null && registriRf.Length == 0))
                    {
                        this.rblTipiVisibilita.Items.Remove(this.rblTipiVisibilita.Items.FindByValue("RF"));
                    }
                    else
                    {
                        ViewState.Add("rf", registriRf);
                    }
                }
            }

            this.UpPnlGrid.Update();
            this.upPnlButtons.Update();
        }
Beispiel #25
0
        /// <summary>
        /// Inserimento di una nuova nota da associare ad un documento / fascicolo
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="idDocumento"></param>
        /// <param name="nota"></param>
        /// <returns></returns>
        public static InfoNota InsertNota(InfoUtente infoUtente, AssociazioneNota oggettoAssociato, InfoNota nota)
        {
            using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext())
            {
                nota = GetInstanceDb(infoUtente).InsertNota(oggettoAssociato, nota);

                transactionContext.Complete();
            }

            return(nota);
        }
Beispiel #26
0
        /// <summary>
        /// Inserimento di una nuova nota da associare ad un documento / fascicolo
        /// </summary>
        /// <param name="nota"></param>
        /// <returns></returns>
        public InfoNota InsertNote(InfoNota nota)
        {
            nota.DaInserire     = true;
            nota.Id             = Guid.NewGuid().ToString();
            nota.DataCreazione  = DateTime.Now;
            nota.UtenteCreatore = new InfoUtenteCreatoreNota();

            InfoUtente utente = UserManager.GetInfoUser();

            nota.UtenteCreatore.IdUtente          = utente.idPeople;
            nota.UtenteCreatore.DescrizioneUtente = utente.userId;
            if (utente.delegato != null)
            {
                nota.IdPeopleDelegato    = utente.delegato.idPeople;
                nota.DescrPeopleDelegato = utente.delegato.userId;
            }
            Ruolo ruolo = RoleManager.GetRoleInSession();

            nota.UtenteCreatore.IdRuolo          = ruolo.idGruppo;
            nota.UtenteCreatore.DescrizioneRuolo = ruolo.descrizione;

            // Inserimento della nota nella scheda documento (come primo elemento della lista,
            // solo se il testo della nota da inserire ed il tipo di visibilità sono differenti
            // da quelli dell'ultima nota inserita)
            if (this.TypeCaller.Equals("D"))
            {
                if (!String.IsNullOrEmpty(nota.Testo.Trim()) &&
                    (this.DocumentInWorking.noteDocumento.Length == 0 ||
                     !this.DocumentInWorking.noteDocumento[0].Testo.Trim().Equals(nota.Testo.Trim()) ||
                     !this.DocumentInWorking.noteDocumento[0].TipoVisibilita.Equals(nota.TipoVisibilita)))
                {
                    List <InfoNota> note = new List <InfoNota>(this.DocumentInWorking.noteDocumento);
                    note.Insert(0, nota);
                    this.DocumentInWorking.noteDocumento = note.ToArray();
                }
            }
            else
            {
                Fascicolo prj = UIManager.ProjectManager.getProjectInSession();
                if (prj == null)
                {
                    prj = new Fascicolo();
                    prj.noteFascicolo = new List <InfoNota>().ToArray();
                }
                if (!String.IsNullOrEmpty(nota.Testo.Trim()) && prj != null &&
                    (prj.noteFascicolo == null || prj.noteFascicolo.Length == 0 ||
                     !prj.noteFascicolo[0].Testo.Trim().Equals(nota.Testo.Trim()) ||
                     !prj.noteFascicolo[0].TipoVisibilita.Equals(nota.TipoVisibilita)))
                {
                    List <InfoNota> note = null;
                    if (prj.noteFascicolo == null)
                    {
                        note = new List <InfoNota>();
                    }
                    else
                    {
                        note = new List <InfoNota>(prj.noteFascicolo);
                    }

                    note.Insert(0, nota);
                    prj.noteFascicolo = note.ToArray();
                    UIManager.ProjectManager.setProjectInSession(prj);
                }
            }

            return(nota);
        }