亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
不卡电影免费在线播放一区| 奇米精品一区二区三区四区| 亚洲国产成人在线| 欧美亚洲一区二区在线观看| youjizz国产精品| 成人高清视频在线观看| 国产精品一级在线| 韩国成人在线视频| 激情综合网av| 国产麻豆成人精品| 国产精品一区二区视频| 国产精品亚洲一区二区三区妖精| 九九热在线视频观看这里只有精品| 日本在线不卡一区| 久久99国内精品| 狠狠色丁香婷综合久久| 国产福利精品一区二区| 国产精品2024| 99久久99久久综合| 日本高清视频一区二区| 欧美福利电影网| 日韩精品资源二区在线| 久久久久国产免费免费| 国产精品久久一卡二卡| 亚洲精品免费在线观看| 午夜天堂影视香蕉久久| 蜜臀av一区二区| 国产福利不卡视频| 色香蕉成人二区免费| 欧美精品一级二级三级| 久久人人爽爽爽人久久久| 日本一区二区三级电影在线观看| 亚洲素人一区二区| 首页欧美精品中文字幕| 久久精品国产网站| 99免费精品视频| 51精品久久久久久久蜜臀| 国产欧美视频在线观看| 亚洲一区二区高清| 国产精品资源站在线| 成人av资源站| 欧美一级片免费看| 国产精品视频免费| 日本视频免费一区| 99免费精品视频| 欧美一级二级三级蜜桃| 中文字幕人成不卡一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产乱码字幕精品高清av| 在线一区二区观看| 久久久久久久综合| 天堂影院一区二区| 99在线热播精品免费| 精品免费99久久| 一区二区三区日韩在线观看| 韩国一区二区视频| 久久久99久久精品欧美| 亚洲欧美日韩国产另类专区| 国内精品国产三级国产a久久| 91国产精品成人| 国产精品网友自拍| 国产一区二区在线电影| 91精品国产综合久久久久久久| 国产精品免费视频一区| 国产一区二区三区久久悠悠色av| 欧美日韩久久一区| 一区二区三区在线视频免费| 懂色av一区二区三区免费观看| 日韩精品专区在线| 日本午夜一区二区| 精品视频999| 亚洲一区日韩精品中文字幕| www.日本不卡| 国产欧美日韩另类一区| 国模套图日韩精品一区二区| 欧美一区二区视频观看视频| 亚洲一区二区三区爽爽爽爽爽 | 国产日产欧美一区二区三区| 日韩专区在线视频| 欧美日高清视频| 亚洲综合色在线| 色8久久人人97超碰香蕉987| 中文字幕亚洲综合久久菠萝蜜| 国产成人精品免费在线| 国产欧美日韩精品在线| 国产精品系列在线观看| 久久综合五月天婷婷伊人| 狠狠色狠狠色综合系列| 久久久www免费人成精品| 91丝袜美腿高跟国产极品老师 | 美女任你摸久久 | 日本亚洲欧美天堂免费| 日韩欧美精品三级| 狠狠色丁香九九婷婷综合五月| 亚洲精品一线二线三线| 国产盗摄一区二区三区| 国产精品免费av| 在线视频一区二区三| 亚洲小少妇裸体bbw| 这里只有精品免费| 国内精品国产三级国产a久久| 国产女人18毛片水真多成人如厕| 国产宾馆实践打屁股91| 亚洲第一搞黄网站| 欧美日韩在线一区二区| 全国精品久久少妇| 亚洲国产成人午夜在线一区| 91在线视频免费91| 日韩国产在线一| 久久久久久99久久久精品网站| 丁香激情综合国产| 亚洲国产成人tv| 久久久久久久网| 色系网站成人免费| 蜜桃视频在线观看一区| 国产精品传媒入口麻豆| 欧美日韩一二三区| 国产乱国产乱300精品| 亚洲精品自拍动漫在线| 日韩欧美一区二区视频| 波多野结衣欧美| 日韩电影在线观看网站| 国产日韩欧美不卡在线| 欧美日韩视频专区在线播放| 国产成人免费在线观看不卡| 亚洲丰满少妇videoshd| 久久精品亚洲精品国产欧美| 色婷婷香蕉在线一区二区| 国内精品国产成人国产三级粉色| 亚洲男人都懂的| 久久精品无码一区二区三区| 欧美性猛交xxxx黑人交| 国产不卡视频一区二区三区| 亚洲aⅴ怡春院| 国产精品乱子久久久久| 欧美一区二区三区色| 91丨九色丨黑人外教| 国产一区二区导航在线播放| 亚洲va韩国va欧美va精品| 国产精品久久777777| 精品成人免费观看| 51精品秘密在线观看| 欧美伊人精品成人久久综合97| 成人激情图片网| 国产在线看一区| 久久福利视频一区二区| 婷婷夜色潮精品综合在线| 一区二区在线观看不卡| 国产精品久久久久久妇女6080| 2023国产精华国产精品| 日韩精品一区二区三区四区 | 欧美性做爰猛烈叫床潮| 97se亚洲国产综合自在线| 粉嫩一区二区三区性色av| 国产在线一区观看| 色域天天综合网| av电影在线观看完整版一区二区| 国产美女久久久久| 国产不卡视频一区| 成人性生交大片免费看中文网站| 精品一区二区成人精品| 经典三级一区二区| 国内精品免费**视频| 国产一区高清在线| 成人深夜福利app| 国产成人精品亚洲777人妖| 国产成人免费在线视频| 国产不卡视频一区| 91麻豆免费看| 欧美优质美女网站| 欧美一区二区三区四区在线观看| 91精品综合久久久久久| 欧美第一区第二区| 久久久亚洲综合| 国产精品伦一区| 亚洲综合一二区| 日本女优在线视频一区二区| 麻豆国产精品一区二区三区 | 国产欧美一区视频| 国产精品久久久久久福利一牛影视 | 99国产一区二区三精品乱码| 99久久久免费精品国产一区二区| 97se狠狠狠综合亚洲狠狠| 欧美色图天堂网| 欧美zozo另类异族| 国产精品久久久久久久久快鸭| 亚洲欧美乱综合| 喷水一区二区三区| 丁香天五香天堂综合| 欧美日韩激情在线| 久久久亚洲综合| 一区二区免费在线播放| 精品一区二区在线免费观看| 成人av集中营| 3d成人h动漫网站入口| 国产日韩精品久久久| 日韩中文字幕麻豆| 懂色av一区二区三区蜜臀| 欧美日韩视频在线一区二区| 久久奇米777|