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); }
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); }