예제 #1
0
        public async Task SendMessage(PorukaModel poruka)
        {
            string name = Context.User.Identity.Name;

            var razg = _ctx.Razgovor.Where(razg => razg.Id == Guid.Parse(poruka.IdRazg)).Include(razg => razg.KorisnikUrazgovoru).SingleOrDefault();

            poruka.Message = poruka.Message.Replace("\n", "<br />");
            var user = _ctx.Korisnik.Where(k => k.Id == Guid.Parse(poruka.IdUser)).SingleOrDefault();

            poruka.Slika = user.IdSlika.ToString();
            poruka.Ime   = user.Ime;
            var when = DateTime.ParseExact(poruka.When, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

            poruka.When = when.ToString("dd.MM.yyyy. | HH:mm");

            Poruka novaPoruka = new Poruka
            {
                DatumIvrijeme = when,
                Id            = Guid.NewGuid(),
                IdKorisnik    = Guid.Parse(poruka.IdUser),
                IdRazgovor    = Guid.Parse(poruka.IdRazg),
                Poruka1       = poruka.Message
            };

            razg.DatumZadnjePoruke = when;
            _ctx.Add(novaPoruka);
            foreach (KorisnikUrazgovoru k in razg.KorisnikUrazgovoru)
            {
                if (k.IdKorisnik != novaPoruka.IdKorisnik)
                {
                    k.Procitano = false;
                }
                else
                {
                    k.Procitano = true;
                }
            }
            _ctx.SaveChanges();
            foreach (KorisnikUrazgovoru k in razg.KorisnikUrazgovoru)
            {
                await Clients.User(k.IdKorisnik.ToString()).SendAsync("ReceiveMessageMob", new { Id = novaPoruka.Id, IdKorisnik = novaPoruka.IdKorisnik, IdRazgovor = novaPoruka.IdRazgovor, Poruka1 = novaPoruka.Poruka1.Replace("<br />", "\n"), DatumIvrijeme = novaPoruka.DatumIvrijeme }, user.ImeIPrezime());

                await Clients.User(k.IdKorisnik.ToString()).SendAsync("ReceiveMessage", k.IdKorisnik, poruka);

                await Clients.User(k.IdKorisnik.ToString()).SendAsync("ChangeHeader", new
                {
                    Id        = novaPoruka.IdRazgovor,
                    Naziv     = razg.Naslov + " (" + user.ImeIPrezime() + ")",
                    Datum     = novaPoruka.DatumIvrijeme.ToString("dd.MM.yyyy. hh:mm"),
                    Slika     = user.IdSlika,
                    Poruka    = novaPoruka.Poruka1,
                    Procitano = k.Procitano
                });
            }
        }
예제 #2
0
        public async Task <IActionResult> Upload(RepozitorijViewModel model)
        {
            ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User);

            var  files = model.FormFiles;
            long size  = files.Sum(f => f.Length);

            foreach (var formFile in files)
            {
                if (formFile.Length > 0)
                {
                    DirectoryInfo       di       = Directory.CreateDirectory(LOCATION + "/" + user.Id);
                    var                 filePath = user.Id + "/" + formFile.FileName;
                    RepozitorijKorisnik dat      = new RepozitorijKorisnik
                    {
                        Id = Guid.NewGuid(),
                        DatumPostavljanja = DateTime.Now,
                        IdKorisnik        = user.Id,
                        Url      = filePath,
                        Privatno = true,
                        Naziv    = formFile.FileName
                    };

                    var fullPath = LOCATION + filePath;

                    using (var stream = System.IO.File.Create(fullPath))
                    {
                        await formFile.CopyToAsync(stream);
                    }
                    _ctx.Add(dat);
                }
                _ctx.SaveChanges();
            }

            return(RedirectToAction("Korisnik", new { id = user.Id }));
        }