Пример #1
0
        public int CreateField(EntityType entityType, String label, CustomFieldType customFieldType, String mask)
        {
            if (!_supportedEntityType.Contains(entityType) || String.IsNullOrEmpty(label))
            {
                throw new ArgumentException();
            }

            var resultMask = GetValidMask(customFieldType, mask);

            var sortOrder = Query(CrmDbContext.FieldDescription).Select(x => x.SortOrder).Max() + 1;

            var dbEntity = new DbFieldDescription
            {
                Label      = label,
                Type       = customFieldType,
                Mask       = resultMask,
                SortOrder  = sortOrder,
                EntityType = entityType,
                TenantId   = TenantID
            };

            CrmDbContext.FieldDescription.Add(dbEntity);

            CrmDbContext.SaveChanges();

            return(dbEntity.Id);
        }
Пример #2
0
        public CustomField ToCustomField(DbFieldDescription dbFieldDescription,
                                         DbFieldValue dbFieldValue = null)
        {
            var customField = _mapper.Map <CustomField>(dbFieldDescription);

            if (customField != null && dbFieldValue != null)
            {
                customField.Value    = dbFieldValue.Value;
                customField.EntityID = dbFieldValue.EntityId;
            }

            return(customField);
        }