protected void dg_Ruoli_ItemCommand(object source, DataGridCommandEventArgs e) { int elSelezionato = e.Item.ItemIndex; listaRuoli = sessionObj.GetSessionListaRuoli(); DocsPaWR.Ruolo ruolo = (DocsPaWR.Ruolo)listaRuoli[elSelezionato]; switch (e.CommandName) { case "VisibilitaCampi": dg_Campi.SelectedIndex = -1; dg_Ruoli.SelectedIndex = elSelezionato; lbl_ruolo.Text = "RUOLO : " + ruolo.descrizione; //Salvo la selezione dei diritti sui campi prima di cambiare la selezione del ruolo salvaSelezioneCampi(); listaDirittiCampiSelezionati = ProfilazioneDocManager.getDirittiCampiTipologiaDoc(ruolo.idGruppo, template.SYSTEM_ID.ToString(), this); sessionObj.setSessionIdRuolo(ruolo.idGruppo); caricaDgVisibilitaCampi(); impostaSelezioneCampiAssociati(); if (listaCampi != null && listaCampi.Count > 0) { panel_listaCampi.Visible = true; } break; } }
protected void addTemplateFields(string system_id) { // Dettagli del template da aggiungere Templates template; // Lista dei diritti del ruolo suoi campi AssDocFascRuoli[] right; // Lista dei campi presenti nella griglia List <Field> fields; // Creazione della lista dei campi presenti nella griglia fields = new List <Field>(this.TemporaryGrid.Fields); // Caricamento del template if (this.TemporaryGrid.GridType == GridTypeEnumeration.Project) { template = ProfilazioneFascManager.getTemplateFascById(system_id, this); right = (AssDocFascRuoli[])ProfilazioneFascManager.getDirittiCampiTipologiaFasc(UserManager.getRuolo().idGruppo, system_id, this).ToArray(typeof(AssDocFascRuoli)); } else { template = ProfilazioneDocManager.getTemplateById(system_id, this); right = (AssDocFascRuoli[])ProfilazioneDocManager.getDirittiCampiTipologiaDoc(UserManager.getRuolo().idGruppo, system_id, this).ToArray(typeof(AssDocFascRuoli)); } // Ricalcolo degli indici posizionali dei campi int nextPosition = 0; for (nextPosition = 0; nextPosition < fields.Count; nextPosition++) { fields[nextPosition].Position = nextPosition; } foreach (OggettoCustom obj in template.ELENCO_OGGETTI) { AssDocFascRuoli ro = right.Where(o => o.ID_OGGETTO_CUSTOM == obj.SYSTEM_ID.ToString() && o.VIS_OGG_CUSTOM == "1").FirstOrDefault(); bool number = false; // Se la griglia non contiene già un campo con system id pari a quello // che si sta tentando di inserire, viene inserito if (fields.Where(f => f.CustomObjectId == obj.SYSTEM_ID).Count() == 0 && ro != null) { if (obj.TIPO.DESCRIZIONE_TIPO.ToUpper() == "CONTATORE") { number = true; } fields.Add(new Field() { FieldId = String.Format("T{0}", obj.SYSTEM_ID), Label = obj.DESCRIZIONE, OriginalLabel = obj.DESCRIZIONE, Visible = false, CanAssumeMultiValues = obj.TIPO.DESCRIZIONE_TIPO.ToUpper().Equals("CASELLADISELEZIONE"), IsTruncable = true, CustomObjectId = obj.SYSTEM_ID, AssociatedTemplateName = template.DESCRIZIONE, AssociatedTemplateId = template.SYSTEM_ID.ToString(), //MaxLength = 100, // Default a 100 MaxLength = -1, Width = 100, Position = nextPosition++, OracleDbColumnName = obj.SYSTEM_ID.ToString(), SqlServerDbColumnName = obj.SYSTEM_ID.ToString(), IsCommonField = !String.IsNullOrEmpty(obj.CAMPO_COMUNE) && obj.CAMPO_COMUNE == "1", IsNumber = number }); } } // Impostazione della nuova lista dei campi per la griglia attuale this.TemporaryGrid.Fields = fields.ToArray(); List <String> idTemplates = new List <String>(); if (this.TemporaryGrid.TemplatesId != null) { idTemplates.AddRange(this.TemporaryGrid.TemplatesId); } idTemplates.Add(template.SYSTEM_ID.ToString()); this.TemporaryGrid.TemplatesId = idTemplates.ToArray(); this.box_fields.Update(); }