Exemple #1
0
        public IActionResult Delete(DeleteMaterialViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            var identityUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var materialToDelete = _service.GetMaterial(vm.MaterialId);

            if (materialToDelete == null)
            {
                return(RedirectToAction("ResourceNotFound", "Error", new { error = "materiał o podanym Id nie istnieje." }));
            }

            if (IsUserAllowedToEditOrDelete(identityUserId, materialToDelete))
            {
                return(RedirectToAction("ActionForbidden", "Error", new { error = "nie masz uprawnień do tego działania" }));
            }

            _filesManagement.DeleteWholeMaterialFolder(materialToDelete.MaterialId);
            _service.DeleteMaterial(materialToDelete);

            return(RedirectToAction("Materials", new { @lessonId = vm.LessonId }));
        }
Exemple #2
0
        public IActionResult Delete(int materialId)
        {
            var identityUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var materialToDelete = _service.GetMaterial(materialId);

            if (materialToDelete == null)
            {
                return(RedirectToAction("ResourceNotFound", "Error", new { error = "materiał o podanym Id nie istnieje." }));
            }

            if (IsUserAllowedToEditOrDelete(identityUserId, materialToDelete))
            {
                return(RedirectToAction("ActionForbidden", "Error", new { error = "nie masz uprawnień do tego działania" }));
            }

            ConfigureDeleteMaterialBreadcrumbs(materialToDelete);

            var vm = new DeleteMaterialViewModel
            {
                MaterialId = materialToDelete.MaterialId,
                Name       = materialToDelete.Name,
                LessonId   = materialToDelete.LessonId,
                FilesCount = materialToDelete.FilesCount
            };

            return(View(vm));
        }
Exemple #3
0
        private void DeleteMaterialCommandExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            if (Client.ConnectionStatus != ConnectionStatus.Connected)
            {
                UIApplication.MessageDialogs.Warning("CannotDeleteMaterial".Localize());
                return;
            }

            DeleteMaterialViewModel viewModel = new DeleteMaterialViewModel(Client.DataAccess);
            DeleteMaterialWindow    window    = new DeleteMaterialWindow {
                DataContext = viewModel
            };

            window.ShowDialog();
        }
        public object DeleteMaterial(DeleteMaterialViewModel deleteMaterialViewModel)
        {
            if (!ModelState.IsValid)
                return Request.CreateResponse(HttpStatusCode.BadRequest, new BaseResponse(ResponseStatus.ValidationError.ToString(), ModelState.Values.ToList()[0].Errors[0].ErrorMessage));

            CurrentUserInfo currentUserInfo = _tokenHelper.GetUserInfo();

            if (!_materialLogic.IsMaterialExist(deleteMaterialViewModel.ProjectId, deleteMaterialViewModel.MaterialId))
                return Request.CreateResponse(HttpStatusCode.NotFound, new BaseResponse(ResponseStatus.Notfound.ToString(), ResponseMessagesModel.DailyActiviyNotFound));

            if (_projectLogic.GetUserRoleInProject(currentUserInfo.Id, deleteMaterialViewModel.ProjectId) == UserRole.Collaborator
                && !_materialLogic.IsMaterialCreatedBy(currentUserInfo.Id, deleteMaterialViewModel.MaterialId))
                return Request.CreateResponse(HttpStatusCode.MethodNotAllowed, new BaseResponse(ResponseStatus.ValidationError.ToString(), ResponseMessagesModel.PermissionDenied));

            _materialLogic.Delete(deleteMaterialViewModel.MaterialId);

            return Request.CreateResponse(HttpStatusCode.OK, new BaseResponse(ResponseStatus.Success.ToString(),
                ResponseMessagesModel.Success));
        }