Esempio n. 1
0
        private static List <Photo> GetPhotos(Categories category, int annoucementId)
        {
            var imageFolder = Path.Combine("Data/SeedData/seedimages", category.ToString());

            var images = Directory.EnumerateFiles(imageFolder).Select(x => Path.GetFileName(x)).ToList();

            var rand         = new Random();
            var randSequence = Enumerable.Range(0, images.Count()).OrderBy(x => Guid.NewGuid()).ToList();

            var listOfImages = new List <Image>();

            foreach (var i in Enumerable.Range(1, 6))
            {
                var fileNumber = randSequence[i];
                var fileName   = Path.Combine(imageFolder, images[fileNumber]);
                listOfImages.Add(Image.FromFile(fileName));
            }
            string annoucementIdImageFolder = Path.Combine(RootPath, "images", $"{annoucementId}");

            var imgUrls = ImageFileProcessor.UploadFilesOnServerAndGetListOfFileNames(listOfImages, annoucementIdImageFolder);

            return(imgUrls.Select(x => new Photo()
            {
                PhotoUrl = x
            }).ToList());
        }
Esempio n. 2
0
        private List <string> UploadImages(List <IFormFile> formImages, string folderName)
        {
            var           images        = ImageFileProcessor.ConvertListIFormFileToListImage(formImages);
            List <string> listOfImgUrls = ImageFileProcessor.UploadFilesOnServerAndGetListOfFileNames(images, folderName);

            return(listOfImgUrls);
        }
Esempio n. 3
0
        public async Task <AnnoucementForViewDto> UpdateAnnoucement(AnnoucementForUpdateDto annoucementDto, int userId)
        {
            Annoucement annoucement = _mapper.Map <Annoucement>(annoucementDto);

            annoucement.UserId = userId;

            await _repo.Update(annoucement);

            await _repo.Save();

            if (annoucementDto.Photo != null)
            {
                string annoucementImageFolder = GetFolderNameForAnnoucementPhotos(annoucement.AnnoucementId);
                ImageFileProcessor.DeleteFolderWithAnnoucementPhotos(annoucementImageFolder);
                //var annoucementWithPhotos = await _repo.GetAll().Include(p => p.Photos).Where(x => x.AnnoucementId == annoucement.AnnoucementId).FirstOrDefaultAsync();
                //annoucementWithPhotos.Photos = new List<Photo>();
                List <string> generatedImageNames = UploadImages(annoucementDto.Photo, annoucementImageFolder);
                AddPhotosToAnnoucement(annoucement, generatedImageNames);
                await _repo.Save();
            }

            return(_mapper.Map <AnnoucementForViewDto>(annoucement));
        }
Esempio n. 4
0
        private void DeleteFolderWithAnnoucementPhotos(int annoucementId)
        {
            string annoucementIdImageFolder = GetFolderNameForAnnoucementPhotos(annoucementId);

            ImageFileProcessor.DeleteFolderWithAnnoucementPhotos(annoucementIdImageFolder);
        }