/// <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)) }); }
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 })); }
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 })); }
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()); }
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")); }
public IActionResult DeleteConfirmed(int Id) { _repo.DeleteAnnouncement(Id); return(RedirectToAction("Index", "Announcement")); }