/// <summary> /// Verifica o tipo de documento selecionado /// e mostra somente os campos correspondentes a esse tipo de documento. /// </summary> /// <param name="e">Item do repeater</param> public void MostraCamposCorretosDeCadaDocumento(RepeaterItemEventArgs e) { var tiposDocumentos = _VS_tipos_documentos; //CASO A VIEWSTATE DE TIPOS DE DOCUMENTOS NÃO EXISTA, DÁ GET NO BANCO E SETA PARA A MESMA if (tiposDocumentos == null) { tiposDocumentos = SYS_TipoDocumentacaoBO.GetSelect(Guid.Empty, "", "", 0, false, 1, 1); _VS_tipos_documentos = tiposDocumentos; } //CAMPOS(DIVS) QUE DEVERÃO SER MOSTRADAS OU OCULTADAS DEPENDENDO DO TIPO DE DOCUMENTO var campos = new string[] { "Categoria", "Classificacao", "Csm", "DtEmissao", "DataEntrada" , "DataExpedicao", "DataValidade", "UF", "InfCompl", "NumDoc", "OrgEmissor", "Pais" , "NumeroRA", "RegiaoMilitar", "Secao", "Serie", "TipoGuarda", "Via" , "Zona" }; //PEGA OS ATRIBUTOS DE CADA DOCUMENTO var atributos = (from DataRow dr in tiposDocumentos.Rows where (Guid)dr["tdo_id"] == new Guid(((DropDownList)e.Item.FindControl("ddlTipoDoc")).SelectedValue) select(dr["tdo_atributos"] != DBNull.Value ? (string)dr["tdo_atributos"] : null)).FirstOrDefault(); //CASO O CAMPO ATRIBUTOS ESTEJA NULO, DA GET NO BANCO NOS ATRIBUTOS DEFAULT if (String.IsNullOrEmpty(atributos)) { atributos = _VS_tipos_documentos_atributos_default; if (String.IsNullOrEmpty(atributos)) { try { var tipoDocumentacaoAtributos = SYS_TipoDocumentacaoAtributoBO.SelecionarAtributos(); var auxAtributo = (from DataRow dr in tipoDocumentacaoAtributos.Rows select(dr["tda_default"] != DBNull.Value ? (bool)dr["tda_default"] : false)); auxAtributo.ToList().ForEach(x => atributos += Convert.ToByte(x)); } catch (Exception ex) { atributos = "0001000111100000000"; } _VS_tipos_documentos_atributos_default = atributos; } } if (atributos != null) { //ESCONDE OS CAMPOS QUE NÃO PERTENCEM AO TIPO DE DOCUMENTO ESCOLHIDO for (int i = 0; i < atributos.Length; i++) { if (atributos[i] == '0') { (e.Item.FindControl(campos[i])).Visible = false; } } } }
protected void CarregarAtributos(bool selecionarAtributosDefault = false) { // Carrega os atributos do tipo de documento, validando se é para checar os atributos que estão marcados como default DataTable dt = SYS_TipoDocumentacaoAtributoBO.SelecionarAtributos(); _ckbAtributos.Items.Clear(); for (int i = 0; i < dt.Rows.Count; i++) { _ckbAtributos.Items.Add(new ListItem(dt.Rows[i]["tda_descricao"].ToString(), dt.Rows[i]["tda_id"].ToString())); if (selecionarAtributosDefault) { if ((bool)dt.Rows[i]["tda_default"]) { _ckbAtributos.Items.FindByValue(dt.Rows[i]["tda_id"].ToString()).Selected = true; } } } }