protected void HandleProductAttributes(InventoryItem product, ref List <KCAPIAttribute> attributes)
        {
            IEnumerable <CSAnswers>  attrs = Graph.Attributes.Select(product.InventoryID).RowCast <CSAnswers>().Where(x => x.RefNoteID == product.NoteID);
            KCAttributesMappingMaint attributesMappingGraph = PXGraph.CreateInstance <KCAttributesMappingMaint>();

            attributesMappingGraph.updateAttributes();

            foreach (CSAnswers attribute in attrs)
            {
                KCAttributesMapping mappedAttribute = attributesMappingGraph.MappedAttributeById.SelectSingle(attribute.AttributeID);
                if (mappedAttribute == null)
                {
                    continue;
                }

                KCAttribute cAAttribute = Graph.KCAttributes.Select().RowCast <KCAttribute>().FirstOrDefault(x => x.AttributeID == mappedAttribute.CAAttributeID);
                if (cAAttribute.AttributeType.Equals(KCAttributeType.Custom))
                {
                    attribute.AttributeID = cAAttribute.AttributeName;
                    attributes.Add(new KCAPIAttribute {
                        Name = attribute.AttributeID, Value = attribute.Value
                    });
                }
            }
        }
 private void CleanProductAttributeMapping(ref KCAttributesMapping attributeMapping)
 {
     attributeMapping.IsMapped      = false;
     attributeMapping.CAAttributeID = null;
 }
 protected virtual bool IsCAAttributesEmpty(KCAttributesMapping atrtibuteMapping)
 {
     return(atrtibuteMapping.IsMapped == true && atrtibuteMapping.CAAttributeID == null);
 }