//Alterar o estado da candidatura na base de dados para 2 (VerificarCandidatura) ou cria uma nova com o estado a 2 public void SubmeterDb(UserAccountExposicao userAccountExposicao) { var submeterCandidatura = db.UserAccountExposicao.Where(u => u.UserAccountID == userAccountExposicao.UserAccountID).SingleOrDefault(u => u.ExposicaoID == userAccountExposicao.ExposicaoID); if (submeterCandidatura != null) { submeterCandidatura.Assigned = 2; submeterCandidatura.InformacaoExtra = null; db.Entry(submeterCandidatura).State = EntityState.Modified; db.SaveChanges(); } else { userAccountExposicao.Assigned = 2; db.UserAccountExposicao.Add(userAccountExposicao); db.SaveChanges(); } }
//método que remove ou adiciona temas a uma exposição ou a um utilizador. ITabelas pode ser um utilizador ou uma exposição public void UpdateTemas(string[] selectedTemas, ITabelas tabela, OurDBContext dbContext) { var userAccountTemas = new HashSet <int>(tabela.Temas.Select(t => t.TemaID)); if (selectedTemas == null) { if (tabela.Temas.Count != 0) { foreach (var tema in dbContext.Tema) { if (tabela.Temas.Contains(tema)) { tabela.Temas.Remove(tema); } } } dbContext.Entry(tabela).State = EntityState.Modified; dbContext.SaveChanges(); return; } var selectedTemasHs = new HashSet <string>(selectedTemas); foreach (var tema in dbContext.Tema) { if (selectedTemasHs.Contains(tema.TemaID.ToString())) { if (!userAccountTemas.Contains(tema.TemaID)) { tabela.Temas.Add(tema); } } else { if (userAccountTemas.Contains(tema.TemaID)) { tabela.Temas.Remove(tema); } } } dbContext.Entry(tabela).State = EntityState.Modified; dbContext.SaveChanges(); }
public ActionResult Edit(int UserAccountID, string nome, string morada, int numTelefone) { int id = UserAccountID; //Convert.ToInt32(Session["UserAccountID"]); var userAccountToUpdate = db.UserAccount.Include(u => u.Temas).SingleOrDefault(u => u.UserAccountID == id); if (TryUpdateModel(museuDB.EditUser(userAccountToUpdate, nome, morada, numTelefone), "", new string[] { "Nome,Morada,Idade,Sexo,NumTelefone,Email,Password,ConfirmPassword,TipoUtilizadorID" })) { try { db.Entry(museuDB.EditUser(userAccountToUpdate, nome, morada, numTelefone)).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("PerfilUser")); } catch (RetryLimitExceededException /* dex */) { ModelState.AddModelError("", "Nao foi possivel atualizar o user"); } } return(View(museuDB.EditUser(userAccountToUpdate, nome, morada, numTelefone))); }
public ActionResult ExtraInfo(string UserID, int ExposicaoID, string InformacaoExtra) { int uID = Int32.Parse(UserID); UserAccountExposicao userAccountExposicaoToUpdate = db.UserAccountExposicao.Find(uID, ExposicaoID); if (userAccountExposicaoToUpdate != null) { userAccountExposicaoToUpdate.InformacaoExtra = InformacaoExtra; db.Entry(userAccountExposicaoToUpdate).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("Candidatura", "UserAccountExposicao")); }
public ActionResult Edit([Bind(Include = "MarcacaoID,NomeRequerente,Idade,NumTelefoneRequerente,Data,HoraDeInicio,HoraDeFim,NumPessoas,ExposicaoID,UserAccountID")] Marcacao marcacao) { if (ModelState.IsValid) { Exposicao exposicao = db.Exposicao.Find(marcacao.ExposicaoID); if (dbMuseu.DataExposicaoMarcacao(marcacao.Data, exposicao.DataInicial, exposicao.DataFinal)) { TimeSpan dur = TimeSpan.Parse(exposicao.Duracao.Hour + ":" + exposicao.Duracao.Minute); marcacao.HoraDeFim = marcacao.HoraDeInicio.Add(dur); db.Entry(marcacao).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Edit", "Marcacao", new { id = marcacao.MarcacaoID })); } ModelState.AddModelError("Data", "Esta Exposição occore de " + exposicao.DataInicial.ToShortDateString() + " a " + exposicao.DataFinal.ToShortDateString()); } UserAccountDropdownListMarcacao(marcacao.ExposicaoID, marcacao.MarcacaoID, marcacao.UserAccount); return(View(marcacao)); }