private static void SaveOptions(EditAttribute editAttribute, int attributeID)
        {
            var curList = AttributeOptions.GetByAttributeID(attributeID);

            foreach (var option in editAttribute.Options)
            {
                if (!curList.Any(item => item.ID == option.ID))
                {
                    var attributeOption = new AttributeOption();

                    attributeOption.AttributeID = attributeID;
                    attributeOption.Title       = option.Title;

                    AttributeOptions.Insert(attributeOption);
                }
                else
                {
                    var item = curList.Single(cls => cls.ID == option.ID);

                    curList.Remove(item);

                    item.Title   = option.Title;
                    item.OrderID = option.OrderID;

                    AttributeOptions.Update(item);
                }
            }

            foreach (var item in curList)
            {
                AttributeOptions.Delete(item.ID);
            }
        }
        private static void SaveGroups(EditAttribute editAttribute, int attributeID)
        {
            var curList = AttributeGroups.GetByAttributeID(attributeID);

            foreach (var groupID in editAttribute.Groups)
            {
                if (!curList.Any(item => item.GroupID == groupID))
                {
                    var attributeGroup = new AttributeGroup();

                    attributeGroup.AttributeID = attributeID;
                    attributeGroup.GroupID     = groupID;

                    AttributeGroups.Insert(attributeGroup);
                }
                else
                {
                    curList.Remove(curList.Single(cls => cls.GroupID == groupID));
                }
            }

            foreach (var item in curList)
            {
                AttributeGroups.Delete(item.ID);
            }
        }
示例#3
0
 private void addButton_Click(object sender, EventArgs e)
 {
     using (EditAttribute <T> dialog = new EditAttribute <T>())
     {
         if (dialog.ShowDialog() == DialogResult.OK)
         {
             AddAttribute(dialog.Attribute, false);
         }
     }
 }
        public async Task EditAttribute(EditAttribute model)
        {
            var entity = new Data_Access_Layer.Attribute
            {
                Id   = model.Id,
                Name = model.Name
            };

            AttributeRepository.Update(entity);
        }
        public ActionResult Edit(int?id)
        {
            EditAttribute editAttribute;

            if (id.HasValue)
            {
                editAttribute        = Mapper.Map <EditAttribute>(Attributes.GetByID(id.Value));
                editAttribute.Groups = AttributeGroups.GetByAttributeID(editAttribute.ID).Select(item => item.GroupID).ToList();
            }
            else
            {
                editAttribute = new EditAttribute();
            }

            return(View(editAttribute));
        }
示例#6
0
        private void Edit()
        {
            Attribute <T> attribute = (Attribute <T>)attributesListView.SelectedItems[0].Tag;

            using (EditAttribute <T> dialog = new EditAttribute <T>(attribute))
            {
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    ListViewItem item = attributesListView.SelectedItems[0];

                    item.Tag              = dialog.Attribute;
                    item.Text             = dialog.Attribute.Key;
                    item.SubItems[1].Text = dialog.Attribute.Value;

                    OnAttributeEdited();
                }
            }
        }
        public ActionResult Edit(EditAttribute editAttribute)
        {
            try
            {
                var attribute = Mapper.Map <Attribute>(editAttribute);

                attribute.LastUpdate = DateTime.Now;

                ViewBag.Success = true;

                int attributeID = attribute.ID;
                if (attributeID == -1)
                {
                    Attributes.Insert(attribute);
                    attributeID = attribute.ID;

                    SaveGroups(editAttribute, attribute.ID);
                    SaveOptions(editAttribute, attribute.ID);

                    UserNotifications.Send(UserID, String.Format("جدید - ویژگی '{0}'", attribute.Title), "/Admin/Attributes/Edit/" + attribute.ID, NotificationType.Success);
                    editAttribute = new EditAttribute();
                }
                else
                {
                    Attributes.Update(attribute);

                    SaveGroups(editAttribute, attribute.ID);
                    SaveOptions(editAttribute, attribute.ID);

                    editAttribute.Groups  = AttributeGroups.GetByAttributeID(editAttribute.ID).Select(item => item.GroupID).ToList();
                    editAttribute.Options = AttributeOptions.GetByAttributeID(editAttribute.ID).Select(item => new EditAttributeOption()
                    {
                        ID = item.ID, AttributeID = item.AttributeID, Title = item.Title
                    }).ToList();
                }
            }
            catch (Exception ex)
            {
                SetErrors(ex);
            }

            return(ClearView(editAttribute));
        }
示例#8
0
        public async Task <IActionResult> EditAttribute([FromBody] EditAttribute model)
        {
            await _unitOfWork.EditAttribute(model);

            return(Ok());
        }