private static void AdicionarNotificacao(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 EscolherSessao(string SessaoColaborativaId) { 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 }); }
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.Png); var myEncoder = Encoder.Quality; var myEncoderParameters = new EncoderParameters(1); var myEncoderParameter = new EncoderParameter(myEncoder, 90L); myEncoderParameters.Param[0] = myEncoderParameter; 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, myEncoderParameters); // 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"); }