Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }