Пример #1
0
 protected virtual async Task UpdateAttributeLocalesAsync(SpecificationAttribute specificationAttribute, SpecificationAttributeModel model)
 {
     foreach (var localized in model.Locales)
     {
         await _localizedEntityService.SaveLocalizedValueAsync(specificationAttribute,
                                                               x => x.Name,
                                                               localized.Name,
                                                               localized.LanguageId);
     }
 }
Пример #2
0
 protected virtual void UpdateAttributeLocales(SpecificationAttribute specificationAttribute, SpecificationAttributeModel model)
 {
     foreach (var localized in model.Locales)
     {
         _localizedEntityService.SaveLocalizedValue(specificationAttribute,
                                                    x => x.Name,
                                                    localized.Name,
                                                    localized.LanguageId);
     }
 }
        /// <summary>
        /// Inserts a specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual void InsertSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException("specificationAttribute");
            }

            _specificationAttributeRepository.Insert(specificationAttribute);
            //_unitOfWork.Commit();
        }
Пример #4
0
        public static SpecificationAttributeOptionCustomValueMap FindSpecificationAttributeOptionWithCustomValue(string specificationAttributeName, string specificationAttributeOptionName)
        {
            SpecificationAttribute specificationAttribute = specificationAttributes
                                                            .Where(sa => sa.Name == specificationAttributeName).FirstOrDefault();

            SpecificationAttributeOptionCustomValueMap specificationAttributeOptionCustomValueMap = null;

            if (!string.IsNullOrEmpty(specificationAttributeOptionName))
            {
                if (specificationAttribute.DisplayOrder == 0)
                {
                    SpecificationAttributeOption specificationAttributeOption = specificationAttributeOptions
                                                                                .Where(sao => sao.SpecificationAttributeId == specificationAttribute.Id && sao.Name == specificationAttributeName).FirstOrDefault();
                    if (specificationAttributeOption == null)
                    {
                        specificationAttributeOption = new SpecificationAttributeOption()
                        {
                            Name = specificationAttributeName ?? "",
                            SpecificationAttributeId = specificationAttribute.Id,
                            DisplayOrder             = 0
                        };
                        specificationAttributeOptions.Add(specificationAttributeOption);
                    }
                    specificationAttributeOptionCustomValueMap = new SpecificationAttributeOptionCustomValueMap()
                    {
                        specificationAttributeOption            = specificationAttributeOption,
                        specificationAttributeOptionCustomValue = specificationAttributeOptionName
                    };
                }
                else
                {
                    SpecificationAttributeOption specificationAttributeOption = specificationAttributeOptions
                                                                                .Where(sao => sao.SpecificationAttributeId == specificationAttribute.Id && sao.Name == specificationAttributeOptionName).FirstOrDefault();
                    if (specificationAttributeOption == null)
                    {
                        specificationAttributeOption = new SpecificationAttributeOption()
                        {
                            Name = specificationAttributeOptionName ?? "",
                            SpecificationAttributeId = specificationAttribute.Id,
                            DisplayOrder             = 0
                        };
                        specificationAttributeOptions.Add(specificationAttributeOption);
                    }
                    specificationAttributeOptionCustomValueMap = new SpecificationAttributeOptionCustomValueMap()
                    {
                        specificationAttributeOption            = specificationAttributeOption,
                        specificationAttributeOptionCustomValue = null
                    };
                }
            }


            return(specificationAttributeOptionCustomValueMap);
        }
Пример #5
0
        /// <summary>
        /// Updates the specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual async Task UpdateSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException("specificationAttribute");
            }

            await _specificationAttributeRepository.UpdateAsync(specificationAttribute);

            //event notification
            await _mediator.EntityUpdated(specificationAttribute);
        }
        public ActionResult Create(SpecificationAttribute item)
        {
            if (ModelState.IsValid)
            {
                _db.SpecificationAttributes.Add(item);
                _db.SaveChanges();


                return(RedirectToAction("Index"));
            }
            return(View(item));
        }
        public ActionResult Edit(int ID, SpecificationAttribute item)
        {
            if (ModelState.IsValid)
            {
                _db.Entry(item).State = EntityState.Modified;
                _db.SaveChanges();


                return(RedirectToAction("Index"));
            }
            return(View(item));
        }
        public virtual void InsertSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException("specificationAttribute");
            }

            _specificationAttributeRepository.Insert(specificationAttribute);

            //event notification
            _eventPublisher.EntityInserted(specificationAttribute);
        }
