public ActionResult ValueEditPopup(string btnId, string formId, CustomerAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) { return(AccessDeniedView()); } var cav = _customerAttributeService.GetCustomerAttributeValueById(model.Id); if (cav == null) { //No customer attribute value found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { cav.Name = model.Name; cav.IsPreSelected = model.IsPreSelected; cav.DisplayOrder = model.DisplayOrder; _customerAttributeService.UpdateCustomerAttributeValue(cav); UpdateValueLocales(cav, model); ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
public virtual async Task<IActionResult> ValueCreatePopup(CustomerAttributeValueModel model) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); //try to get a customer attribute with the specified id var customerAttribute = await _customerAttributeService.GetCustomerAttributeByIdAsync(model.CustomerAttributeId); if (customerAttribute == null) return RedirectToAction("List"); if (ModelState.IsValid) { var cav = model.ToEntity<CustomerAttributeValue>(); await _customerAttributeService.InsertCustomerAttributeValueAsync(cav); //activity log await _customerActivityService.InsertActivityAsync("AddNewCustomerAttributeValue", string.Format(await _localizationService.GetResourceAsync("ActivityLog.AddNewCustomerAttributeValue"), cav.Id), cav); await UpdateValueLocalesAsync(cav, model); ViewBag.RefreshPage = true; return View(model); } //prepare model model = await _customerAttributeModelFactory.PrepareCustomerAttributeValueModelAsync(model, customerAttribute, null, true); //if we got this far, something failed, redisplay form return View(model); }
public virtual CustomerAttributeValue InsertCustomerAttributeValueModel(CustomerAttributeValueModel model) { var cav = model.ToEntity(); _customerAttributeService.InsertCustomerAttributeValue(cav); return(cav); }
public IActionResult ValueCreatePopup(CustomerAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) { return(AccessDeniedView()); } var customerAttribute = _customerAttributeService.GetCustomerAttributeById(model.CustomerAttributeId); if (customerAttribute == null) { //No customer attribute found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { var cav = new CustomerAttributeValue { CustomerAttributeId = model.CustomerAttributeId, Name = model.Name, IsPreSelected = model.IsPreSelected, DisplayOrder = model.DisplayOrder }; cav.Locales = UpdateValueLocales(cav, model); _customerAttributeService.InsertCustomerAttributeValue(cav); ViewBag.RefreshPage = true; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
public virtual CustomerAttributeValueModel PrepareCustomerAttributeValueModel(string customerAttributeId) { var model = new CustomerAttributeValueModel(); model.CustomerAttributeId = customerAttributeId; return(model); }
//edit public ActionResult ValueEditPopup(int id) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) { return(AccessDeniedView()); } var cav = _customerAttributeService.GetCustomerAttributeValueById(id); if (cav == null) { //No customer attribute value found with the specified id return(RedirectToAction("List")); } var model = new CustomerAttributeValueModel { CustomerAttributeId = cav.CustomerAttributeId, Name = cav.Name, IsPreSelected = cav.IsPreSelected, DisplayOrder = cav.DisplayOrder }; //locales AddLocales(_languageService, model.Locales, (locale, languageId) => { locale.Name = cav.GetLocalized(x => x.Name, languageId, false, false); }); return(View(model)); }
public virtual IActionResult ValueEditPopup(CustomerAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) { return(AccessDeniedView()); } var cav = _customerAttributeService.GetCustomerAttributeValueById(model.Id); if (cav == null) { //No customer attribute value found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { cav.Name = model.Name; cav.IsPreSelected = model.IsPreSelected; cav.DisplayOrder = model.DisplayOrder; _customerAttributeService.UpdateCustomerAttributeValue(cav); //activity log _customerActivityService.InsertActivity("EditCustomerAttributeValue", string.Format(_localizationService.GetResource("ActivityLog.EditCustomerAttributeValue"), cav.Id), cav); UpdateValueLocales(cav, model); ViewBag.RefreshPage = true; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
protected virtual void UpdateValueLocales(CustomerAttributeValue customerAttributeValue, CustomerAttributeValueModel model) { foreach (var localized in model.Locales) { _localizedEntityService.SaveLocalizedValue(customerAttributeValue, x => x.Name, localized.Name, localized.LanguageId); } }
public virtual void DeleteCustomerAttributeValue(CustomerAttributeValueModel model) { var av = _customerAttributeService.GetCustomerAttributeById(model.CustomerAttributeId); var cav = av.CustomerAttributeValues.FirstOrDefault(x => x.Id == model.Id); if (cav == null) { throw new ArgumentException("No customer attribute value found with the specified id"); } _customerAttributeService.DeleteCustomerAttributeValue(cav); }
public virtual IActionResult ValueEditPopup(CustomerAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) { return(AccessDeniedView()); } //try to get a customer attribute value with the specified id var customerAttributeValue = _customerAttributeService.GetCustomerAttributeValueById(model.Id); if (customerAttributeValue == null) { return(RedirectToAction("List")); } //try to get a customer attribute with the specified id var customerAttribute = _customerAttributeService.GetCustomerAttributeById(customerAttributeValue.CustomerAttributeId); if (customerAttribute == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { customerAttributeValue = model.ToEntity(customerAttributeValue); _customerAttributeService.UpdateCustomerAttributeValue(customerAttributeValue); //activity log _customerActivityService.InsertActivity("EditCustomerAttributeValue", string.Format(_localizationService.GetResource("ActivityLog.EditCustomerAttributeValue"), customerAttributeValue.Id), customerAttributeValue); UpdateValueLocales(customerAttributeValue, model); ViewBag.RefreshPage = true; return(View(model)); } //prepare model model = _customerAttributeModelFactory.PrepareCustomerAttributeValueModel(model, customerAttribute, customerAttributeValue, true); //if we got this far, something failed, redisplay form return(View(model)); }
public ActionResult ValueDelete(CustomerAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) { return(AccessDeniedView()); } var av = _customerAttributeService.GetCustomerAttributeById(model.CustomerAttributeId); var cav = av.CustomerAttributeValues.FirstOrDefault(x => x.Id == model.Id); if (cav == null) { throw new ArgumentException("No customer attribute value found with the specified id"); } _customerAttributeService.DeleteCustomerAttributeValue(cav); return(new NullJsonResult()); }
public IActionResult ValueCreatePopup(CustomerAttributeValueModel model) { var customerAttribute = _customerAttributeService.GetCustomerAttributeById(model.CustomerAttributeId); if (customerAttribute == null) { //No customer attribute found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { _customerAttributeViewModelService.InsertCustomerAttributeValueModel(model); ViewBag.RefreshPage = true; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
public virtual ActionResult ValueCreatePopup(string btnId, string formId, CustomerAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) { return(AccessDeniedView()); } var customerAttribute = _customerAttributeService.GetCustomerAttributeById(model.CustomerAttributeId); if (customerAttribute == null) { //No customer attribute found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { var cav = new CustomerAttributeValue { CustomerAttributeId = model.CustomerAttributeId, Name = model.Name, IsPreSelected = model.IsPreSelected, DisplayOrder = model.DisplayOrder }; _customerAttributeService.InsertCustomerAttributeValue(cav); //activity log _customerActivityService.InsertActivity("AddNewCustomerAttributeValue", _localizationService.GetResource("ActivityLog.AddNewCustomerAttributeValue"), cav.Id); UpdateValueLocales(cav, model); ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
//create public ActionResult ValueCreatePopup(int customerAttributeId) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) { return(AccessDeniedView()); } var customerAttribute = _customerAttributeService.GetCustomerAttributeById(customerAttributeId); if (customerAttribute == null) { //No customer attribute found with the specified id return(RedirectToAction("List")); } var model = new CustomerAttributeValueModel(); model.CustomerAttributeId = customerAttributeId; //locales AddLocales(_languageService, model.Locales); return(View(model)); }
public IActionResult ValueEditPopup(CustomerAttributeValueModel model) { var av = _customerAttributeService.GetCustomerAttributeById(model.CustomerAttributeId); var cav = av.CustomerAttributeValues.FirstOrDefault(x => x.Id == model.Id); if (cav == null) { //No customer attribute value found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { _customerAttributeViewModelService.UpdateCustomerAttributeValueModel(model, cav); ViewBag.RefreshPage = true; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
public virtual async Task <CustomerAttributeValue> InsertCustomerAttributeValueModel(CustomerAttributeValueModel model) { var cav = model.ToEntity(); await _customerAttributeService.InsertCustomerAttributeValue(cav); return(cav); }
public virtual async Task <CustomerAttributeValue> UpdateCustomerAttributeValueModel(CustomerAttributeValueModel model, CustomerAttributeValue customerAttributeValue) { customerAttributeValue = model.ToEntity(customerAttributeValue); await _customerAttributeService.UpdateCustomerAttributeValue(customerAttributeValue); return(customerAttributeValue); }
public async Task <IActionResult> ValueDelete(CustomerAttributeValueModel model) { await _customerAttributeViewModelService.DeleteCustomerAttributeValue(model); return(new NullJsonResult()); }
public static CustomerAttributeValue ToEntity(this CustomerAttributeValueModel model, CustomerAttributeValue destination) { return(model.MapTo(destination)); }
public static CustomerAttributeValue ToEntity(this CustomerAttributeValueModel model) { return(model.MapTo <CustomerAttributeValueModel, CustomerAttributeValue>()); }
public virtual IList <CustomerAttributeModel> PrepareCustomCustomerAttributes(Customer customer, string overrideAttributesXml = "") { if (customer == null) { throw new ArgumentNullException("customer"); } var result = new List <CustomerAttributeModel>(); var customerAttributes = _customerAttributeService.GetAllCustomerAttributes(); foreach (var attribute in customerAttributes) { var attributeModel = new CustomerAttributeModel { Id = attribute.Id, Name = attribute.GetLocalized(x => x.Name), IsRequired = attribute.IsRequired, AttributeControlType = attribute.AttributeControlType, }; if (attribute.ShouldHaveValues()) { //values var attributeValues = _customerAttributeService.GetCustomerAttributeValues(attribute.Id); foreach (var attributeValue in attributeValues) { var valueModel = new CustomerAttributeValueModel { Id = attributeValue.Id, Name = attributeValue.GetLocalized(x => x.Name), IsPreSelected = attributeValue.IsPreSelected }; attributeModel.Values.Add(valueModel); } } //set already selected attributes var selectedAttributesXml = !String.IsNullOrEmpty(overrideAttributesXml) ? overrideAttributesXml : customer.GetAttribute <string>(SystemCustomerAttributeNames.CustomCustomerAttributes, _genericAttributeService); switch (attribute.AttributeControlType) { case AttributeControlType.DropdownList: case AttributeControlType.RadioList: case AttributeControlType.Checkboxes: { if (!String.IsNullOrEmpty(selectedAttributesXml)) { //clear default selection foreach (var item in attributeModel.Values) { item.IsPreSelected = false; } //select new values var selectedValues = _customerAttributeParser.ParseCustomerAttributeValues(selectedAttributesXml); foreach (var attributeValue in selectedValues) { foreach (var item in attributeModel.Values) { if (attributeValue.Id == item.Id) { item.IsPreSelected = true; } } } } } break; case AttributeControlType.ReadonlyCheckboxes: { //do nothing //values are already pre-set } break; case AttributeControlType.TextBox: case AttributeControlType.MultilineTextbox: { if (!String.IsNullOrEmpty(selectedAttributesXml)) { var enteredText = _customerAttributeParser.ParseValues(selectedAttributesXml, attribute.Id); if (enteredText.Any()) { attributeModel.DefaultValue = enteredText[0]; } } } break; case AttributeControlType.ColorSquares: case AttributeControlType.ImageSquares: case AttributeControlType.Datepicker: case AttributeControlType.FileUpload: default: //not supported attribute control types break; } result.Add(attributeModel); } return(result); }
public ActionResult ValueEditPopup(string btnId, string formId, CustomerAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var cav = _customerAttributeService.GetCustomerAttributeValueById(model.Id); if (cav == null) //No customer attribute value found with the specified id return RedirectToAction("List"); if (ModelState.IsValid) { cav.Name = model.Name; cav.IsPreSelected = model.IsPreSelected; cav.DisplayOrder = model.DisplayOrder; _customerAttributeService.UpdateCustomerAttributeValue(cav); UpdateValueLocales(cav, model); ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return View(model); } //If we got this far, something failed, redisplay form return View(model); }
/// <summary> /// Prepare customer attribute value model /// </summary> /// <param name="model">Customer attribute value model</param> /// <param name="customerAttribute">Customer attribute</param> /// <param name="customerAttributeValue">Customer attribute value</param> /// <param name="excludeProperties">Whether to exclude populating of some properties of model</param> /// <returns>Customer attribute value model</returns> public virtual async Task <CustomerAttributeValueModel> PrepareCustomerAttributeValueModelAsync(CustomerAttributeValueModel model, CustomerAttribute customerAttribute, CustomerAttributeValue customerAttributeValue, bool excludeProperties = false) { if (customerAttribute == null) { throw new ArgumentNullException(nameof(customerAttribute)); } Action <CustomerAttributeValueLocalizedModel, int> localizedModelConfiguration = null; if (customerAttributeValue != null) { //fill in model values from the entity model ??= customerAttributeValue.ToModel <CustomerAttributeValueModel>(); //define localized model configuration action localizedModelConfiguration = async(locale, languageId) => { locale.Name = await _localizationService.GetLocalizedAsync(customerAttributeValue, entity => entity.Name, languageId, false, false); }; } model.CustomerAttributeId = customerAttribute.Id; //prepare localized models if (!excludeProperties) { model.Locales = await _localizedModelFactory.PrepareLocalizedModelsAsync(localizedModelConfiguration); } return(model); }
protected virtual List<LocalizedProperty> UpdateValueLocales(CustomerAttributeValue customerAttributeValue, CustomerAttributeValueModel model) { List<LocalizedProperty> localized = new List<LocalizedProperty>(); foreach (var local in model.Locales) { if (!(String.IsNullOrEmpty(local.Name))) localized.Add(new LocalizedProperty() { LanguageId = local.LanguageId, LocaleKey = "Name", LocaleValue = local.Name }); } return localized; }
/// <returns>A task that represents the asynchronous operation</returns> protected virtual async Task UpdateValueLocalesAsync(CustomerAttributeValue customerAttributeValue, CustomerAttributeValueModel model) { foreach (var localized in model.Locales) { await _localizedEntityService.SaveLocalizedValueAsync(customerAttributeValue, x => x.Name, localized.Name, localized.LanguageId); } }
//create public ActionResult ValueCreatePopup(int customerAttributeId) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var customerAttribute = _customerAttributeService.GetCustomerAttributeById(customerAttributeId); if (customerAttribute == null) //No customer attribute found with the specified id return RedirectToAction("List"); var model = new CustomerAttributeValueModel(); model.CustomerAttributeId = customerAttributeId; //locales AddLocales(_languageService, model.Locales); return View(model); }
public virtual CustomerAttributeValue UpdateCustomerAttributeValueModel(CustomerAttributeValueModel model, CustomerAttributeValue customerAttributeValue) { customerAttributeValue = model.ToEntity(customerAttributeValue); _customerAttributeService.UpdateCustomerAttributeValue(customerAttributeValue); return(customerAttributeValue); }
public ActionResult ValueDelete(CustomerAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var av = _customerAttributeService.GetCustomerAttributeById(model.CustomerAttributeId); var cav = av.CustomerAttributeValues.FirstOrDefault(x => x.Id == model.Id); if (cav == null) throw new ArgumentException("No customer attribute value found with the specified id"); _customerAttributeService.DeleteCustomerAttributeValue(cav); return new NullJsonResult(); }
/// <summary> /// Prepare customer attribute value model /// </summary> /// <param name="model">Customer attribute value model</param> /// <param name="customerAttribute">Customer attribute</param> /// <param name="customerAttributeValue">Customer attribute value</param> /// <param name="excludeProperties">Whether to exclude populating of some properties of model</param> /// <returns>Customer attribute value model</returns> public virtual CustomerAttributeValueModel PrepareCustomerAttributeValueModel(CustomerAttributeValueModel model, CustomerAttribute customerAttribute, CustomerAttributeValue customerAttributeValue, bool excludeProperties = false) { if (customerAttribute == null) { throw new ArgumentNullException(nameof(customerAttribute)); } Action <CustomerAttributeValueLocalizedModel, int> localizedModelConfiguration = null; if (customerAttributeValue != null) { //fill in model values from the entity model = model ?? new CustomerAttributeValueModel { Name = customerAttributeValue.Name, IsPreSelected = customerAttributeValue.IsPreSelected, DisplayOrder = customerAttributeValue.DisplayOrder }; //define localized model configuration action localizedModelConfiguration = (locale, languageId) => { locale.Name = customerAttributeValue.GetLocalized(entity => entity.Name, languageId, false, false); }; } model.CustomerAttributeId = customerAttribute.Id; //prepare localized models if (!excludeProperties) { model.Locales = _localizedModelFactory.PrepareLocalizedModels(localizedModelConfiguration); } return(model); }
protected virtual List <LocalizedProperty> UpdateValueLocales(CustomerAttributeValue customerAttributeValue, CustomerAttributeValueModel model) { List <LocalizedProperty> localized = new List <LocalizedProperty>(); foreach (var local in model.Locales) { if (!(String.IsNullOrEmpty(local.Name))) { localized.Add(new LocalizedProperty() { LanguageId = local.LanguageId, LocaleKey = "Name", LocaleValue = local.Name }); } } return(localized); }
public async Task <IList <CustomerAttributeModel> > Handle(GetCustomAttributes request, CancellationToken cancellationToken) { var result = new List <CustomerAttributeModel>(); var customerAttributes = await _customerAttributeService.GetAllCustomerAttributes(); foreach (var attribute in customerAttributes) { var attributeModel = new CustomerAttributeModel { Id = attribute.Id, Name = attribute.GetTranslation(x => x.Name, request.Language.Id), IsRequired = attribute.IsRequired, IsReadOnly = attribute.IsReadOnly, AttributeControlType = attribute.AttributeControlTypeId, }; if (attribute.ShouldHaveValues()) { //values var attributeValues = attribute.CustomerAttributeValues; foreach (var attributeValue in attributeValues) { var valueModel = new CustomerAttributeValueModel { Id = attributeValue.Id, Name = attributeValue.GetTranslation(x => x.Name, request.Language.Id), IsPreSelected = attributeValue.IsPreSelected }; attributeModel.Values.Add(valueModel); } } //set already selected attributes var selectedAttributes = request.OverrideAttributes ?? request.Customer.Attributes; switch (attribute.AttributeControlTypeId) { case AttributeControlType.DropdownList: case AttributeControlType.RadioList: case AttributeControlType.Checkboxes: { if (selectedAttributes.Any()) { //clear default selection foreach (var item in attributeModel.Values) { item.IsPreSelected = false; } //select new values var selectedValues = await _customerAttributeParser.ParseCustomerAttributeValues(selectedAttributes); foreach (var attributeValue in selectedValues) { if (attributeModel.Id == attributeValue.CustomerAttributeId) { foreach (var item in attributeModel.Values) { if (attributeValue.Id == item.Id) { item.IsPreSelected = true; } } } } } } break; case AttributeControlType.ReadonlyCheckboxes: { //do nothing //values are already pre-set } break; case AttributeControlType.TextBox: case AttributeControlType.MultilineTextbox: { if (selectedAttributes.Any()) { var enteredText = selectedAttributes.Where(x => x.Key == attribute.Id).Select(x => x.Value).ToList(); if (enteredText.Any()) { attributeModel.DefaultValue = enteredText[0]; } } } break; case AttributeControlType.ColorSquares: case AttributeControlType.ImageSquares: case AttributeControlType.Datepicker: case AttributeControlType.FileUpload: default: //not supported attribute control types break; } result.Add(attributeModel); } return(result); }
//edit public ActionResult ValueEditPopup(int id) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var cav = _customerAttributeService.GetCustomerAttributeValueById(id); if (cav == null) //No customer attribute value found with the specified id return RedirectToAction("List"); var model = new CustomerAttributeValueModel { CustomerAttributeId = cav.CustomerAttributeId, Name = cav.Name, IsPreSelected = cav.IsPreSelected, DisplayOrder = cav.DisplayOrder }; //locales AddLocales(_languageService, model.Locales, (locale, languageId) => { locale.Name = cav.GetLocalized(x => x.Name, languageId, false, false); }); return View(model); }
public ActionResult ValueCreatePopup(string btnId, string formId, CustomerAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var customerAttribute = _customerAttributeService.GetCustomerAttributeById(model.CustomerAttributeId); if (customerAttribute == null) //No customer attribute found with the specified id return RedirectToAction("List"); if (ModelState.IsValid) { var cav = new CustomerAttributeValue { Id = customerAttribute.CustomerAttributeValues.Count > 0 ? customerAttribute.CustomerAttributeValues.Max(x=>x.Id) + 1: 1, _id = ObjectId.GenerateNewId().ToString(), CustomerAttributeId = model.CustomerAttributeId, Name = model.Name, IsPreSelected = model.IsPreSelected, DisplayOrder = model.DisplayOrder }; cav.Locales = UpdateValueLocales(cav, model); _customerAttributeService.InsertCustomerAttributeValue(cav); ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return View(model); } //If we got this far, something failed, redisplay form return View(model); }
public IActionResult ValueDelete(CustomerAttributeValueModel model) { _customerAttributeViewModelService.DeleteCustomerAttributeValue(model); return(new NullJsonResult()); }