public ActionResult SalvarElementoMultimidia(long id, long objetoid, Guid guid, string json, bool remover = false)
        {
            var obj = _repositorioObjetosSessaoColaborativa.Retornar(objetoid);

            if (obj == null)
            {
                return(RedirectToAction("EscolherSessao"));
            }

            var el      = _repositorioElementoMultimidia.Consultar(x => x.Guid == guid).FirstOrDefault();
            var usuario = _repositorioUsuarios.Retornar(Convert.ToInt64(User.Identity.GetUserId()));

            json = json.Replace("\n", "\\n");
            if (el == null)
            {
                el = new ElementoMultimidia
                {
                    Usuario = usuario,
                    Guid    = guid,
                    Json    = json
                }
            }
            ;
            else
            {
                el.Json = json;
            }

            if (remover)
            {
                obj.ElementosMultimidia.Remove(el);
            }
            else
            {
                obj.ElementosMultimidia.Add(el);
            }

            _repositorioObjetosSessaoColaborativa.Salvar(obj);

            var sessao = _repositorioSessaoColaborativa.Retornar(id);
            var atualizaElementosHub = new AtualizaElementos();

            atualizaElementosHub.Executar(sessao);

            return(Json("ok", JsonRequestBehavior.AllowGet));
        }
        public ActionResult OrdenarObjeto(long id, long objetoid, long idanterior, long idreordenar)
        {
            var sessao = _repositorioSessaoColaborativa.Retornar(id);

            if (sessao == null)
            {
                return(Json("", JsonRequestBehavior.AllowGet));
            }

            int ordematual = 1;

            if (idanterior == 0)
            {
                sessao.ObjetosDaSessao.FirstOrDefault(x => x.Handle == idreordenar).Ordem = 1;
                ordematual++;
            }

            foreach (var objetoSessao in sessao.ObjetosDaSessao.OrderBy(x => x.Ordem))
            {
                if (objetoSessao.Handle == idreordenar)
                {
                    continue;
                }

                objetoSessao.Ordem = ordematual;

                ordematual++;

                if (objetoSessao.Handle == idanterior)
                {
                    sessao.ObjetosDaSessao.FirstOrDefault(x => x.Handle == idreordenar).Ordem = ordematual;
                    ordematual++;
                }
            }

            _repositorioSessaoColaborativa.Salvar(sessao);

            var atualizaElementosHub = new AtualizaElementos();

            atualizaElementosHub.Executar(sessao);

            return(Json("ok", JsonRequestBehavior.AllowGet));
        }