Beispiel #1
0
        public async Task <IActionResult> CreateAsync(PhotoArchiveEditViewModel photoArchiveViewModel)
        {
            if (ModelState.IsValid)
            {
                var photoArchiveVersion   = photoArchiveViewModel.MapToPhotoArchive();
                PhotosAlbumVersion photoA = new PhotosAlbumVersion();
                var user = await _userManager.GetUserAsync(HttpContext.User);

                photoA.CreatedById  = user.Id;
                photoA.Order        = 1;
                photoA.IsActive     = true;
                photoA.CreationDate = DateTime.Now;
                photoA.ImagePath    = _fileService.UploadImageUrlNew(photoArchiveViewModel.ImageFile);
                photoArchiveVersion.PhotosAlbumVersions.Add(photoA);
                photoArchiveVersion.CreatedById  = user.Id;
                photoArchiveVersion.CreationDate = DateTime.Now;
                photoArchiveVersion.ImageUrl     = _fileService.UploadImageUrlNew(photoArchiveViewModel.ImageFile);
                var newPageSectionCardVersion = _photoArchiveRepository.Add(photoArchiveVersion, photoArchiveViewModel.PageRouteId);
                if (newPageSectionCardVersion != null)
                {
                    _toastNotification.AddSuccessToastMessage("Element has been added successfully. </br> It will take effect after admin approval.");
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Photo Archive", photoArchiveViewModel.EnPhotoArchiveName);

                    return(RedirectToAction("Index", new { pageRouteId = photoArchiveViewModel.PageRouteId }));
                }
                else
                {
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Photo Archive", photoArchiveViewModel.EnPhotoArchiveName);
                    _toastNotification.AddErrorToastMessage("Error has been occurred");
                }
            }
            var photoArchives        = _photoArchiveRepository.GetVersion();
            var listPhotoArchiveType = photoArchives.Select(m => new { m.EnPhotoArchiveType, m.ArPhotoArchiveType })
                                       .Distinct()
                                       .ToList();
            List <SelectListItem> photoArchiveType = listPhotoArchiveType.Select(i => new SelectListItem {
                Text = i.EnPhotoArchiveType + "( " + i.ArPhotoArchiveType + " )", Value = i.EnPhotoArchiveType + "$" + i.ArPhotoArchiveType
            }).ToList();

            var countrytip = new SelectListItem()
            {
                Value = "Select ArchiveType$Select ArchiveType",
                Text  = "Select ArchiveType"
            };

            photoArchiveType.Insert(0, countrytip);
            countrytip = new SelectListItem()
            {
                Value = "Other",
                Text  = "Other"
            };
            photoArchiveType.Insert(photoArchiveType.Count, countrytip);
            photoArchiveViewModel.PhotoArchiveType = photoArchiveType;
            return(View(photoArchiveViewModel));
        }