Пример #9
0
        /// <summary>
        /// Updates the specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual void UpdateSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException(nameof(specificationAttribute));
            }

            _specificationAttributeRepository.Update(specificationAttribute);

            //event notification
            _eventPublisher.EntityUpdated(specificationAttribute);
        }
Пример #10
0
        public async Task <IHttpActionResult> Delete(int id)
        {
            SpecificationAttribute entity = await SpecificationAttributeService.FindOneAsync(id);

            if (entity == null)
            {
                return(NotFound());
            }
            await SpecificationAttributeService.DeleteAsync(entity);

            return(Ok(entity.ToModel()));
        }
Пример #11
0
        protected SpecificationAttribute Save()
        {
            SpecificationAttribute specificationAttribute = ctrlSpecificationAttributeInfo.SaveInfo();

            ctrlSpecificationAttributeOptions.SaveInfo();

            this.CustomerActivityService.InsertActivity(
                "AddNewSpecAttribute",
                GetLocaleResourceString("ActivityLog.AddNewSpecAttribute"),
                specificationAttribute.Name);

            return(specificationAttribute);
        }
Пример #12
0
        protected void SaveLocalizableContent(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                return;
            }

            if (!this.HasLocalizableContent)
            {
                return;
            }

            foreach (RepeaterItem item in rptrLanguageDivs.Items)
            {
                if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
                {
                    var txtLocalizedName = (TextBox)item.FindControl("txtLocalizedName");
                    var lblLanguageId    = (Label)item.FindControl("lblLanguageId");

                    int    languageId = int.Parse(lblLanguageId.Text);
                    string name       = txtLocalizedName.Text;

                    bool allFieldsAreEmpty = string.IsNullOrEmpty(name);

                    var content = this.SpecificationAttributeService.GetSpecificationAttributeLocalizedBySpecificationAttributeIdAndLanguageId(specificationAttribute.SpecificationAttributeId, languageId);
                    if (content == null)
                    {
                        if (!allFieldsAreEmpty && languageId > 0)
                        {
                            //only insert if one of the fields are filled out (avoid too many empty records in db...)
                            content = new SpecificationAttributeLocalized()
                            {
                                SpecificationAttributeId = specificationAttribute.SpecificationAttributeId,
                                LanguageId = languageId,
                                Name       = name
                            };
                            this.SpecificationAttributeService.InsertSpecificationAttributeLocalized(content);
                        }
                    }
                    else
                    {
                        if (languageId > 0)
                        {
                            content.LanguageId = languageId;
                            content.Name       = name;
                            this.SpecificationAttributeService.UpdateSpecificationAttributeLocalized(content);
                        }
                    }
                }
            }
        }
        public void Can_save_and_load_specificationAttribute()
        {
            var specificationAttribute = new SpecificationAttribute
            {
                Name         = "Name 1",
                DisplayOrder = 1,
            };

            var fromDb = SaveAndLoadEntity(specificationAttribute);

            fromDb.ShouldNotBeNull();
            fromDb.Name.ShouldEqual("Name 1");
            fromDb.DisplayOrder.ShouldEqual(1);
        }
        /// <summary>
        /// Updates the specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual void UpdateSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException("specificationAttribute");
            }

            _specificationAttributeRepository.Update(specificationAttribute);

            _cacheManager.RemoveByPattern(PRODUCTSPECIFICATIONATTRIBUTE_PATTERN_KEY);

            //event notification
            _eventPublisher.EntityUpdated(specificationAttribute);
        }
Пример #15
0
        /// <summary>
        /// Updates the specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual void UpdateSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException("specificationAttribute");
            }

            _specificationAttributeRepository.Update(specificationAttribute);

            _cacheManager.GetCache(CACHE_NAME_PRODUCTSPECIFICATIONATTRIBUTE).Clear();

            //event notification
            //_eventPublisher.EntityUpdated(specificationAttribute);
        }
Пример #16
0
        /// <summary>
        /// Deletes a specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual void DeleteSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException(nameof(specificationAttribute));
            }

            _specificationAttributeRepository.Delete(specificationAttribute);

            _cacheManager.RemoveByPrefix(NopCatalogDefaults.ProductSpecificationAttributePrefixCacheKey);

            //event notification
            _eventPublisher.EntityDeleted(specificationAttribute);
        }
