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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar