public static Common.Models.Assets.AssetTag Create(
            Common.Models.Assets.AssetTag model,
            Common.Models.Account.Users creator,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            if (!model.Id.HasValue)
            {
                model.Id = Guid.NewGuid();
            }
            model.CreatedBy = model.ModifiedBy = creator;
            model.Created   = model.Modified = DateTime.UtcNow;

            conn = DataHelper.OpenIfNeeded(conn);

            Common.Models.Assets.AssetTag existing = null;
            if (!model.Tag.Id.HasValue)
            {
                Common.Models.Assets.Tag tempTag = Tag.Get(model.Tag.Name.Trim());

                if (tempTag != null)
                {
                    model.Tag = tempTag;
                    existing  = Get(model.Asset.Id.Value, model.Tag.Id.Value);
                }
            }
            else
            {
                existing = Get(model.Asset.Id.Value, model.Tag.Id.Value);
            }

            DBOs.Assets.AssetTag dbo = Mapper.Map <DBOs.Assets.AssetTag>(model);

            //if (existing == null)
            //{
            conn.Execute("INSERT INTO \"asset_asset_tag\" (\"id\", \"asset_id\", \"asset_tag_id\", \"utc_created\", \"utc_modified\", \"created_by_user_pid\", \"modified_by_user_pid\") " +
                         "VALUES (@Id, @AssetId, @TagId, @UtcCreated, @UtcModified, @CreatedByUserPId, @ModifiedByUserPId)",
                         dbo);
            //}
            //else
            //{
            //    model = existing;
            //}

            DataHelper.Close(conn, closeConnection);

            return(model);
        }
        public static Common.Models.Assets.AssetTag Edit(
            Common.Models.Assets.AssetTag model,
            Common.Models.Account.Users modifier,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            model.ModifiedBy = modifier;
            model.Modified   = DateTime.UtcNow;
            DBOs.Assets.AssetTag dbo = Mapper.Map <DBOs.Assets.AssetTag>(model);

            conn = DataHelper.OpenIfNeeded(conn);

            conn.Execute("UPDATE \"asset_asset_tag\" SET " +
                         "\"asset_id\"=@AssetId, \"asset_tag_id\"=@TagId, \"utc_modified\"=@UtcModified, \"modified_by_user_pid\"=@ModifiedByUserPId " +
                         "WHERE \"id\"=@Id", dbo);

            DataHelper.Close(conn, closeConnection);

            return(model);
        }