public async Task <IActionResult> CreateEkspozita() { var pics = await _context.Pikturat.ToListAsync(); string idUser = _userManager.GetUserId(User); List <Pikturat> UserPictures = new List <Pikturat>(); foreach (var item in pics) { if (item.ID_Useri == idUser) { UserPictures.Add(item); } } UserPictures.Reverse(); CreateEkspozitaModel createEkspozitaModel = new CreateEkspozitaModel(); createEkspozitaModel._pikturat = UserPictures; return(View(createEkspozitaModel)); }
public async Task <IActionResult> CreateEkspozita([Bind("_ekspozita")] CreateEkspozitaModel ekspozitat, IFormFile file) { if (file != null && file.Length > 0) { var imagePath = @"\Upload\Images\Pikturat\"; var uploadPath = _env.WebRootPath + imagePath; //Create Directory if (!Directory.Exists(uploadPath)) { Directory.CreateDirectory(uploadPath); } //Create Uniq file name var uniqFileName = Guid.NewGuid().ToString(); var filename = Path.GetFileName(uniqFileName + "." + file.FileName.Split(".")[1].ToLower()); string fullPath = uploadPath + filename; var filePath = @".." + Path.Combine(imagePath, filename); using (var fileStream = new FileStream(fullPath, FileMode.Create)) { await file.CopyToAsync(fileStream); } //urlPathi i piktures ekspozitat._ekspozita.FotojaURL = filePath; } if (!TryValidateModel(ekspozitat, nameof(ekspozitat))) { ekspozitat._ekspozita.uzerEmail = User.Identity.Name; _context.Add(ekspozitat._ekspozita); await _context.SaveChangesAsync(); //Per te pastru listen statike (_idPikturattt), nga grupimi per fotot e ekspozites List <KeyValuePair <string, int> > fototPerEkspoziten = new List <KeyValuePair <string, int> >(); //lista me idUserin dhe idFotografine foreach (KeyValuePair <string, int> item in _idPikturattt) { if (item.Key == User.Identity.Name) { //rreshti ne tabeles pikturat qe ka id-n e fotos var pikturat = await _context.Pikturat.FindAsync(item.Value); //vendosja ids se ekspozites, te tabela Pikturat -> kolona 'ekspozita' pikturat.Ekspozitat = ekspozitat._ekspozita.Id_Ekspozites; try { _context.Update(pikturat); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PikturatExists(pikturat.IdPiktura)) { return(NotFound()); } else { throw; } } fototPerEkspoziten.Add(item); } } foreach (var item in fototPerEkspoziten) { _idPikturattt.Remove(item); } return(RedirectToAction(nameof(Ekspozitat))); } return(View(ekspozitat)); }