Пример #17
0
        /// <summary>
        /// Inserts a specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual async Task InsertSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException("specificationAttribute");
            }

            await _specificationAttributeRepository.InsertAsync(specificationAttribute);

            _cacheManager.RemoveByPattern(PRODUCTSPECIFICATIONATTRIBUTE_PATTERN_KEY);

            //event notification
            await _eventPublisher.EntityInserted(specificationAttribute);
        }
Пример #18
0
        /// <summary>
        /// Inserts a specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual void InsertSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException(nameof(specificationAttribute));
            }

            _specificationAttributeRepository.Insert(specificationAttribute);

            _cacheManager.RemoveByPattern(GSCatalogDefaults.ProductSpecificationAttributePatternCacheKey);

            //event notification
            _eventPublisher.EntityInserted(specificationAttribute);
        }
Пример #19
0
        /// <summary>
        /// Updates the specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual async Task UpdateSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException(nameof(specificationAttribute));
            }

            await _specificationAttributeRepository.UpdateAsync(specificationAttribute);

            //clear cache
            await _cacheBase.RemoveByPrefix(CacheKey.SPECIFICATION_PATTERN_KEY);

            //event notification
            await _mediator.EntityUpdated(specificationAttribute);
        }
Пример #20
0
        protected virtual void UpdateLocalesSpecificationAttribute(SpecificationAttribute specificationAttribute, List <LocalizedNameDto> localizedNameDto)
        {
            if (localizedNameDto == null)
            {
                return;
            }

            foreach (var localized in localizedNameDto)
            {
                _localizedEntityService.SaveLocalizedValue(specificationAttribute,
                                                           x => x.Name,
                                                           localized.LocalizedName,
                                                           localized.LanguageId.Value);
            }
        }
 protected void AddButton_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         try
         {
             SpecificationAttribute specificationAttribute = ctrlSpecificationAttributeInfo.SaveInfo();
             Response.Redirect("SpecificationAttributeDetails.aspx?SpecificationAttributeID=" + specificationAttribute.SpecificationAttributeID.ToString());
         }
         catch (Exception exc)
         {
             ProcessException(exc);
         }
     }
 }
        /// <summary>
        /// Inserts a specification attribute
        /// </summary>
        /// <param name="specificationAttribute">The specification attribute</param>
        public virtual async Task InsertSpecificationAttribute(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                throw new ArgumentNullException("specificationAttribute");
            }

            await _specificationAttributeRepository.InsertAsync(specificationAttribute);

            //clear cache
            await _cacheManager.RemoveByPrefix(CacheKey.SPECIFICATION_PATTERN_KEY);

            //event notification
            await _mediator.EntityInserted(specificationAttribute);
        }
 protected void SaveAndStayButton_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         try
         {
             SpecificationAttribute specificationAttribute = Save();
             Response.Redirect(string.Format("SpecificationAttributeDetails.aspx?SpecificationAttributeID={0}&TabID={1}", specificationAttribute.SpecificationAttributeId, this.GetActiveTabId(this.AttributeTabs)));
         }
         catch (Exception exc)
         {
             ProcessException(exc);
         }
     }
 }
Пример #24
0
        private void BindData()
        {
            SpecificationAttribute specificationAttribute = SpecificationAttributeManager.GetSpecificationAttributeByID(this.SpecificationAttributeID);

            if (specificationAttribute != null)
            {
                this.txtName.Text          = specificationAttribute.Name;
                this.txtDisplayOrder.Value = specificationAttribute.DisplayOrder;
            }

            SpecificationAttributeOptionCollection saoCol = SpecificationAttributeManager.GetSpecificationAttributeOptionsBySpecificationAttribute(SpecificationAttributeID);

            grdSpecificationAttributeOptions.DataSource = saoCol;
            grdSpecificationAttributeOptions.DataBind();
        }
Пример #25
0
 protected void SaveButton_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         try
         {
             SpecificationAttribute specificationAttribute = Save();
             Response.Redirect("SpecificationAttributes.aspx");
         }
         catch (Exception exc)
         {
             ProcessException(exc);
         }
     }
 }
