/// <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); }
/// <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; } } }
/// <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; } } } }
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; } } } } } } }
/// <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); } } }
/// <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); }
/// <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); } }
/// <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); }
/// <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); }
/// <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); }
/// <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); } }
/// <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); } }
/// <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); }
/// <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); }
/// <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); } }
/// <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; }
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); }
/// <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); }
/// <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); } }
/// <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); }
/// <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)); }
/// <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)); }
/// <summary> /// Verifica se la nota può essere cancellata /// </summary> /// <param name="nota"></param> /// <returns></returns> public bool CanUpdateNota(InfoNota nota) { return(!nota.SolaLettura); }
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(); }
/// <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); }
/// <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); }