/// <summary> /// Reinicia todos os controles de atributo adicional para o seu estado inicial /// </summary> private void ReiniciaControles() { List <AtributoAdicional> atributos = (List <AtributoAdicional>)GerenciamentoAtributoAdicional.ObtemAtributosAdicionais(); GerenciamentoAtributoAdicional.AtualizaJsonValoresAtributosAdicionais(); this.TxtNome.Text = string.Empty; this.TxtValores.Text = string.Empty; this.BtnSalvar.CommandArgument = string.Empty; this.RptAtributoAdicional.DataSource = atributos.OrderBy(u => u.Nome); this.RptAtributoAdicional.DataBind(); }
/// <summary> /// Define os controles de edição com os valores do atributo adicional /// </summary> /// <param name="idAtributoAdicional">Identificador do atributo adicional</param> private void EditaAtributoAdicional(int idAtributoAdicional) { AtributoAdicional atributo = GerenciamentoAtributoAdicional.ObtemAtributoAdicional(idAtributoAdicional); string valores = string.Empty; foreach (Parametro valor in atributo.Valores) { valores += string.IsNullOrEmpty(valores) ? valor.Valor : ConstantesGlobais.SEPARADOR_TAG + valor.Valor; } this.TxtNome.Text = atributo.Nome; this.TxtValores.Text = valores; this.BtnSalvar.CommandArgument = idAtributoAdicional.ToString(); }
/// <summary> /// Altera o atributo adiconal e os seus valores, quando necessário /// </summary> /// <param name="idAtributoAdicional">Identificador do atributo adicional</param> private void AtualizaAtributoAdicional(int?idAtributoAdicional) { AtributoAdicional atributoAdicional = idAtributoAdicional.HasValue ? GerenciamentoAtributoAdicional.ObtemAtributoAdicional(idAtributoAdicional.Value) : new AtributoAdicional(); List <string> valoresCarregados = atributoAdicional.Valores != null?atributoAdicional.Valores.Select(v => v.Valor).ToList() : new List <string>(); List <string> valoresDigitados = !string.IsNullOrEmpty(this.TxtValores.Text) ? this.TxtValores.Text.Split(ConstantesGlobais.SEPARADOR_TAG).ToList() : new List <string>(); List <int> valoresExcluidos = atributoAdicional.Valores != null?atributoAdicional.Valores.Select(v => v.Id.Value).ToList() : new List <int>(); List <string> valoresAdicionados = new List <string>(); int idValor; foreach (string valor in valoresDigitados) { if (valoresCarregados.Contains(valor)) { idValor = atributoAdicional.Valores.First(v => v.Valor == valor).Id.Value; valoresExcluidos.Remove(idValor); } else { valoresAdicionados.Add(valor); } } atributoAdicional.Nome = this.TxtNome.Text; this.DivMensagem.Visible = true; this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO; if (string.IsNullOrEmpty(atributoAdicional.Nome)) { this.LblMensagem.Text = MENSAGEM_ERRO_NOME_VAZIO; return; } if (!GerenciamentoAtributoAdicional.AtualizaAtributoAdicional(atributoAdicional, valoresAdicionados, valoresExcluidos)) { this.LblMensagem.Text = MENSAGEM_ERRO_ALTERACAO; return; } this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO; this.LblMensagem.Text = idAtributoAdicional.HasValue ? MENSAGEM_SUCESSO_ALTERACAO : MENSAGEM_SUCESSO_INCLUSAO; this.ReiniciaControles(); }
/// <summary> /// Exclui o atributo adiconal e todos os seus valores /// </summary> /// <param name="idAtributoAdicional">Identificador do atributo adicional</param> private void ExcluiAtributoAdicional(int idAtributoAdicional) { AtributoAdicional atributoAdicional = GerenciamentoAtributoAdicional.ObtemAtributoAdicional(idAtributoAdicional); List <int> valoresAExcluir = atributoAdicional.Valores != null?atributoAdicional.Valores.Select(v => v.Id.Value).ToList() : new List <int>(); this.DivMensagem.Visible = true; this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO; if (!GerenciamentoAtributoAdicional.ExcluiAtributoAdicional(idAtributoAdicional, valoresAExcluir)) { this.LblMensagem.Text = MENSAGEM_ERRO_EXCLUSAO; return; } this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO; this.LblMensagem.Text = MENSAGEM_SUCESSO_EXCLUSAO; this.ReiniciaControles(); }