Exemplo n.º 1
0
        public IActionResult Edit(int materialId)
        {
            var identityUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var materialToEdit = _service.GetMaterial(materialId);

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

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

            ConfigureEditMaterialBreadcrumbs(materialToEdit.Lesson, materialId);

            var vm = new EditMaterialViewModel
            {
                MaterialId  = materialId,
                Name        = materialToEdit.Name,
                Description = materialToEdit.Description,
                Files       = materialToEdit.Files.Select(f => new FileViewModel
                {
                    FileId       = f.FileId,
                    FileName     = f.FileName,
                    RelativePath = f.RelativePath,
                    ContentType  = f.ContentType
                }).ToList()
            };

            return(View(vm));
        }
Exemplo n.º 2
0
        public ActionResult Edit(int id)
        {
            var model = new EditMaterialViewModel();

            try
            {
                var material = db.Materials.Where(t => t.MaterialId == id).FirstOrDefault();
                if (material == null)
                {
                    throw new Exception("Tài nguyên không tồn tại trong hệ thống");
                }

                model.MaterialId      = material.MaterialId;
                model.MaterialName    = material.MaterialName;
                model.Description     = material.Description;
                model.QuantityPerUnit = material.QuantityPerUnit;

                return(View(model));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }
            return(View(model));
        }
Exemplo n.º 3
0
        public IActionResult CreateEditSuggestion(int materialId)
        {
            var identityUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var materialToEdit = _service.GetMaterial(materialId);

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

            if (identityUserId == materialToEdit.Creator.IdentityUserId)
            {
                return(RedirectToAction(
                           "ActionForbidden",
                           "Error",
                           new {
                    error = "nie masz uprawnień do tego działania. Jesteś autorem danego materiału - skorzystaj z opcji edycji"
                }));
            }

            ConfigureEditSuggestionBreadcrumbs(materialToEdit);

            var emvm = new EditMaterialViewModel
            {
                MaterialId  = materialId,
                Name        = materialToEdit.Name,
                Description = materialToEdit.Description
            };

            var vm = new EditRequestViewModel
            {
                EditMaterialViewModel = emvm,
                Files = materialToEdit.Files.Select(f => new FileViewModel
                {
                    FileId       = f.FileId,
                    FileName     = f.FileName,
                    RelativePath = f.RelativePath,
                    ContentType  = f.ContentType
                }).ToList()
            };

            return(View(vm));
        }
Exemplo n.º 4
0
        [HttpPost] // AJAX request
        public IActionResult Edit(EditMaterialViewModel vm)
        {
            var identityUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);

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

            if (materialToEdit == null)
            {
                return(BadRequest(new[] { "Materiał o podanym Id nie istnieje." }));
            }

            if (IsUserAllowedToEditOrDelete(identityUserId, materialToEdit))
            {
                return(Forbid(new[] { "Nie masz uprawnień do tego działania" })); // TODO some authorization handler
            }

            var loggedUser = _userService.FindByIdentityUserId(identityUserId);

            if (vm.Files?.Count > 0)
            {
                var filesToRemove = materialToEdit.UpdateExistingFilesAndGetFilesToRemove(
                    vm.Files.Select(f => new BLL.Models.File(f.FileId, f.FileName)).ToList()
                    );
                _filesManagement.RemoveFilesFromFileSystem(filesToRemove);
            }

            var guid = Guid.NewGuid();

            try
            {
                _filesManagement.SaveFilesToFileSystem(vm.FormFiles, vm.MaterialId, guid);
            }
            catch (Exception)
            {
                return(BadRequest(new[] { "Coś poszło nie tak przy zapisywaniu plików do systemu plików. Spróbuj ponownie." }));
            }

            var filesFromForm = _filesManagement.ExtractFilesFromForm(vm.FormFiles, vm.MaterialId, guid);

            materialToEdit.Update(vm.Name, vm.Description, filesFromForm, loggedUser);
            _service.UpdateMaterial(materialToEdit);

            return(Json(vm.MaterialId));
        }
Exemplo n.º 5
0
        public async Task <ActionResult> Edit(EditMaterialViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            Material material = await context.Materials.FindAsync(model.Id);

            if (material == null)
            {
                return(HttpNotFound());
            }

            material.Name = model.Name;

            context.Entry(material).State = EntityState.Modified;

            try
            {
                await context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                string errorMessage = ex.Message;

                while (ex != null)
                {
                    errorMessage = ex.Message;
                    ex           = ex.InnerException;
                }

                ModelState.AddModelError("", errorMessage);

                return(View(model));
            }

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 6
0
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Material material = await context.Materials.FindAsync(id);

            if (material == null)
            {
                return(HttpNotFound());
            }

            EditMaterialViewModel model = new EditMaterialViewModel
            {
                Id   = material.Id,
                Name = material.Name
            };

            return(View(model));
        }
Exemplo n.º 7
0
        public EditMaterialControl(ProcessData mData)
        {
            InitializeComponent();
            this.DataContext = EditVM = new EditMaterialViewModel();
            switch (mData.Type)
            {
            case "CuttingDataDto":
                break;

            case "EdgeCuttingDataDto":
                break;

            case "PiercingDataDto":
                break;

            case "SlopeControlDataDto":
                break;

            default:
                break;
            }
        }
        public object EditMaterial(EditMaterialViewModel editMaterialViewModel)
        {
            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(editMaterialViewModel.ProjectId, editMaterialViewModel.MaterialId))
                return Request.CreateResponse(HttpStatusCode.NotFound, new BaseResponse(ResponseStatus.Notfound.ToString(), ResponseMessagesModel.DailyActiviyNotFound));

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

            MaterialData materialData =
                EditMaterialViewModel.GetMaterialData(editMaterialViewModel);

            _materialLogic.Edit(materialData);

            return Request.CreateResponse(HttpStatusCode.OK, new BaseResponse(ResponseStatus.Success.ToString(),
                ResponseMessagesModel.Success));
        }
Exemplo n.º 9
0
        public ActionResult Edit(EditMaterialViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var material = db.Materials.Where(t => t.MaterialId == model.MaterialId).FirstOrDefault();
                    if (material == null)
                    {
                        throw new Exception("Nguyên liệu không tồn tại trong hệ thống");
                    }

                    // check material name existed
                    var isExisted = db.Materials
                                    .Where(t => t.MaterialId != model.MaterialId && string.Compare(t.MaterialName, model.MaterialName, true) == 0)
                                    .FirstOrDefault() != null;

                    if (isExisted)
                    {
                        throw new Exception("Tên nguyên liệu [" + model.MaterialName + "] đã tồn tại trong hệ thống!");
                    }

                    material.MaterialName    = model.MaterialName;
                    material.Description     = model.Description;
                    material.QuantityPerUnit = model.QuantityPerUnit;

                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }
            return(View(model));
        }
Exemplo n.º 10
0
 public EditMaterialPage()
 {
     InitializeComponent();
     BindingContext = new EditMaterialViewModel();
 }