Esempio n. 1
0
        /// <summary>
        /// Удаление объявлений при изменении роли пользователя
        /// </summary>
        /// <param name="role"></param>
        /// <param name="announcements"></param>
        /// <returns></returns>
        private RepositoryResult OnChangeRoles(UserRoles role, IAnnouncement[] announcements)
        {
            var removingAnnouncements = new List <IAnnouncement>();

            switch (role)
            {
            case UserRoles.Admin:
            case UserRoles.All:
            case UserRoles.None:
                removingAnnouncements = announcements.ToList();
                break;

            case UserRoles.Jobseeker:
                removingAnnouncements = announcements.Where(x => x.Type != AnnouncementType.Candidate).ToList();
                break;

            case UserRoles.Employee:
                removingAnnouncements = announcements.Where(x => x.Type != AnnouncementType.Vacancy).ToList();
                break;

            case UserRoles.HR:
                removingAnnouncements = announcements.Where(x => x.Type != AnnouncementType.Candidate && x.Type != AnnouncementType.Vacancy).ToList();
                break;
            }
            var repositoryResults = new List <RepositoryResult>();

            foreach (var announcement in removingAnnouncements)
            {
                if (announcement.Type == AnnouncementType.Candidate)
                {
                    repositoryResults.Add(_announcementRepository.DeleteAnnouncement(announcement.Id));
                }
                if (announcement.Type == AnnouncementType.Vacancy)
                {
                    repositoryResults.Add(_announcementRepository.DeleteAnnouncement(announcement.Id));
                }
            }
            return(repositoryResults.All(x => x.Status == ActionStatus.Success)
                ? new RepositoryResult {
                Status = ActionStatus.Success
            }
                : new RepositoryResult {
                Status = ActionStatus.Error, Message = string.Concat("При удалении объявлений пользователя возникли ошибки: ", repositoryResults.Where(x => x.Status != ActionStatus.Success).Select(x => x.Message))
            });
        }
Esempio n. 2
0
        public async Task <IActionResult> DeleteConfirmed(Guid id)
        {
            var announcement = await announcementRepository.GetAnnouncementAsync(id);

            announcementRepository.DeleteAnnouncement(announcement);
            await announcementRepository.SaveAsync();

            return(Redirect("/Admin"));
        }
        public ActionResult Remove(int id)
        {
            IFileResourceRepository fileResourceRepository = new FileResourceRepository();

            fileResourceRepository.DeleteFileResourcesForAnnouncement(id);
            int  count   = _announcementctx.DeleteAnnouncement(id);
            bool removed = (count > 0) ? true : false;

            return(Json(removed));
        }
        public ActionResult DeleteAnnouncement(Guid id, string login)
        {
            if (!User.IsInRole("Admin") && User.Identity.Name != login)
            {
                MessageForClient(ActionStatus.Error, "У вас недостаточно прав для удаления данного объявления!");
                return(RedirectToAction("ShowUser", "User", new { User.Identity.Name }));
            }
            var repositoryResult = _announcementRepository.DeleteAnnouncement(id);

            MessageForClient(repositoryResult.Status, repositoryResult.Message);
            return(RedirectToAction("ShowUser", "User", new { login }));
        }
Esempio n. 5
0
        public async Task <IActionResult> RemoveAnnouncement(int announcementId)
        {
            var announcement = _announcementRepo.GetAnnouncementById(announcementId);

            if (!await _authHelpers.CheckDormitoryMembership(User, announcement.DormitoryId))
            {
                return(ControllerHelpers.ShowAccessDeniedErrorPage(this));
            }

            var dormitoryId = announcement.DormitoryId;

            _announcementRepo.DeleteAnnouncement(announcementId);

            return(RedirectToAction(nameof(Details), new { id = dormitoryId }));
        }
Esempio n. 6
0
        public IActionResult DeleteAnnouncement(int id)
        {
            if (!_AnnouncementRepository.AnnouncementExists(id))
            {
                return(NotFound());
            }

            var AnnouncementFromRepository = _AnnouncementRepository.GetAnnouncement(id);

            if (AnnouncementFromRepository == null)
            {
                return(NotFound());
            }
            _AnnouncementRepository.DeleteAnnouncement(AnnouncementFromRepository);

            if (_AnnouncementRepository.Save())
            {
                return(StatusCode(500, "Problem with handling Request!"));
            }

            return(NoContent());
        }
Esempio n. 7
0
 public IActionResult DeleteConfirmed(int Id)//pull in id of announcement to be deleted from the view
 {
     //delete the announcement and redirect back to the announcement index
     _repo.DeleteAnnouncement(Id);
     return(RedirectToAction("Index", "Announcement"));
 }
Esempio n. 8
0
 public IActionResult DeleteConfirmed(int Id)
 {
     _repo.DeleteAnnouncement(Id);
     return(RedirectToAction("Index", "Announcement"));
 }