protected override object ReadRow(IRowReader reader) { AssetMetadataTextField assetMetadataTextField = AssetMetadataTextField.New(); // Table Fields assetMetadataTextField.AssetMetadataTextFieldId = reader.GetInt32("AssetMetadataTextFieldId"); assetMetadataTextField.AssetId = reader.GetInt32("AssetId"); assetMetadataTextField.GroupNumber = reader.GetInt32("GroupNumber"); assetMetadataTextField.TextFieldValue = reader.GetString("TextFieldValue"); assetMetadataTextField.IsDirty = false; assetMetadataTextField.ChangedProperties.Clear(); return(assetMetadataTextField); }
public virtual AssetMetadataTextField Update(AssetMetadataTextField assetMetadataTextField) { if (!assetMetadataTextField.IsDirty || assetMetadataTextField.IsNull) { // Nothing to do - no point hammering the database unnecessarily return(assetMetadataTextField); } IDbCommand command = CreateCommand(); if (assetMetadataTextField.IsNew) { // Adding command.CommandText = @"INSERT INTO [AssetMetadataTextField] ([AssetId], [GroupNumber], [TextFieldValue]) VALUES (@assetId, @groupNumber, @textFieldValue) ; SELECT @@identity AS NewId;"; } else { // Updating command.CommandText = "UPDATE [AssetMetadataTextField] SET [AssetId] = @assetId, [GroupNumber] = @groupNumber, [TextFieldValue] = @textFieldValue WHERE AssetMetadataTextFieldId = @assetMetadataTextFieldId"; } command.Parameters.Add(CreateParameter("@assetId", assetMetadataTextField.AssetId)); command.Parameters.Add(CreateParameter("@groupNumber", assetMetadataTextField.GroupNumber)); command.Parameters.Add(CreateParameter("@textFieldValue", assetMetadataTextField.TextFieldValue)); if (assetMetadataTextField.IsNew) { assetMetadataTextField.AssetMetadataTextFieldId = Convert.ToInt32(ExecScalar(command)); } else { command.Parameters.Add(CreateParameter("@assetMetadataTextFieldId", assetMetadataTextField.AssetMetadataTextFieldId)); ExecuteCommand(command); } assetMetadataTextField.IsDirty = false; assetMetadataTextField.ChangedProperties.Clear(); return(assetMetadataTextField); }
public static AssetMetadataTextField FindOne(AssetMetadataTextFieldFinder finder) { AssetMetadataTextField AssetMetadataTextField = AssetMetadataTextFieldMapper.Instance.FindOne(finder); return(AssetMetadataTextField ?? Empty); }
public static AssetMetadataTextField Update(AssetMetadataTextField assetMetadataTextField) { return(AssetMetadataTextFieldMapper.Instance.Update(assetMetadataTextField)); }
public static AssetMetadataTextField Get(Nullable <Int32> AssetMetadataTextFieldId) { AssetMetadataTextField AssetMetadataTextField = AssetMetadataTextFieldMapper.Instance.Get(AssetMetadataTextFieldId); return(AssetMetadataTextField ?? Empty); }
/// <summary> /// Saves the asset metadata. /// </summary> public static void SaveAssetMetadata(Asset asset) { if (asset.IsNull) { Debug.WriteLine("Skipped saving asset metadata, asset is null"); return; } if (asset.IsNew) { Debug.WriteLine("Skipped saving asset metadata, asset is new"); return; } if (asset.AssetMetadataLoaded()) { AssetMetadataMapper.Instance.DeleteAllAssetMetadata(asset.AssetId.GetValueOrDefault()); StringBuilder sb = new StringBuilder(); foreach (var metadata in asset.MetadataList.Distinct()) { if (metadata.IsNull || metadata.MetadataId == 0) { continue; } AssetMetadata am = AssetMetadata.New(); am.AssetId = asset.AssetId.GetValueOrDefault(); am.MetadataId = metadata.MetadataId.GetValueOrDefault(); AssetMetadata.Update(am); sb.AppendFormat(" {0}", metadata.Name); if (!StringUtils.IsBlank(metadata.ExternalRef)) { sb.AppendFormat(", {0}", metadata.ExternalRef); } if (!StringUtils.IsBlank(metadata.Synonyms)) { sb.AppendFormat(", {0}", metadata.Synonyms); } } foreach (var area in asset.MetadataTextAreasList) { if (area.IsNull || StringUtils.IsBlank(area.TextAreaValue)) { continue; } area.AssetMetadataTextAreaId = null; area.AssetId = asset.AssetId.GetValueOrDefault(); AssetMetadataTextArea.Update(area); sb.AppendFormat(" {0}", area.TextAreaValue.Length > 600 ? area.TextAreaValue.Substring(0, 600) : area.TextAreaValue); } foreach (var field in asset.MetadataTextFieldsList) { if (field.IsNull || StringUtils.IsBlank(field.TextFieldValue)) { continue; } field.AssetMetadataTextFieldId = null; field.AssetId = asset.AssetId.GetValueOrDefault(); AssetMetadataTextField.Update(field); sb.AppendFormat(" {0}", field.TextFieldValue); } asset.AssetMetadataVals = sb.ToString().Trim(); Update(asset); } if (asset.AssetCategoriesLoaded()) { AssetCategoryMapper.Instance.DeleteAssetCategories(asset.AssetId.GetValueOrDefault()); StringBuilder sb = new StringBuilder(); foreach (Category category in asset.CategoryList) { if (category.IsNull) { continue; } AssetCategory ac = AssetCategory.New(); ac.AssetId = asset.AssetId.GetValueOrDefault(); ac.CategoryId = category.CategoryId.GetValueOrDefault(); ac.IsPrimary = (asset.PrimaryCategoryId == ac.CategoryId); AssetCategory.Update(ac); sb.Append(category.Name); //if (!StringUtils.IsBlank(category.Message)) // sb.AppendFormat(", {0}", category.Message); if (!StringUtils.IsBlank(category.ExternalRef)) { sb.AppendFormat(", {0}", category.ExternalRef); } if (!StringUtils.IsBlank(category.Synonyms)) { sb.AppendFormat(", {0}", category.Synonyms); } } asset.AssetCategories = sb.ToString(); Update(asset); } if (asset.LinkedAssetsLoaded()) { AssetLinkMapper.Instance.DeleteLinkedAssets(asset.AssetId.GetValueOrDefault()); foreach (Asset linkedAsset in asset.LinkedAssetList) { if (linkedAsset.IsNull) { continue; } AssetLink assetLink = AssetLink.New(); assetLink.AssetId = asset.AssetId.GetValueOrDefault(); assetLink.LinkedAssetId = linkedAsset.AssetId.GetValueOrDefault(); assetLink.LinkedAssetTitle = linkedAsset.Title; // Not really required, controlled by the view anyway AssetLink.Update(assetLink); } } }