public ActionResult EscolherSessao(string SessaoColaborativaId)
        {
            if (string.IsNullOrEmpty(SessaoColaborativaId))
            {
                return(RedirectToAction("Index", "Home"));
            }

            var usuario = _repositorioUsuarios.Retornar(Convert.ToInt64(User.Identity.GetUserId()));

            if (string.IsNullOrEmpty(SessaoColaborativaId))
            {
                return(View());
            }

            var sessao = _repositorioSessaoColaborativa.Retornar(long.Parse(SessaoColaborativaId));

            if (sessao == null)
            {
                return(View());
            }

            var img = TempData["ThumbImageSavedURL"];

            TempData["ThumbImageSavedURL"] = null;
            var imgtn = TempData["ThumbImageTNSavedURL"];
            var url   = TempData["UrlReferer"];

            if (img == null)
            {
                return(RedirectToAction("MostrarSessao", "Vimaps", new { id = SessaoColaborativaId }));
            }

            int ordem = 1;

            if (sessao.ObjetosDaSessao.Count > 0)
            {
                ordem = sessao.ObjetosDaSessao.Max(x => x.Ordem) + 1;
            }

            var objeto = new ObjetoSessao
            {
                UrlImagem    = img.ToString(),
                UrlMiniatura = imgtn.ToString(),
                Ordem        = ordem,
                UrlOrigem    = url.ToString(),
                Usuario      = usuario
            };

            sessao.ObjetosDaSessao.Add(objeto);
            sessao = _repositorioSessaoColaborativa.Salvar(sessao);

            // MOSTRANDO PRA ESCOLHER QUAL SESSÃO
            objeto = sessao.ObjetosDaSessao.FirstOrDefault(x => x.Ordem == ordem);
            if (sessao.ObjetosDaSessao.Count > 0)
            {
                TempData["NovoObjeto"] = objeto.Handle;
            }

            return(RedirectToAction("MostrarSessao", "Vimaps", new { id = SessaoColaborativaId, objetoid = objeto.Handle }));
        }
Пример #2
0
        private static void AdicionarNotificacao(Models.Entidades.Usuario usuario, ObjetoSessao objetoSessao)
        {
            var notificacaoExistente = usuario.Notificacoes.FirstOrDefault(x => x.ObjetoSessao == objetoSessao);

            if (notificacaoExistente != null)
            {
                notificacaoExistente.Quantidade++;
            }
            else
            {
                usuario.Notificacoes.Add(new Models.Entidades.Notificacao
                {
                    Handle       = 0,
                    ObjetoSessao = objetoSessao,
                    Quantidade   = 1
                });
            }
        }
        public ActionResult SendImage(string imgdata, string url)
        {
            // Saving
            if (string.IsNullOrEmpty(imgdata))
            {
                return(RedirectToAction("MostrarSessao"));
            }

            var imagespath = Server.MapPath("~/UserData/Images");

            if (!Directory.Exists(imagespath))
            {
                Directory.CreateDirectory(imagespath);
            }

            var jpgEncoder = GetEncoder(ImageFormat.Jpeg);

            var myEncoder           = Encoder.Quality;
            var myEncoderParameters = new EncoderParameters(1);
            var myEncoderParameter  = new EncoderParameter(myEncoder, 90L);

            myEncoderParameters.Param[0] = myEncoderParameter;

            var myEncodert           = Encoder.Quality;
            var myEncoderParameterst = new EncoderParameters(1);
            var myEncoderParametert  = new EncoderParameter(myEncodert, 10L);

            myEncoderParameterst.Param[0] = myEncoderParametert;

            var filename   = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + Guid.NewGuid() + ".jpg";
            var filenametn = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + Guid.NewGuid() + "_tn.jpg";
            var str64      = imgdata.Split(',')[1];
            var bytes      = Convert.FromBase64String(str64);

            Image image;

            using (var ms = new MemoryStream(bytes))
            {
                image = Image.FromStream(ms);
            }

            image.Save(imagespath + "/" + filename, jpgEncoder, myEncoderParameters);
            image.Save(imagespath + "/" + filenametn, jpgEncoder, myEncoderParameterst);

            // VERIFICANDO SESSÃO ABERTA
            if (Session["lastSessionId"] != null && Session["lastObjectId"] != null)
            {
                long sessionid, objectid;

                if (long.TryParse(Session["lastSessionId"].ToString(), out sessionid) &&
                    long.TryParse(Session["lastObjectId"].ToString(), out objectid))
                {
                    var sessao = _repositorioSessaoColaborativa.Retornar(sessionid);

                    int ordem = 1;

                    if (sessao.ObjetosDaSessao.Count > 0)
                    {
                        ordem = sessao.ObjetosDaSessao.Max(x => x.Ordem) + 1;
                    }

                    var usuario = _repositorioUsuarios.Consultar(x => x.Handle.Equals(User.Identity.GetUserId <long>())).FirstOrDefault();

                    var objeto = new ObjetoSessao
                    {
                        UrlImagem    = "/UserData/Images/" + filename,
                        UrlMiniatura = "/UserData/Images/" + filenametn,
                        Ordem        = ordem,
                        UrlOrigem    = url.ToString(),
                        Usuario      = usuario
                    };

                    sessao.ObjetosDaSessao.Add(objeto);
                    sessao = _repositorioSessaoColaborativa.Salvar(sessao);

                    // COLOCANDO OBJETO DEPOIS DO OBJETO ATUAL
                    objeto = sessao.ObjetosDaSessao.FirstOrDefault(x => x.Ordem == ordem);
                    long ido = 0;
                    if (Session["lastObjectId"] != null && long.TryParse(Session["lastObjectId"].ToString(), out ido))
                    {
                        OrdenarObjeto(sessao.Handle, objeto.Handle, ido, objeto.Handle);
                    }

                    return(RedirectToAction("MostrarSessao", "Vimaps", new { id = sessao.Handle, objetoid = objeto.Handle }));
                }
            }

            TempData["ThumbImageSavedURL"]   = "/UserData/Images/" + filename;
            TempData["ThumbImageTNSavedURL"] = "/UserData/Images/" + filenametn;
            TempData["UrlReferer"]           = url;

            return(RedirectToAction("MostrarSessao"));
        }