BExIS.Web.Shell.Areas.RPM.Controllers.DataStructureEditController.storeDomainConstraint C# (CSharp) Method

storeDomainConstraint() public method

public storeDomainConstraint ( DomainConstraintModel constraintModel ) : DataAttribute
constraintModel BExIS.Web.Shell.Areas.RPM.Models.DomainConstraintModel
return BExIS.Dlm.Entities.DataStructure.DataAttribute
        public DataAttribute storeDomainConstraint(DomainConstraintModel constraintModel)
        {
            DataContainerManager dcManager = new DataContainerManager();
            DataAttribute dataAttribute = dcManager.DataAttributeRepo.Get(constraintModel.AttributeId);
            List<DomainItem> items = new List<DomainItem>();
            if (constraintModel.Terms != null && constraintModel.Terms.Trim() != "")
                items = createDomainItems(constraintModel.Terms.Trim());

            if (items.Count > 0)
            {
                if (constraintModel.Id == 0)
                {
                    DomainConstraint constraint = new DomainConstraint(ConstraintProviderSource.Internal, "", AppConfiguration.Culture.Name, constraintModel.Description, constraintModel.Negated, null, null, null, items);
                    dcManager.AddConstraint(constraint, dataAttribute);
                }
                else
                {
                    DomainConstraint temp = new DomainConstraint();
                    for (int i = 0; i < dataAttribute.Constraints.Count; i++)
                    {
                        if (dataAttribute.Constraints.ElementAt(i).Id == constraintModel.Id)
                        {
                            temp = (DomainConstraint)dataAttribute.Constraints.ElementAt(i);
                            temp.Materialize();
                            temp.Description = constraintModel.Description;
                            temp.Negated = constraintModel.Negated;
                            temp.Items = items;
                            dcManager.AddConstraint(temp, dataAttribute);
                            break;
                        }
                    }
                }
            }
            return dataAttribute;
        }