public ActionResult InstEdit(int?id) { if (id == null || id <= 0) { return(RedirectToAction("Index")); } Instituicao inst = new Instituicao(); InstituicaoViewModelEdit IVm = new InstituicaoViewModelEdit(); inst = _db.Instituicoes.Where(x => x.InstituicaoID == id).FirstOrDefault(); var TiposEnsinoSub = _db.InstituicaoTipoEnsino.Where(w => w.InstituicoesID == id).ToList(); IVm.TiposEnsino = _db.TipoEnsino.ToList(); var ServicosSub = _db.Servicos.Where(w => w.InstituicoesServicos.Any(s => s.ServicosID == w.ServicosID && s.InstituicoesID == id)).ToList(); IVm.Servicos = _db.Servicos.ToList(); IVm.Cidades = _db.Cidades.ToList(); foreach (var serv in ServicosSub) { IVm.Servicos.Where(w => w.ServicosID == serv.ServicosID) .Select(s => { s.IsSelected = true; return(s); }).ToList(); } foreach (var serv in TiposEnsinoSub) { IVm.TiposEnsino.Where(w => w.TipoEnsinoID == serv.TipoEnsinoID) .Select(s => { s.IsSelected = true; s.Valor = serv.Valor; return(s); }).ToList(); } IVm.Nome = inst.Nome; IVm.Cidade = inst.Cidade; IVm.InstituicaoID = inst.InstituicaoID; IVm.Morada = inst.Morada; IVm.CodPostal = inst.CodPostal; IVm.Telefone = inst.Telefone; IVm.TipoInstituicao = inst.TipoInstituicao; return(View(IVm)); }
public ActionResult ServicosLista() { var UserId = User.Identity.GetUserId(); var id = _db.Instituicoes.Where(w => w.UserID == UserId).Select(s => s.InstituicaoID).FirstOrDefault(); InstituicaoViewModelEdit IVm = new InstituicaoViewModelEdit(); var TiposEnsinoSub = _db.InstituicaoTipoEnsino.Where(w => w.InstituicoesID == id).ToList(); var TiposEnsino = _db.TipoEnsino.ToList(); foreach (var serv in TiposEnsinoSub) { TiposEnsino.Where(w => w.TipoEnsinoID == serv.TipoEnsinoID) .Select(s => { s.IsSelected = true; s.Valor = serv.Valor; return(s); }).ToList(); } return(View(TiposEnsino)); }
// GET: Instituicao/Edit/5 public ActionResult Edit( ) { var UserId = User.Identity.GetUserId(); var id = _db.Instituicoes.Where(w => w.UserID == UserId).Select(s => s.InstituicaoID).FirstOrDefault(); Instituicao inst = new Instituicao(); InstituicaoViewModelEdit IVm = new InstituicaoViewModelEdit(); inst = _db.Instituicoes.Where(x => x.InstituicaoID == id).FirstOrDefault(); var TiposEnsinoSub = _db.InstituicaoTipoEnsino.Where(w => w.InstituicoesID == id).ToList(); IVm.TiposEnsino = _db.TipoEnsino.ToList(); var ServicosSub = _db.Servicos.Where(w => w.InstituicoesServicos.Any(s => s.ServicosID == w.ServicosID && s.InstituicoesID == id)).ToList(); IVm.Servicos = _db.Servicos.ToList(); IVm.Cidades = _db.Cidades.ToList(); foreach (var serv in ServicosSub) { IVm.Servicos.Where(w => w.ServicosID == serv.ServicosID) .Select(s => { s.IsSelected = true; return(s); }).ToList(); } foreach (var serv in TiposEnsinoSub) { IVm.TiposEnsino.Where(w => w.TipoEnsinoID == serv.TipoEnsinoID) .Select(s => { s.IsSelected = true; s.Valor = serv.Valor; return(s); }).ToList(); } IVm.Nome = inst.Nome; IVm.Cidade = inst.Cidade; IVm.Morada = inst.Morada; IVm.CodPostal = inst.CodPostal; IVm.Telefone = inst.Telefone; IVm.TipoInstituicao = inst.TipoInstituicao; return(View(IVm)); }
public ActionResult Edit(InstituicaoViewModelEdit i) { try { i.Cidades = _db.Cidades.ToList(); if (ModelState.IsValid) { var UserID = User.Identity.GetUserId(); var InstituicaoID = Convert.ToInt16(_db.Instituicoes.Where(w => w.UserID == UserID).Select(se => se.InstituicaoID).FirstOrDefault()); i.Cidade = _db.Cidades.FirstOrDefault(c => c.CidadeID == i.Cidade.CidadeID); var inst = _db.Instituicoes.Find(InstituicaoID); inst.Morada = i.Morada; inst.Nome = i.Nome; inst.Telefone = i.Telefone; inst.Cidade = i.Cidade; inst.CodPostal = i.CodPostal; inst.TipoInstituicao = i.TipoInstituicao; _db.SaveChanges(); var lstServ = _db.InstituicoesServicos.Where(w => w.InstituicoesID == InstituicaoID); _db.InstituicoesServicos.RemoveRange(lstServ); foreach (var it in i.Servicos) { if (it.IsSelected) { var instSer = new InstituicaoServico(); instSer.InstituicoesID = InstituicaoID; instSer.ServicosID = it.ServicosID; _db.InstituicoesServicos.Add(instSer); } } var lstTE = _db.InstituicaoTipoEnsino.Where(w => w.InstituicoesID == InstituicaoID); _db.InstituicaoTipoEnsino.RemoveRange(lstTE); foreach (var it in i.TiposEnsino) { if (it.IsSelected) { var instTEnsi = new InstituicaoTipoEnsino(); instTEnsi.InstituicoesID = InstituicaoID; instTEnsi.TipoEnsinoID = it.TipoEnsinoID; instTEnsi.Valor = it.Valor; _db.InstituicaoTipoEnsino.Add(instTEnsi); } } _db.SaveChanges(); return(RedirectToAction("Index")); } return(View()); } catch (System.Data.Entity.Validation.DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { ModelState.AddModelError("", "\n" + string.Format("{0}:{1}", validationErrors.Entry.Entity.ToString(), validationError.ErrorMessage)); } } return(View(i)); } catch (Exception e) { return(View(i)); } }