Пример #1
0
        public async Task <IActionResult> UploadZbor(RepozitorijZborViewModel 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_CHOIR + model.IdZbor);
                    var             filePath = "Zbor/" + model.IdZbor + "/" + formFile.FileName;
                    RepozitorijZbor dat      = new RepozitorijZbor
                    {
                        Id = Guid.NewGuid(),
                        DatumPostavljanja = DateTime.Now,
                        IdKorisnik        = user.Id,
                        IdZbor            = model.IdZbor,
                        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);
                }
                var pretplatnici = _ctx.PretplataNaZbor.Where(p => p.IdZbor == model.IdZbor).Select(p => p.IdKorisnik).ToHashSet();
                foreach (var pret in pretplatnici)
                {
                    OsobneObavijesti ob = new OsobneObavijesti
                    {
                        Id         = Guid.NewGuid(),
                        IdKorisnik = pret,
                        Tekst      = String.Format("Nove datoteke u zboru <b>{0}</b>.", _ctx.Zbor.Find(model.IdZbor).Naziv),
                        Procitano  = false,
                        Poveznica  = "/Repozitorij/Zbor/" + model.IdZbor
                    };
                    _ctx.Add(ob);
                    await _hubContext.Clients.User(pret.ToString()).SendAsync("NovaObavijest", new { id = ob.Id, poveznica = ob.Poveznica, procitano = ob.Procitano, datum = ob.Datum, tekst = ob.Tekst });
                }
                _ctx.SaveChanges();
            }

            return(RedirectToAction("Zbor", new { id = model.IdZbor }));
        }
Пример #2
0
 public void Preuzmi(RepozitorijZbor dat)
 {
     _apiServices.PreuzmiZborAsync(dat);
 }
Пример #3
0
        public async void Obrisi(RepozitorijZbor dat)
        {
            Datoteke.Remove(dat);

            await _apiServices.ObrisiRepozitorijZborAsync(dat.Id);
        }
Пример #4
0
 public async void Vidljivost(RepozitorijZbor dat)
 {
     await _apiServices.VidljivostZborAsync(dat.Id, dat.Privatno? "privatizirajzbor" : "objavizbor");
 }