public ActionResult AssociarCaminhoes(AssociarCaminhaoViewModel model) { Coletas coleta = db.Coletas.Find(model.coletaId); bool achou = false; foreach (var mc in model.caminhoes) { if (mc.selecionado) { achou = true; Caminhoes c = db.Caminhoes.Find(mc.caminhaoId); coleta.Caminhoes.Add(c); } } if (achou) { db.SaveChanges(); return(RedirectToAction("DetalheColeta", "Cooperativas", new { id = model.coletaId, aba = 2 })); } ViewBag.aviso = "Selecione pelo menos um caminhão!"; return(View(model)); }
public ActionResult AssociarCaminhoes(int?coletaId) { if (coletaId == null) { string mensagem = "Id da coleta não informado!"; return(RedirectToAction("Erro", "Home", new { Mensagem = mensagem })); } if (cooperativa == null) { string id = User.Identity.GetUserId(); cooperativa = db.Cooperativas.Find(id); } var caminhoesCoop = cooperativa.Caminhoes.ToList(); var caminhoes = new List <CaminhaoColetaViewModel>(); Coletas coleta = cooperativa.Coletas.Where(x => x.coletaId == coletaId.Value).SingleOrDefault(); foreach (var c in caminhoesCoop) { if (!coleta.Caminhoes.Contains(c)) { caminhoes.Add(new CaminhaoColetaViewModel() { caminhaoId = c.caminhaoId, placa = c.placa, descricao = c.descricao, selecionado = false }); } } AssociarCaminhaoViewModel model = new AssociarCaminhaoViewModel() { coletaId = coletaId.Value, caminhoes = caminhoes }; ViewBag.retorno = @Url.Action("DetalheColeta", "Cooperativas", new { id = coletaId, aba = 2 }); return(View(model)); }