Пример #26
0
        public IActionResult CreateSpecificationAttribute([ModelBinder(typeof(JsonModelBinder <SpecificationAttributeDto>))] Delta <SpecificationAttributeDto> specificaitonAttributeDelta)
        {
            // Here we display the errors if the validation has failed at some point.
            if (!ModelState.IsValid)
            {
                return(Error());
            }

            // Inserting the new product
            var specificationAttribute = new SpecificationAttribute();

            specificaitonAttributeDelta.Merge(specificationAttribute);
            _specificationAttributeService.InsertSpecificationAttribute(specificationAttribute);
            var options = new List <SpecificationAttributeOption>();

            if (specificaitonAttributeDelta.Dto.SpecificationAttributeOptions?.Any() == true)
            {
                var ix = 0;
                foreach (var option in specificaitonAttributeDelta.Dto.SpecificationAttributeOptions)
                {
                    var opt = new SpecificationAttributeOption
                    {
                        Name = option.Name, SpecificationAttributeId = specificationAttribute.Id, DisplayOrder = ix
                    };
                    ix++;
                    _specificationAttributeService.InsertSpecificationAttributeOption(opt);
                    options.Add(opt);
                }
            }

            CustomerActivityService.InsertActivity("AddNewSpecAttribute", LocalizationService.GetResource("ActivityLog.AddNewSpecAttribute"), specificationAttribute);

            // Preparing the result dto of the new product
            var specificationAttributeDto = _dtoHelper.PrepareSpecificationAttributeDto(specificationAttribute);

            specificationAttributeDto.SpecificationAttributeOptions = new List <SpecificationAttributeOptionDto>();
            foreach (var option in options)
            {
                specificationAttributeDto.SpecificationAttributeOptions.Add(_dtoHelper.PrepareSpecificationAttributeOptionDto(option));
            }
            var specificationAttributesRootObjectDto = new SpecificationAttributesRootObjectDto();

            specificationAttributesRootObjectDto.SpecificationAttributes.Add(specificationAttributeDto);

            var json = JsonFieldsSerializer.Serialize(specificationAttributesRootObjectDto, string.Empty);

            return(new RawJsonActionResult(json));
        }
Пример #27
0
        public async Task <SpecificationAttribute> GetCategorySpecificationAttributeAsync()
        {
            SpecificationAttribute categoryAttribute = _specificationAttributeRepository.Table
                                                       .Where(sar => sar.Name.ToLower() == "category")
                                                       .Select(sar => sar).FirstOrDefault();

            if (categoryAttribute == null)
            {
                categoryAttribute              = new SpecificationAttribute();
                categoryAttribute.Name         = "Category";
                categoryAttribute.DisplayOrder = -1;
                await _specificationAttributeRepository.InsertAsync(categoryAttribute);
            }

            return(categoryAttribute);
        }
Пример #28
0
        public SpecificationAttribute SaveInfo()
        {
            SpecificationAttribute specificationAttribute = SpecificationAttributeManager.GetSpecificationAttributeByID(this.SpecificationAttributeID);

            if (specificationAttribute != null)
            {
                specificationAttribute = SpecificationAttributeManager.UpdateSpecificationAttribute(specificationAttribute.SpecificationAttributeID, txtName.Text, txtDisplayOrder.Value);
                ColorManager.UpdateColor(specificationAttribute.Name, txtName.Text);
            }
            else
            {
                specificationAttribute = SpecificationAttributeManager.InsertSpecificationAttribute(txtName.Text, txtDisplayOrder.Value);
            }

            return(specificationAttribute);
        }
        private void FillDropDownList(DropDownList dropDownList, SpecificationAttributeCollection sa,
                                      SpecificationAttributeOptionCollection saoc, String specificationAttributeName)
        {
            dropDownList.Items.Add("Не выбрано");
            SpecificationAttribute specAttribute = sa.Find(x => x.Name.ToLower() == specificationAttributeName);

            if (specAttribute != null)
            {
                int specificationAttributeID = sa.Find(x => x.Name.ToLower() == specificationAttributeName).SpecificationAttributeID;
                List <SpecificationAttributeOption> specificationAttributeOptionByType = saoc.FindAll(x => x.SpecificationAttributeID == specificationAttributeID);
                foreach (SpecificationAttributeOption sao in specificationAttributeOptionByType)
                {
                    dropDownList.Items.Add(new ListItem(sao.Name, sao.SpecificationAttributeOptionID.ToString()));
                }
            }
        }
        private void AdjustColorsFilter(string categoryName, Category category)
        {
            SpecificationAttribute specAttrColor = ColorManager.GetColorSpecificationAttribute();

            if (specAttrColor != null)
            {
                List <int> saOptions = ProductManager.GetProductSpecificationAttributeOptionsByCategory(category.CategoryID, specAttrColor.SpecificationAttributeID);

                if (saOptions.Count > 0)
                {
                    colorsFilter.Visible = true;
                    List <ColorItem> colors = ColorManager.GetColorsBySAOID(saOptions);
                    colorsFilter.Colors       = colors;
                    colorsFilter.CategoryName = categoryName;
                }
            }
        }