public void EditCategory(int id, NewCategory category) { var detail = _attributeDetailRepository.GetAll().ToList(); var dbCategory = _categoryRepository.Get(id); var newCategory = new Category { Id = dbCategory.Id, Description = category.Description, Icon = category.Icon, CreatedBy = dbCategory.CreatedBy, ModifiedBy = category.CreatedBy, Name = category.Name, CreatedOn = DateTime.Now }; _categoryRepository.Update(newCategory, newCategory.Id); foreach (var attribute in detail.Where(attribute => attribute.CategoryId == id)) { _attributeDetailRepository.Remove(attribute); } foreach (var attribute in category.Attributes.Select(newAttribute => new AttributeDetail { CategoryId = newCategory.Id, Name = newAttribute.Name, Type = newAttribute.Type, IsMandatory = newAttribute.IsMandatory })) { _attributeDetailRepository.Add(attribute); } }
public void PostCategory(NewCategory category) { var newCategory = new Category(); var detail = new AttributeDetail(); newCategory.CreatedBy = category.CreatedBy; newCategory.Name = category.Name; newCategory.Description = category.Description; newCategory.Icon = category.Icon; newCategory.CreatedOn = DateTime.Now; _categoryRepository.Add(newCategory); foreach (var attribute in category.Attributes) { detail.CategoryId = newCategory.Id; detail.IsMandatory = attribute.IsMandatory; detail.Name = attribute.Name; detail.Type = attribute.Type; _attributeDetailRepository.Add(detail); detail = new AttributeDetail(); } }