亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bookshopprofileprovider.cs

?? 一個非常好的網上書店系統
?? CS
?? 第 1 頁 / 共 2 頁
字號:
?using System;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Profile;
using System.Collections;
using System.Collections.Specialized;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
//自定義配置文件提供程序
public sealed class BookShopProfileProvider : ProfileProvider
{

    //// 獲取數據操作配置類
    private static readonly SqlBookShopProfileProvider dal = new SqlBookShopProfileProvider();

    // 內部變量
    private const string ERR_INVALID_PARAMETER = "Invalid Profile parameter:";
    private const string PROFILE_SHOPPINGCART = "ShoppingCart";
    private const string PROFILE_ACCOUNT = "AccountInfo";
    private static string applicationName = "BookShop";

    /// <summary>
    /// 應用程序名
    /// </summary>
    public override string ApplicationName
    {
        get
        {
            return applicationName;
        }
        set
        {
            applicationName = value;
        }
    }

    /// <summary>
    /// 初始化提供程序
    /// </summary>
    /// <param name="name">提供程序的名稱</param>
    /// <param name="config">提供程序的配置</param>
    public override void Initialize(string name, NameValueCollection config)
    {
        if (config == null)
            throw new ArgumentNullException("config");
        if (string.IsNullOrEmpty(config["description"]))
        {
            config.Remove("description");
            config.Add("description", "BookShop Custom Profile Provider");
        }
        if (string.IsNullOrEmpty(name))
            name = "ShoppingCartProvider";

        if (config["applicationName"] != null && !string.IsNullOrEmpty(config["applicationName"].Trim()))
            applicationName = config["applicationName"];
        base.Initialize(name, config);
    }

    /// <summary>
    /// 返回指定應用程序實例的設置屬性值集合和設置屬性組。
    /// </summary>
    /// <param name="context">當前應用程序上下文</param>
    /// <param name="collection">一個系統的配置集合</param>
    /// <returns>返回一個當前的配置集合</returns>
    public override SettingsPropertyValueCollection GetPropertyValues(SettingsContext context, SettingsPropertyCollection collection)
    {
        //獲取登錄用戶信息
        string username = (string)context["UserName"];
        bool isAuthenticated = (bool)context["IsAuthenticated"];

        SettingsPropertyValueCollection svc = new SettingsPropertyValueCollection();
        //遍歷集合中的屬性
        foreach (SettingsProperty prop in collection)
        {
            SettingsPropertyValue pv = new SettingsPropertyValue(prop);
            //判斷屬性名稱
            //本實例涉及到兩個屬性的保存:購物籃和帳戶地址
            switch (pv.Property.Name)
            {
                case PROFILE_SHOPPINGCART:
                    pv.PropertyValue = GetCartItems(username, true);
                    break;
                case PROFILE_ACCOUNT:
                    pv.PropertyValue = GetAccountInfo(username);
                    break;
                default:
                    throw new ApplicationException(ERR_INVALID_PARAMETER + " name.");
            }
            svc.Add(pv);
        }
        return svc;
    }

    /// <summary>
    /// 設置指定的屬性設置組的值。
    /// </summary>
    /// <param name="context">當前應用程序上下文</param>
    /// <param name="collection">一個系統的配置集合.</param>
    public override void SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection)
    {
        //判斷當前登錄用戶
        string username = (string)context["UserName"];
        CheckUserName(username);
        bool isAuthenticated = (bool)context["IsAuthenticated"];
        int uniqueID = dal.GetUniqueID(username, isAuthenticated, false, ApplicationName);
        if (uniqueID == 0)
            uniqueID = dal.CreateProfileForUser(username, isAuthenticated, ApplicationName);

        //遍歷用戶的保存信息
        foreach (SettingsPropertyValue pv in collection)
        {
            if (pv.PropertyValue != null)
            {
                switch (pv.Property.Name)
                {
                    case PROFILE_SHOPPINGCART:
                        SetCartItems(uniqueID, (CartItem)pv.PropertyValue, true);
                        break;
                    case PROFILE_ACCOUNT:
                            SetAccountInfo(uniqueID, (AddressInfo)pv.PropertyValue);
                        break;
                    default:
                        throw new ApplicationException(ERR_INVALID_PARAMETER + " name.");
                }
            }
        }
        //更新配置時間等信息
        UpdateActivityDates(username, false);
    }

    // 獲取profile屬性

    // 獲取帳戶信息
    private static AddressInfo GetAccountInfo(string username)
    {
        return dal.GetAccountInfo(username, applicationName);
    }
    // 獲取購物籃信息
    private static CartItem GetCartItems(string username, bool isShoppingCart)
    {
        //初始化一個購物籃實體操作類
        CartItem cart = new CartItem();
        foreach (CartItemInfo cartItem in dal.GetCartItems(username, applicationName, isShoppingCart))
        {
            //在購物籃中添加商品信息
            cart.Add(cartItem);
        }
        return cart;
    }
    // 更新帳戶地址
    private static void SetAccountInfo(int uniqueID, AddressInfo addressInfo)
    {
        dal.SetAccountInfo(uniqueID, addressInfo);
    }
    // 更新購物籃信息
    private static void SetCartItems(int uniqueID, CartItem cart, bool isShoppingCart)
    {
        dal.SetCartItems(uniqueID, cart.CartItems, isShoppingCart);
    }
    /// <summary>
    /// 更新當前用戶的購物籃信息
    /// </summary>
    /// <param name="uniqueID">用戶ID</param>
    /// <param name="cartItems">購物籃中的商品</param>
    /// <param name="isShoppingCart">購物籃標志</param>
    private void SetCartItemsProfile(int uniqueID, ICollection<CartItemInfo> cartItems, bool isShoppingCart)
    {
        string sqlDelete = "DELETE FROM Cart WHERE UniqueID = @UniqueID AND IsShoppingCart = @IsShoppingCart;";

        SqlParameter[] parms1 = {				   
			new SqlParameter("@UniqueID", SqlDbType.Int),
			new SqlParameter("@IsShoppingCart", SqlDbType.Bit)};
        parms1[0].Value = uniqueID;
        parms1[1].Value = isShoppingCart;

        if (cartItems.Count > 0)
        {

            // 通過SQL事務更新信息
            string sqlInsert = "INSERT INTO Cart (UniqueID, ItemId, Name, Type, Price, CategoryId, ProductId, IsShoppingCart, Quantity) VALUES (@UniqueID, @ItemId, @Name, @Type, @Price, @CategoryId, @ProductId, @IsShoppingCart, @Quantity);";
            //定義購物籃的參數
            SqlParameter[] parms2 = {				   
			new SqlParameter("@UniqueID", SqlDbType.Int),	
			new SqlParameter("@IsShoppingCart", SqlDbType.Bit),
			new SqlParameter("@ItemId", SqlDbType.VarChar, 10),
			new SqlParameter("@Name", SqlDbType.VarChar, 80),
			new SqlParameter("@Type", SqlDbType.VarChar, 80),
			new SqlParameter("@Price", SqlDbType.Decimal, 8),
			new SqlParameter("@CategoryId", SqlDbType.VarChar, 10),
			new SqlParameter("@ProductId", SqlDbType.VarChar, 10),
			new SqlParameter("@Quantity", SqlDbType.Int)};
            parms2[0].Value = uniqueID;
            parms2[1].Value = isShoppingCart;
            SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction);
            conn.Open();
            //開始事務
            SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
            try
            {
                //在購物籃中添加信息
                SqlHelper.ExecuteNonQuery(trans, CommandType.Text, sqlDelete, parms1);
                foreach (CartItemInfo cartItem in cartItems)
                {
                    parms2[2].Value = cartItem.ItemId;
                    parms2[3].Value = cartItem.Name;
                    parms2[4].Value = cartItem.Price;
                    parms2[5].Value = cartItem.SupplierId;
                    parms2[6].Value = cartItem.ProductId;
                    parms2[7].Value = cartItem.Quantity;
                    SqlHelper.ExecuteNonQuery(trans, CommandType.Text, sqlInsert, parms2);
                }
                //執行事務

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级搡bbbb搡bbbb| 欧美国产日韩精品免费观看| 欧美成人性战久久| 婷婷国产在线综合| 99久久国产综合精品色伊| 3d动漫精品啪啪一区二区竹菊| 亚洲欧美一区二区三区久本道91| 亚洲第一成人在线| 成人激情开心网| 国产亚洲视频系列| 国产精品一区二区果冻传媒| 91精品国产麻豆国产自产在线| 亚洲国产综合人成综合网站| 蜜桃视频一区二区三区在线观看 | 91精品国产乱码| 无吗不卡中文字幕| 欧美猛男超大videosgay| 亚洲电影一区二区| 欧美日韩不卡一区| 亚洲天堂网中文字| 蜜臀久久99精品久久久画质超高清 | 精品视频在线视频| 婷婷综合五月天| 久久综合狠狠综合久久激情| 国产精品一区不卡| 亚洲午夜一区二区| 精品久久人人做人人爽| av一区二区久久| 午夜精品久久久久久久99樱桃| 欧美男女性生活在线直播观看| 成人综合日日夜夜| 免费成人av在线播放| 国产视频一区在线观看| 欧美手机在线视频| 成人不卡免费av| 日韩精品三区四区| 亚洲丝袜自拍清纯另类| 精品免费国产一区二区三区四区| 99re热视频精品| 国内久久婷婷综合| 五月综合激情日本mⅴ| 日韩免费观看高清完整版| 91浏览器入口在线观看| 26uuu精品一区二区三区四区在线| 亚洲综合男人的天堂| 欧美日韩夫妻久久| 盗摄精品av一区二区三区| 午夜精品一区二区三区免费视频| 国产精品拍天天在线| 日韩午夜激情av| 色狠狠综合天天综合综合| 久久爱另类一区二区小说| 亚洲女性喷水在线观看一区| 日韩欧美一区二区免费| 欧美在线一二三| 国产91在线观看丝袜| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 中文字幕亚洲综合久久菠萝蜜| 亚洲成人午夜影院| 中文字幕精品一区二区精品绿巨人 | 日韩亚洲欧美一区二区三区| 大白屁股一区二区视频| 国产欧美视频在线观看| 成人禁用看黄a在线| 日韩一区二区三区视频在线观看| 欧美在线一区二区三区| 91福利资源站| 欧美三级在线视频| 欧美丝袜自拍制服另类| 色狠狠色噜噜噜综合网| av在线不卡电影| 色婷婷综合五月| 欧美在线一区二区三区| 91精品国产色综合久久ai换脸| 欧美在线观看你懂的| 欧美妇女性影城| 久久午夜免费电影| 自拍av一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品久久久久aaaa| 亚洲gay无套男同| 免费不卡在线观看| 成人免费视频caoporn| 国产麻豆9l精品三级站| 99久久精品久久久久久清纯| 一本一本大道香蕉久在线精品| 99re热这里只有精品免费视频 | 色婷婷亚洲综合| 欧美精品v日韩精品v韩国精品v| 欧美日韩在线一区二区| 久久综合资源网| 国产精品久久久久天堂| 紧缚奴在线一区二区三区| 中文字幕亚洲不卡| 高清在线成人网| 7777精品伊人久久久大香线蕉经典版下载 | av网站一区二区三区| 7777精品伊人久久久大香线蕉的| 国产日本欧洲亚洲| 蜜桃视频第一区免费观看| va亚洲va日韩不卡在线观看| 69堂成人精品免费视频| 91在线你懂得| 国产精品久久久久久久裸模| 日本欧美在线看| 99在线精品免费| 国产欧美1区2区3区| 国产精品一区二区无线| 久久亚洲精精品中文字幕早川悠里| 日本欧美加勒比视频| 欧美日韩一卡二卡| 中文字幕巨乱亚洲| 蜜臂av日日欢夜夜爽一区| 337p亚洲精品色噜噜狠狠| 性久久久久久久久久久久| 色婷婷综合久久久久中文 | 日韩一区二区三区免费观看| 日本欧美一区二区三区| 久久99久国产精品黄毛片色诱| 色婷婷综合激情| 亚洲视频一二区| 97se亚洲国产综合自在线观| 亚洲欧美国产毛片在线| 国产乱码精品一区二区三区av | 日本一区二区动态图| 91色在线porny| 亚洲午夜电影在线观看| 日韩欧美区一区二| 丁香亚洲综合激情啪啪综合| 欧美videos中文字幕| 国产精品18久久久久久vr| 中文字幕乱码久久午夜不卡| 高清beeg欧美| 一二三区精品视频| 337p日本欧洲亚洲大胆色噜噜| 成人激情动漫在线观看| 亚洲三级电影网站| 欧美大白屁股肥臀xxxxxx| 成人avav在线| 久久99国产精品免费| 中文字幕佐山爱一区二区免费| 91精选在线观看| 色综合久久88色综合天天| 性久久久久久久久久久久| 一区二区三区在线播| 久久麻豆一区二区| 色婷婷久久久亚洲一区二区三区| 美女精品自拍一二三四| 亚洲午夜国产一区99re久久| 在线中文字幕一区| 欧美日韩亚洲国产综合| 欧洲一区在线电影| 夜夜嗨av一区二区三区网页| 久久久影视传媒| 在线精品国精品国产尤物884a| 国产综合久久久久久久久久久久| 色八戒一区二区三区| 亚洲综合一区在线| 国产欧美一二三区| 午夜激情综合网| 一本色道**综合亚洲精品蜜桃冫| 久久新电视剧免费观看| 日韩和欧美一区二区三区| 久久男人中文字幕资源站| 国产成人精品午夜视频免费| 国产成人av影院| heyzo一本久久综合| av中文字幕亚洲| 日本韩国一区二区三区| 国产成人aaa| 婷婷丁香激情综合| 亚洲天堂2016| 中文字幕第一区综合| xvideos.蜜桃一区二区| 26uuu亚洲婷婷狠狠天堂| 午夜欧美大尺度福利影院在线看| 精品影视av免费| 成人性生交大片免费看视频在线| 国产精品视频你懂的| 国产精品乱人伦一区二区| 国产乱一区二区| 成人免费高清在线| 91蜜桃免费观看视频| 欧美喷水一区二区| 亚洲精品在线免费观看视频| 亚洲国产精品自拍| 精品在线亚洲视频| 91黄色免费观看| 久久亚洲二区三区| 日韩精品一区二区三区视频播放| 国产成人午夜视频| 精品少妇一区二区三区在线视频| 国产aⅴ综合色| 成人爱爱电影网址| 国产精品卡一卡二| 狠狠网亚洲精品| 日韩激情一二三区| 国产精品视频你懂的| 91精彩视频在线| 精品剧情在线观看|