Esempio n. 1
0
        // отправка информации
        public IActionResult OnPost()
        {
            if (ModelState.IsValid)
            {
                if (Photo != null)
                {
                    if (Publication.PhotoPath != null)
                    {
                        string filePath = Path.Combine(_webHostEnvironment.WebRootPath, "images", Publication.PhotoPath);
                        if (Publication.PhotoPath != "noimage.png")
                        {
                            System.IO.File.Delete(filePath);
                        }
                    }

                    Publication.PhotoPath = ProcessUploadFile();
                }

                if (Publication.Id > 0)
                {
                    Publication = _publicationRepository.Update(Publication);
                    TempData["SuccessMessage"] = $"Update {Publication.Name} successful!";
                }
                else
                {
                    Publication = _publicationRepository.Add(Publication);
                    TempData["SuccessMessage"] = $"Adding {Publication.Name} successful!";
                }
                return(RedirectToPage("/Admin/AdminEmpl/AdPublications"));
            }
            return(Page());
        }
Esempio n. 2
0
        //для отправки информации на сервер используется POST
        public IActionResult OnPost()
        {
            if (ModelState.IsValid)
            {
                if (Photo != null)
                {
                    if (Publication.PhotoPath != null)                                                                    //если фото не равняется null(удаление)
                    {
                        string filePath = Path.Combine(_webHostEnvironment.WebRootPath, "images", Publication.PhotoPath); //присваивется путь фото (путь к www.root, папка images, название фото)
                        if (Publication.PhotoPath != "noimage.png")                                                       //проверка на noimage
                        {
                            System.IO.File.Delete(filePath);                                                              //удаление
                        }
                    }

                    Publication.PhotoPath = ProcessUploadFile();
                }

                if (Publication.Id > 0)
                {
                    Publication = _publicationRepository.Update(Publication);
                    TempData["SuccessMessage"] = $"Update {Publication.Name} successful!";
                }
                else
                {
                    Publication = _publicationRepository.Add(Publication);
                    TempData["SuccessMessage"] = $"Adding {Publication.Name} successful!";
                }
                return(RedirectToPage("Publications"));
            }
            return(Page());
        }
Esempio n. 3
0
        public IActionResult Create(PublicationViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var model = viewModel.MapToPublicationModel();
                if (viewModel.ImageFile1 != null)
                {
                    model.Image1 = _fileService.UploadImageUrlNew(viewModel.ImageFile1);
                }
                if (viewModel.ImageFile2 != null)
                {
                    model.Image2 = _fileService.UploadImageUrlNew(viewModel.ImageFile2);
                }
                if (viewModel.ImageFile3 != null)
                {
                    model.Image3 = _fileService.UploadImageUrlNew(viewModel.ImageFile3);
                }
                _publicationRepository.Add(model);
                _toastNotification.AddSuccessToastMessage(ToasrMessages.AddSuccess);
                _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Home Page > Publication > Add", viewModel.EnTitle1);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
        public void Add(PublicationModel model)
        {
            var entity = PublicationFactory.Create(model);

            _publicationRepository.Add(entity);

            model.Id = entity.Id;
        }
        public async Task <Publication> CreateOrUpdate(Guid?publicationId, PublicationDto createdPublicationData)
        {
            if (publicationId == null)
            {
                var publication = _publicationRepository.Add(createdPublicationData);
                await _domainContext.SaveChangesAsync();

                return(await _publicationRepository.GetAsync(publication.Id));
            }

            await _publicationRepository.UpdateAsync(publicationId.Value, createdPublicationData);

            await _domainContext.SaveChangesAsync();

            return(await _publicationRepository.GetAsync(publicationId.Value));
        }
Esempio n. 6
0
        public bool Post(Publication publication)
        {
            User user = _userRepository.FindBy(x => x.Id == publication.UserId).FirstOrDefault();

            try
            {
                // Vérification d'ajout de publication toutes les 10min
                if (user.CanPublish == true)
                {
                    _publicationRepository.Add(publication);
                    _publicationRepository.Save();
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(true);
        }
        public async Task <ActionResult <Dtos.PublicationOutputModel> > AddPublication(
            Dtos.PublicationInputModel publicationInputModel)
        {
            var publicationToInsert = _mapper.Map <Domain.Models.Publication>(publicationInputModel);

            publicationToInsert.Id = Guid.NewGuid();

            var authorIdsFromInput = publicationInputModel.AuthorIds;

            var publicationAuthors = new List <Domain.Models.PublicationAuthors>();

            foreach (var authorId in authorIdsFromInput)
            {
                var authorFromRepo = await _authorRepository.GetAsync(authorId);

                if (authorFromRepo == null)
                {
                    return(NotFound($"Author with id: {authorId} was not found"));
                }

                var publicationAuthor = new Domain.Models.PublicationAuthors()
                {
                    Author        = authorFromRepo,
                    AuthorId      = authorFromRepo.Id,
                    Publication   = publicationToInsert,
                    PublicationId = publicationToInsert.Id
                };

                publicationAuthors.Add(publicationAuthor);
            }

            var categoryIdsFromInput = publicationInputModel.CategoryIds;

            var publicationCategories = new List <Domain.Models.PublicationCategories>();

            foreach (var categoryId in categoryIdsFromInput)
            {
                var categoryFromRepo = await _categoryRepository.GetAsync(categoryId);

                if (categoryFromRepo == null)
                {
                    return(NotFound($"Category with id: {categoryId} was not found"));
                }

                var publicationCategory = new Domain.Models.PublicationCategories()
                {
                    Category      = categoryFromRepo,
                    CategoryId    = categoryId,
                    Publication   = publicationToInsert,
                    PublicationId = publicationToInsert.Id
                };

                publicationCategories.Add(publicationCategory);
            }

            var publicationHouseFromInput = await _publicationHouseRepository
                                            .GetAsync(publicationInputModel.PublicationHouseId);

            if (publicationHouseFromInput == null)
            {
                return(NotFound($"Publication House with id: {publicationHouseFromInput.Id} was not found"));
            }

            publicationToInsert.PublicationAuthors    = publicationAuthors;
            publicationToInsert.PublicationCategories = publicationCategories;
            publicationToInsert.PublicationHouseId    = publicationHouseFromInput.Id;

            _publicationRepository.Add(publicationToInsert);
            await _publicationRepository.SaveChangesAsync();

            var publicationOutput = await GetPublication(publicationToInsert.Id);

            return(CreatedAtRoute("GetPublication", new { publicationId = publicationToInsert.Id }
                                  , publicationOutput.Result));
        }