Dúvida com lógica

21/07/2013

0

Uma ajuda com lógica. Tenho uma tabela associativa, que grava 3 ID's(FK). E o sistema está assim. Num CheckBoxList, escolho, a deficiência do cara. Há três checkbox. Sendo um deles, quando selecionado, é listado abaixo outro CheckBoxList, com vários itens a serem escolhidos. Cada item, é o que chamamos de classificação dadeficiência e preciso pegar esses ID's quando selecionado. Meu código está assim:

List<EmployeeDeficiency> deficiencies = new List<EmployeeDeficiency>();

foreach (ListItem item in ddlDeficiencia.Items)
{
if (item.Selected)
{
if (item.Value != "-1")
{
deficiencies.Add(new EmployeeDeficiency
{
EmployeeId = employee.EmployeeId,
HazardId = Convert.ToInt32(item.Value)
});
}
else if (item.Value == "-1" && txtRiscoOutro.Text != "")
{
employee.HazardOther = txtRiscoOutro.Text;
}
}
}

Onde está EmployeeID e HarzardID, eu pego aí o código do Funcionário e o Código da deficiência. Agora, preciso pegar o cóigo da classificação, caso esteja checado(Visible true). É nesse momento que minha lógica esta ruim. Como adicionar no objeto deficiencies e depois gravar no BD, assim:

_employeeDeficiencyService.InsertAllEmployeeDeficiencies(deficiencies );

É uma tabela Associativa(N to N).
Pjava

Pjava

Responder

Posts

23/07/2013

Gabriel Simas

Grande PJava,

Suas dúvidas como sempre desafiam os nossos conhecimentos.

Eu quando trabalho com relacionamentos N para N, eu coloco sempre um foreach dentro do principal e neste eu dou sempre um add, já no seu caso é diferente, você já deixou a Entidade Deficiency utiilizada, podemos fazer o que precisa desta forma, por exemplo:
Vocês fez toda aquela lógica para gravar as deficiencias certo? e dentro de deficiencias você gravou o idHazard e IdFuncionario... correto? pois bem. Fora deste foreach você vai criar o foreach de classificação. e dentro dela vai fazer quase que a mesma regra de deficiencies, a grande diferença é que ao final deste foreach você vai usar dificiencies.classification.Add(objetoDentroDoForeach) e pronto. Pelo que eu entendi, existem muitas dificiências para muitas classificações... creio que seja isso. E após estes bloco foreach você pode partir para persistir os dados.

Faça um teste e poste aqui.

Forte Abraço, é um prazer ajudar.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar