public IActionResult CreateAnnouncement([FromBody] AnnouncementForCreation announcement)
        {
            if (announcement == null)
            {
                return(BadRequest());
            }

            var announcementForDb = Mapper.Map <Announcement>(announcement);

            _announcementsRepository.AddAnnouncement(announcementForDb);

            return(SaveAndGetAnnouncement(announcementForDb, "Creating an announcement failed on save."));
        }
        public async Task <IActionResult> Create(AnnouncementForCreation announcement)
        {
            if (announcement == null)
            {
                return(BadRequest());
            }

            if (ModelState.IsValid)
            {
                var files = HttpContext.Request.Form.Files;
                if (files != null && files.Count > 0)
                {
                    await announcement.UloadFilesIfExistsAsync(files, _hostingEnvironment);
                }

                var response = await _announcementClient.CreateAnnouncementAsync(announcement);

                var createdAnnouncement = response.Stream.GetDeserializedDataFromStream <AnnouncementGettingViewModel>();

                return(RedirectToAction(nameof(Details), new { id = createdAnnouncement.ID }));
            }
            return(View(announcement));
        }