예제 #1
0
        public ActionResult Edit(Int32 idArtigo, String nmObjeto, String txDescricao, String txArtigo, List <InteresseVM> tags)
        {
            try
            {
                if (tags == null || tags.Count == 0)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, "É necessário selecionar ao menos 1 tema para o artigo"));
                }

                Artigo artigo = _context.Artigos.Where(a => a.IdArtigo == idArtigo).Include(a => a.Objeto).FirstOrDefault().Decrypt(_context);
                artigo.Objeto.NmObjeto    = nmObjeto;
                artigo.Objeto.TxDescricao = txDescricao;

                artigo.TxArtigo = txArtigo;
                artigo.Encrypt(_context);

                artigo.Objeto.Temas = new List <Tema>();
                foreach (InteresseVM interesse in tags)
                {
                    artigo.Objeto.Temas.Add(_context.Temas.Where(t => t.NmTema == interesse.NmInteresse).FirstOrDefault());
                }


                _context.Entry(artigo).State = EntityState.Modified;
                _context.SaveChanges();
                return(new HttpStatusCodeResult(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, ErrorFacade.GetErrorMessage(ex)));
            }
        }
예제 #2
0
        public ActionResult Create(String nmObjeto, String txDescricao, String txArtigo, List <InteresseVM> tags)
        {
            try
            {
                if (tags == null || tags.Count == 0)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, "É necessário selecionar ao menos 1 tema para o artigo"));
                }

                Usuario usuarioLogado = AccountFacade.GetLoggedInUser();

                List <Objeto> objetos = (new CoeusProjectContext()).Objetos.Where(o => o.IdUsuario == usuarioLogado.IdUsuario).Decrypt();

                if (objetos.Where(o => o.NmObjeto == nmObjeto).Count() > 0)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.OK));
                }

                Artigo artigo = new Artigo()
                {
                    Objeto = new Objeto()
                    {
                        IdUsuario   = usuarioLogado.IdUsuario,
                        Salt        = Salt.GetSalt(),
                        NmObjeto    = nmObjeto,
                        TxDescricao = txDescricao
                    },
                    TxArtigo = txArtigo
                };

                artigo.Objeto.Temas = new List <Tema>();

                foreach (InteresseVM interesse in tags)
                {
                    artigo.Objeto.Temas.Add(_context.Temas.Where(t => t.NmTema == interesse.NmInteresse).FirstOrDefault());
                }

                _context.Artigos.Add(artigo.Encrypt(_context));

                Grupo artigoGrupo = new Grupo()
                {
                    IdObjeto = artigo.IdObjeto,
                    Salt     = Salt.GetSalt(),
                    Usuarios = new List <Usuario> {
                        _context.Usuarios.Where(u => u.IdUsuario == usuarioLogado.IdUsuario).FirstOrDefault()
                    },
                    NmGrupo = nmObjeto
                };

                _context.Grupos.Add(artigoGrupo.Encrypt(_context));
                _context.SaveChanges();
                return(new HttpStatusCodeResult(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, ErrorFacade.GetErrorMessage(ex)));
            }
        }
예제 #3
0
        public ActionResult Edit(Int32 idArtigo, String nmObjeto, String txDescricao, String txArtigo)
        {
            try
            {
                Artigo artigo = _context.Artigos.Where(a => a.IdArtigo == idArtigo).Include(a => a.Objeto).FirstOrDefault().Decrypt(_context);
                artigo.Objeto.NmObjeto    = nmObjeto;
                artigo.Objeto.TxDescricao = txDescricao;

                artigo.TxArtigo = txArtigo;
                artigo.Encrypt(_context);

                _context.Entry(artigo).State = EntityState.Modified;
                _context.SaveChanges();
                return(new HttpStatusCodeResult(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, ErrorFacade.GetErrorMessage(ex)));
            }
        }