public ActionResult Edit(SpecificationAttributeModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes)) { return(AccessDeniedView()); } var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.Id); if (specificationAttribute == null) { //No specification attribute found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { specificationAttribute = model.ToEntity(specificationAttribute); _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute); UpdateAttributeLocales(specificationAttribute, model); //activity log _customerActivityService.InsertActivity("EditSpecAttribute", _localizationService.GetResource("ActivityLog.EditSpecAttribute"), specificationAttribute.Name); SuccessNotification(_localizationService.GetResource("Admin.Catalog.Attributes.SpecificationAttributes.Updated")); if (continueEditing) { //selected tab SaveSelectedTabIndex(); return(RedirectToAction("Edit", specificationAttribute.Id)); } else { return(RedirectToAction("List")); } } //If we got this far, something failed, redisplay form return(View(model)); }
public virtual async Task <SpecificationAttributeDto> UpdateSpecificationAttribute(SpecificationAttributeDto model) { var specificationAttribute = await _specificationAttributeService.GetSpecificationAttributeById(model.Id); foreach (var option in specificationAttribute.SpecificationAttributeOptions) { if (model.SpecificationAttributeOptions.FirstOrDefault(x => x.Id == option.Id) == null) { await _specificationAttributeService.DeleteSpecificationAttributeOption(option); } } specificationAttribute = model.ToEntity(specificationAttribute); await _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute); //activity log await _customerActivityService.InsertActivity("EditSpecAttribute", specificationAttribute.Id, _localizationService.GetResource("ActivityLog.EditSpecAttribute"), specificationAttribute.Name); return(specificationAttribute.ToModel()); }
public virtual IActionResult Edit(SpecificationAttributeModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes)) { return(AccessDeniedView()); } //try to get a specification attribute with the specified id var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.Id); if (specificationAttribute == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { specificationAttribute = model.ToEntity(specificationAttribute); _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute); UpdateAttributeLocales(specificationAttribute, model); //activity log _customerActivityService.InsertActivity("EditSpecAttribute", string.Format(_localizationService.GetResource("ActivityLog.EditSpecAttribute"), specificationAttribute.Name), specificationAttribute); _notificationService.SuccessNotification(_localizationService.GetResource("Admin.Catalog.Attributes.SpecificationAttributes.Updated")); if (!continueEditing) { return(RedirectToAction("List")); } return(RedirectToAction("Edit", new { id = specificationAttribute.Id })); } //prepare model model = _specificationAttributeModelFactory.PrepareSpecificationAttributeModel(model, specificationAttribute, true); //if we got this far, something failed, redisplay form return(View(model)); }
public async Task <SpecificationAttributeDto> Handle(UpdateSpecificationAttributeCommand request, CancellationToken cancellationToken) { var specificationAttribute = await _specificationAttributeService.GetSpecificationAttributeById(request.Model.Id); foreach (var option in specificationAttribute.SpecificationAttributeOptions) { if (request.Model.SpecificationAttributeOptions.FirstOrDefault(x => x.Id == option.Id) == null) { await _specificationAttributeService.DeleteSpecificationAttributeOption(option); } } specificationAttribute = request.Model.ToEntity(specificationAttribute); await _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute); //activity log await _customerActivityService.InsertActivity("EditSpecAttribute", specificationAttribute.Id, _translationService.GetResource("ActivityLog.EditSpecAttribute"), specificationAttribute.Name); return(specificationAttribute.ToModel()); }
public ActionResult Edit(SpecificationAttributeModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog)) { return(AccessDeniedView()); } var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.Id); if (specificationAttribute == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { specificationAttribute = model.ToEntity(specificationAttribute); try { _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute); UpdateAttributeLocales(specificationAttribute, model); } catch (Exception exception) { ModelState.AddModelError("", exception.Message); return(View(model)); } //activity log _customerActivityService.InsertActivity("EditSpecAttribute", _localizationService.GetResource("ActivityLog.EditSpecAttribute"), specificationAttribute.Name); NotifySuccess(_localizationService.GetResource("Admin.Catalog.Attributes.SpecificationAttributes.Updated")); return(continueEditing ? RedirectToAction("Edit", specificationAttribute.Id) : RedirectToAction("List")); } //If we got this far, something failed, redisplay form return(View(model)); }
public IActionResult UpdateSpecificationAttribute( [ModelBinder(typeof(JsonModelBinder <SpecificationAttributeDto>))] Delta <SpecificationAttributeDto> specificationAttributeDelta) { // Here we display the errors if the validation has failed at some point. if (!ModelState.IsValid) { return(Error()); } // We do not need to validate the product attribute id, because this will happen in the model binder using the dto validator. var specificationAttributeId = specificationAttributeDelta.Dto.Id; var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(specificationAttributeId); if (specificationAttribute == null) { return(Error(HttpStatusCode.NotFound, "specification attribute", "not found")); } specificationAttributeDelta.Merge(specificationAttribute); _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute); CustomerActivityService.InsertActivity("EditSpecAttribute", LocalizationService.GetResource("ActivityLog.EditSpecAttribute"), specificationAttribute); // Preparing the result dto of the new product attribute var specificationAttributeDto = _dtoHelper.PrepareSpecificationAttributeDto(specificationAttribute); var specificatoinAttributesRootObjectDto = new SpecificationAttributesRootObjectDto(); specificatoinAttributesRootObjectDto.SpecificationAttributes.Add(specificationAttributeDto); var json = JsonFieldsSerializer.Serialize(specificatoinAttributesRootObjectDto, string.Empty); return(new RawJsonActionResult(json)); }