public ActionResult Remover(int id) { var result = new JsonResult() { JsonRequestBehavior = JsonRequestBehavior.AllowGet }; TDM tdm = db.TDM.Find(id); this.user = (Usuario)Session["ObjUsuario"]; if (tdm.TdmPublico) { result.Data = new { Result = "Não é possível excluir um TDM Público", Status = (int)WebExceptionStatus.UnknownError }; } try { List <DataPool> dataPools = db.DataPool.Where(x => x.IdTDM == id).ToList(); if (dataPools.Count() > 0) { throw new Exception("O TDM possui relacionamento com Datapools.", new Exception("FK_DataPool_TDM")); } TDM_Usuario tdm_usuario = db.TDM_Usuario.Where(x => x.IdTDM == id).Where(x => x.IdUsuario == user.Id).FirstOrDefault(); db.TDM_Usuario.Remove(tdm_usuario); db.SaveChanges(); db.TDM.Remove(tdm); db.SaveChanges(); result.Data = new { Result = "TDM removida com sucesso.", Status = (int)WebExceptionStatus.Success }; } catch (Exception ex) { if (ex.InnerException != null && ex.InnerException != null && ex.InnerException.Message.ToString().Contains("FK_DataPool_TDM")) { result.Data = new { Result = "Esse registro contém dependência com outra entidade.", Status = (int)WebExceptionStatus.SendFailure } } ; else { result.Data = new { Result = ex.Message, Status = (int)WebExceptionStatus.UnknownError } }; } return(result); }
public ActionResult Salvar(TDM objeto, bool editar = false) { this.user = (Usuario)Session["ObjUsuario"]; try { if (!ModelState.IsValid) { var msg = string.Empty; ModelState.Values.SelectMany(v => v.Errors).ForEach(m => msg = string.Concat(m.ErrorMessage.ToString(), @"\n")); if (!msg.IsNullOrWhiteSpace()) { this.FlashWarning(msg); } return(View("Adicionar", objeto)); } TDM tdm; if (editar) { //bool bOption = false; //if (Request.Form.Get("listTdmPublico").Equals("1")) //{ // bOption = true; //} //objeto.TdmPublico = bOption; db.Entry(objeto).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); //TDM_Usuario tdmUsuario = new TDM_Usuario() //{ // IdTDM = objeto.Id, // IdUsuario = Util.GetUsuarioLogado().Id //}; //db.TDM_Usuario.Add(tdmUsuario); //db.SaveChanges(); this.FlashSuccess("TDM editado com sucesso!"); } else { //bool bOption = false; //if (Request.Form.Get("listTdmPublico").Equals("1")){ // bOption = true; //} tdm = new TDM() { Descricao = Request.Form.Get("tdm_descricao"), TdmPublico = false, }; // Criando o objeto TDM Usuario e realizando a inserção no banco com os dados do Usuário responsável pela criação do TDM. TDM_Usuario tdm_usuario = new TDM_Usuario(); tdm_usuario.IdTDM = tdm.Id; tdm_usuario.IdUsuario = this.user.Id; // Salvando as alterações no banco db.TDM.Add(tdm); db.TDM_Usuario.Add(tdm_usuario); db.SaveChanges(); this.FlashSuccess("TDM adicionado com sucesso!"); } } catch (Exception ex) { if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException.Message.ToString().Contains("AK_TDM_Descricao")) { this.FlashWarning("Já existe um TDM com essa descrição. Para ter acesso contacte o administrador do sistema."); } else { this.FlashError(ex.Message); } } return(RedirectToAction("Index")); }