Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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"));
        }