public async Task <IActionResult> Update(AnnouncementInputModel announcementInputModel, string id)
        {
            if (!this.ModelState.IsValid)
            {
                var categories          = this.categoriesService.GetAll <AnnouncementCategoriesView>();
                var currentAnnouncement = new AnnouncementViewModel()
                {
                    Id           = id,
                    Title        = announcementInputModel.Title,
                    ServiceType  = announcementInputModel.ServiceType,
                    CategoryName = announcementInputModel.Category,
                    Description  = announcementInputModel.Description,
                    Price        = announcementInputModel.Price,
                    Place        = announcementInputModel.Place,
                };
                var viewModel = new AnnouncementUpdateModel()
                {
                    Categories   = categories,
                    Announcement = currentAnnouncement,
                };
                return(this.View("GetUpdateView", viewModel));
            }

            await this.announcementService.UpdateAsync(announcementInputModel, id);

            return(this.RedirectToAction("GetDetails", new { id = id }));
        }
        public IActionResult GetUpdateView(string id)
        {
            var announcement = this.announcementService.GetDetails <AnnouncementViewModel>(id);

            if (announcement == null)
            {
                return(this.Redirect("/"));
            }

            var categories = this.categoriesService.GetAll <AnnouncementCategoriesView>();
            var viewModel  = new AnnouncementUpdateModel()
            {
                Categories   = categories,
                Announcement = announcement,
            };

            return(this.View(viewModel));
        }