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);
        }
示例#3
0
        public static AssetMetadataTextField FindOne(AssetMetadataTextFieldFinder finder)
        {
            AssetMetadataTextField AssetMetadataTextField = AssetMetadataTextFieldMapper.Instance.FindOne(finder);

            return(AssetMetadataTextField ?? Empty);
        }
示例#4
0
 public static AssetMetadataTextField Update(AssetMetadataTextField assetMetadataTextField)
 {
     return(AssetMetadataTextFieldMapper.Instance.Update(assetMetadataTextField));
 }
示例#5
0
        public static AssetMetadataTextField Get(Nullable <Int32> AssetMetadataTextFieldId)
        {
            AssetMetadataTextField AssetMetadataTextField = AssetMetadataTextFieldMapper.Instance.Get(AssetMetadataTextFieldId);

            return(AssetMetadataTextField ?? Empty);
        }
示例#6
0
        /// <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);
                }
            }
        }