none
Alterar valor de uma propriedade de outro model RRS feed

  • Pergunta

  • Bom dia

    Eu queria mudar o valor de uma campo específico de uma tabela que pertence a outra entidade.

    Exemplo:

    Eu tenho uma tabela com o nome "Chamado", quando o cliente fez o chamado ele persistiu a string "Aberto" no campo "Status". Após isso o funcionário da revenda vai prospectar este chamado para um técnico, neste momento ele persiste todos os dados nessessários na tabela "ChamadoProspeccao", porém ele tem que alterar o valor do campo "Status" da tabela "Chamado" para "Prospectado".

    Como eu poderia fazer isso? Agradeço desde ja.


    Paulo Marcelo Dalbosco

    terça-feira, 19 de fevereiro de 2013 14:27

Respostas

  • Eu consegui, mas ainda queria saber com o pessoal se é a melhor forma de se fazer, olhem soh.

    Após ele salvar os dados de "Chamado Prospeccao" ele faz a alteração em "Chamado".

                    chamado = db.Chamados.Find(id)
                    chamado.Status = "Prospectado"
                    db.Entry(chamado).State = EntityState.Modified
                    db.SaveChanges()


    Paulo Marcelo Dalbosco


    terça-feira, 19 de fevereiro de 2013 14:52

Todas as Respostas

  • Você deveria chamar uma action nessa hora e atualizar a outra model.

    Você quer atualizar somente na view ou persistir dados no SQL também?


    Twitter: @MayogaX
    Blog: Dev Blog

    terça-feira, 19 de fevereiro de 2013 14:51
  • Eu consegui, mas ainda queria saber com o pessoal se é a melhor forma de se fazer, olhem soh.

    Após ele salvar os dados de "Chamado Prospeccao" ele faz a alteração em "Chamado".

                    chamado = db.Chamados.Find(id)
                    chamado.Status = "Prospectado"
                    db.Entry(chamado).State = EntityState.Modified
                    db.SaveChanges()


    Paulo Marcelo Dalbosco


    terça-feira, 19 de fevereiro de 2013 14:52
  • Quero persistir Priscila.

    Paulo Marcelo Dalbosco

    terça-feira, 19 de fevereiro de 2013 14:54
  • Eu consegui, mas ainda queria saber com o pessoal se é a melhor forma de se fazer, olhem soh.

    Após ele salvar os dados de "Chamado Prospeccao" ele faz a alteração em "Chamado".

                    chamado = db.Chamados.Find(id)
                    chamado.Status = "Prospectado"
                    db.Entry(chamado).State = EntityState.Modified
                    db.SaveChanges()


    Paulo Marcelo Dalbosco


    Eu não tinha certeza se você estava usando EF. Esse seria o jeito mais simples e direto mesmo.
    Poce pode deixar tudo mais abstrato, criar uma camada de acesso a dados e não deixar esse código direto na sua action, esse sim seria o melhor jeito

    Twitter: @MayogaX
    Blog: Dev Blog

    terça-feira, 19 de fevereiro de 2013 17:47
  • Obrigado pela dica Prisicla, deixar de forma mais abstrata é uma boa idéia! =)

    Paulo Marcelo Dalbosco

    terça-feira, 19 de fevereiro de 2013 18:24