public Publication EditPublication(PublicationBindingModel model)
        {
            var publication = this.DbContext.Publications
                              .Include(p => p.Section)
                              .FirstOrDefault(p => p.Id == model.Id);

            publication.Section.Name = model.Section;
            publication.Title        = model.Title;
            publication.Description  = model.Description;

            this.DbContext.Publications.Update(publication);
            this.DbContext.SaveChanges();

            return(publication);
        }
        [Authorize]  // To use this for API makes AuthControler
        public IActionResult CreatePublication([FromBody] PublicationBindingModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(BadRequest(this.ModelState));
            }

            User author  = this.userManager.GetUserAsync(this.User).Result;
            var  section = this.identityService.GetSectionByName(model.Section);

            if (author == null || section == null)
            {
                return(NotFound());
            }

            var publication = this.identityService.CreatePublication(author, section, model.Title, model.Description);


            return(CreatedAtAction("Details", new { id = publication.Id }));
        }
Ejemplo n.º 3
0
        public IActionResult Edit(PublicationBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var publication = this.adminPublicationsService.EditPublication(model);

            if (publication == null)
            {
                return(NotFound());
            }

            this.TempData.Put("__Message", new MessageModel()
            {
                Type    = MessageType.Success,
                Message = WebConstants.PublicationEditSuccess
            });

            return(Redirect($"/Publications/Details/{model.Id}"));
        }
        public PublicationBindingModel GetPublication(int id)
        {
            var publiction = this.DbContext.Publications
                             .Include(p => p.Author)
                             .Include(p => p.Section)
                             .FirstOrDefault(s => s.Id == id);

            if (publiction == null)
            {
                return(null);
            }

            var model = new PublicationBindingModel()
            {
                Title       = publiction.Title,
                Section     = publiction.Section.Name,
                Description = publiction.Description,
                Author      = publiction.Author.UserName
            };

            return(model);
        }
Ejemplo n.º 5
0
        public ActionResult NewPublication(Guid profileId, PublicationBindingModel form)
        {
            var profile = _uow.Profiles.FindById(profileId);
            profile.AddUserPublication(form.ISSN,
                                        form.Title, form.Brief,
                                        form.Authors, form.Publisher,
                                        form.PublishedDate);
            _uow.Save();

            return RedirectToAction<UserProfileController>(c => c.Index());
        }
Ejemplo n.º 6
0
        public ActionResult NewPublication(Guid profileId)
        {
            var vm = new PublicationBindingModel()
            {
                ProfileId = profileId,
                PublishedDate = DateTime.Today
            };

            return View(vm);
        }