public JsonResult Serialize(TremCarregamento tremCarregamento)
 {
     return(Json(
                new
     {
         tremCarregamento.IdTrem,
         tremCarregamento.CdPfxoTremCrga,
         tremCarregamento.CdPfxoTremVazia,
         tremCarregamento.DtRefrPrgmCrga,
         tremCarregamento.CdTabl,
         ComposicaoTremLista = tremCarregamento?.ComposicaoTremLista?.Select(ct => new
         {
             ct.IdTrem,
             ct.NuPoscVagao,
             ct.CdVclo,
             ct.PsAprvVagaoAtrs,
             ct.PsBrutoVagaoCrgaDscg,
             ct.PsTaraVagaoCrgaDscg,
             ct.FlTipoVclo,
             PesagemVagaoLista = new
             {
                 CdVclo = (ct.PesagemVagaoLista != null && ct.PesagemVagaoLista.Count > 0)? ct.PesagemVagaoLista?.First().CdVclo : "",
                 IdTrem = (ct.PesagemVagaoLista != null && ct.PesagemVagaoLista?.Count > 0) ? ct.PesagemVagaoLista?.First().IdTrem : null,
                 PsTaraVagao = (ct.PesagemVagaoLista != null && ct.PesagemVagaoLista?.Count > 0) ? ct.PesagemVagaoLista?.First().PsTaraVagao: null,
                 PsVagaoBruto = (ct.PesagemVagaoLista != null && ct.PesagemVagaoLista?.Count > 0) ? ct.PesagemVagaoLista?.First().PsVagaoBruto: null
             }
         })
     }
                ));
 }
 public virtual void SalvarTremCarregamento(TremCarregamento trem)
 {
     trem.ComposicaoTremLista.ToList().ForEach(ct =>
     {
         ct.PesagemVagaoLista.ToList().ForEach(pv => { pv.IdTern = trem.Terminal02.IdTern; });
     });
     _tremCarregamentoRepository.Update(trem);
 }