public async Task <IActionResult> Update(AnnouncementResource announcementResource, int id)
        {
            Announcement announcement = await AnnouncementService.FindByIdAsync(id);

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

            if (!announcement.User.Equals(CurrentUser))
            {
                return(Unauthorized());
            }

            if (!ModelState.IsValid)
            {
                return(UnprocessableEntity(ModelState.GetErrorMessages()));
            }

            announcement = Mapper.Map <AnnouncementResource, Announcement>(announcementResource);
            announcement = await AnnouncementService.UpdateAnnouncement(announcement, id);

            if (announcement == null)
            {
                return(UnprocessableEntity(new { message = "Duyuru güncellenemedi" }));
            }

            var response = new Serializer.AnnouncementSerializer.ShowSerializer(announcement, CurrentUser);

            return(Ok(response.Response));
        }
        public void InsertPhotoToAnnouncementResources(Announcement announcementModel, BlobModel blobModel)
        {
            int newFileID = InsertBlobToFileLocationStorage(blobModel, "Announcement");

            AnnouncementResource announcementResource = new AnnouncementResource()
            {
                FileID         = newFileID,
                AnnouncementID = announcementModel.AnnouncementID
            };

            dbObject.AnnouncementResources.Add(announcementResource);
            dbObject.SaveChanges();
        }
Exemple #3
0
        public async Task <IActionResult> CreateAnnouncement([FromBody] AnnouncementResource announcementResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var announcement = mapper.Map <AnnouncementResource, Announcement>(announcementResource);

            repository.AddAnnouncement(announcement);
            await unitOfWork.Complete();

            announcement = await repository.GetAnnouncement(announcement.AnnouncementId);

            await SendMailAsync(announcement.Content);

            var result = mapper.Map <Announcement, AnnouncementResource>(announcement);

            return(Ok(result));
        }
        public async Task <IActionResult> Create(AnnouncementResource announcementResource)
        {
            if (!ModelState.IsValid)
            {
                return(UnprocessableEntity(ModelState.GetErrorMessages()));
            }

            Announcement announcement = Mapper.Map <AnnouncementResource, Announcement>(announcementResource);

            announcement = await AnnouncementService.AddAnnouncement(announcement, CurrentUser);

            if (announcement == null)
            {
                return(UnprocessableEntity(new { message = "Duyuru eklenemedi" }));
            }

            var response = new Serializer.AnnouncementSerializer.CreateSerializer(announcement, CurrentUser);

            return(Created($"/api/announcement/${announcement.Id}", response.Response));
        }
        /*
         * Deletes the selected the image of an announcement and deletes it from database and the azure blob storage.
         * */
        public ActionResult RemoveAnnouncementBlob(string file, int?fileID)
        {
            try
            {
                if (User.IsInRole("Administrator"))
                {
                    if (file == null || fileID == null)
                    {
                        return(RedirectToAction("Announcement", "WebsiteContent"));
                    }
                    else
                    {
                        if (websiteActions.DeleteAnnouncementFile(file)) //para kung hindi nabura yung image, hindi na buburahin sa database
                        {
                            AnnouncementResource announcementResource = websiteActions.GetAnnouncementResourceByFileID((int)fileID);
                            websiteActions.DeleteFromAnnouncementResources(announcementResource);

                            FileLocationStorage fileLocationStorage = websiteActions.GetFileLocationStorageByFileID((int)fileID);
                            websiteActions.DeleteFromFileLocationStorage(fileLocationStorage);
                            return(RedirectToAction("Announcements", "Admin"));
                        }
                        else
                        {
                            TempData["errorMessage"] = "There was an error in the server. Please try again";
                            return(RedirectToAction("Announcement", "WebsiteContent"));
                        }
                        //actions2.DeleteAnnouncementFile(file);
                    }
                }
                else
                {
                    TempData["errorMessage"] = "Sorry you do not have access.";
                    return(RedirectToAction("Announcement", "WebsiteContent"));
                }
            }
            catch (Exception e)
            {
                TempData["errorMessage"] = "There was an error in removing the photo you have selected.";
                return(RedirectToAction("Announcement", "WebsiteContent"));
            }
        }
Exemple #6
0
        public async Task <IActionResult> UpdateAnnouncement(int id, [FromBody] AnnouncementResource announcementResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var announcement = await repository.GetAnnouncement(id);

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

            mapper.Map <AnnouncementResource, Announcement>(announcementResource, announcement);

            repository.UpdateAnnouncementUsers(announcement, announcementResource);

            await unitOfWork.Complete();

            var result = mapper.Map <Announcement, AnnouncementResource>(announcement);

            return(Ok(result));
        }
 public void DeleteFromAnnouncementResources(AnnouncementResource announcementResource)
 {
     dbObject.AnnouncementResources.Remove(announcementResource);
     dbObject.SaveChanges();
 }
Exemple #8
0
        void IAnnouncementRepository.UpdateAnnouncementUsers(Announcement announcement, AnnouncementResource announcementResource)
        {
            if (announcementResource.AnnouncementUsers != null && announcementResource.AnnouncementUsers.Count >= 0)
            {
                //remove old announcementUsers
                announcement.AnnouncementUsers.Clear();

                //add new enrollments
                var newAnnouncementUsers = context.AnnouncementUser.Where(e => announcementResource.AnnouncementUsers.Any(id => id == e.AnnouncementUserId)).ToList();
                foreach (var a in newAnnouncementUsers)
                {
                    announcement.AnnouncementUsers.Add(a);
                }
            }
        }