private MetadataValueContact CreateMetadataContactValue(MetadataValueModel metadataValueModel, Fascicle fascicle) { MetadataValueContact metadataContactValue = new MetadataValueContact(); metadataContactValue.Fascicle = fascicle; metadataContactValue.Name = metadataValueModel.KeyName; ContactModel contactModel = JsonConvert.DeserializeObject <ContactModel>(metadataValueModel.Value); if (contactModel.Id.HasValue) { metadataContactValue.Contact = _unitOfWork.Repository <Contact>().Find(contactModel.Id.Value); } else { metadataContactValue.ContactManual = metadataValueModel.Value; } return(metadataContactValue); }
public static MetadataValue CreateMetadataValue(MetadataDesignerModel metadataDesignerModel, MetadataValueModel metadataValueModel) { MetadataValue metadataValue = new MetadataValue(); metadataValue.Name = metadataValueModel.KeyName; if (metadataDesignerModel.TextFields.Any(x => x.KeyName == metadataValueModel.KeyName) || metadataDesignerModel.DiscussionFields.Any(x => x.KeyName == metadataValueModel.KeyName) || metadataDesignerModel.EnumFields.Any(x => x.KeyName == metadataValueModel.KeyName)) { metadataValue.ValueString = metadataValueModel.Value; metadataValue.PropertyType = MetadataPropertyType.PropertyString; } if (metadataDesignerModel.BoolFields.Any(x => x.KeyName == metadataValueModel.KeyName)) { if (bool.TryParse(metadataValueModel.Value, out bool res)) { metadataValue.ValueBoolean = res; } metadataValue.PropertyType = MetadataPropertyType.PropertyBoolean; } if (metadataDesignerModel.DateFields.Any(x => x.KeyName == metadataValueModel.KeyName)) { if (DateTime.TryParse(metadataValueModel.Value, out DateTime res)) { metadataValue.ValueDate = res; } metadataValue.PropertyType = MetadataPropertyType.PropertyDate; } if (metadataDesignerModel.NumberFields.Any(x => x.KeyName == metadataValueModel.KeyName)) { if (int.TryParse(metadataValueModel.Value, out int res)) { metadataValue.ValueInt = res; } metadataValue.PropertyType = MetadataPropertyType.PropertyInt; } return(metadataValue); }