コード例 #1
0
        public async Task <IActionResult> EditAnnouncement(Guid id)
        {
            var announcement = await _context.Announcements.FirstOrDefaultAsync(p => p.Id == id);

            var viewModel = new EditAnnouncementViewModel
            {
                Subject = announcement.Subject,
                Type    = announcement.Type
            };

            return(View(viewModel));
        }
コード例 #2
0
        public EditAnnouncementPage(Food donatedfood)
        {
            var vm = new EditAnnouncementViewModel(donatedfood);

            this.BindingContext         = vm;
            vm.DisplayFoodDeleted      += () => DisplayAlert("Success", "Your announcement has been deleted!", "OK");
            vm.DisplayFoodDeletedError += () => DisplayAlert("Error", "Could not delete!", "OK");
            vm.DisplayUpdatedFood      += () => DisplayAlert("Success", "Your announcement has been updated!", "OK");
            vm.DisplayFatalError       += () => DisplayAlert("Error", "Fatal error!", "OK");
            vm.DisplayErrorOnUpdate    += () => DisplayAlert("Error", "There was an error on announcement update!", "OK");
            vm.DisplayApplicationError += () => DisplayAlert("Error", "Application error, contact the administrator!", "OK");
            InitializeComponent();
        }
コード例 #3
0
        public async Task <IActionResult> EditAnnouncement(EditAnnouncementViewModel editAnnouncement)
        {
            var announcement = await _announcementRepository.GetAnnouncementById(editAnnouncement.AnnouncementId);

            announcement.Title       = editAnnouncement.Title;
            announcement.Description = editAnnouncement.Description;
            announcement.DateAdded   = DateTime.Now.ToString("MM/dd/yyyy hh:mm tt");

            _announcementContext.Announcements.Update(announcement);
            await _announcementContext.SaveChangesAsync();

            return(RedirectToAction("AnnouncementDetails", new { id = announcement.AnnouncementId }));
        }
コード例 #4
0
        public async Task <IActionResult> OnEditAnnouncement(EditAnnouncementViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("EditAnnouncement", model));
            }

            var originalAnnouncement = await _context.Announcements.FirstOrDefaultAsync(p => p.Id == model.Id);

            originalAnnouncement.Subject = model.Subject;
            originalAnnouncement.Type    = model.Type;

            _context.Announcements.Update(originalAnnouncement);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Announcements", "Admin"));
        }
コード例 #5
0
        public async Task <IActionResult> EditAnnouncement(int id)
        {
            if (id != null)
            {
                var announcement = await _announcementRepository.GetAnnouncementById(id);

                if (announcement == null)
                {
                    return(NotFound());
                }
                var editAnnouncement = new EditAnnouncementViewModel()
                {
                    AnnouncementId = announcement.AnnouncementId,
                    Title          = announcement.Title,
                    Description    = announcement.Description
                };
                return(View(editAnnouncement));
            }

            return(NotFound());
        }
コード例 #6
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Subject,Body")] EditAnnouncementViewModel viewModel)
        {
            if (id != viewModel.Id)
            {
                return(NotFound());
            }

            var announcement = await _context.Announcements.FindAsync(id);

            announcement.Subject    = viewModel.Subject;
            announcement.Body       = viewModel.Body;
            announcement.IsEdited   = true;
            announcement.DateEdited = DateTime.Now;
            announcement.Editor     = await _userManager.GetUserAsync(User);

            announcement.ParseMarkdown();

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(announcement);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AnnouncementExists(announcement.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(announcement));
        }