Exemple #1
0
        // POST: odata/CartBuys
        public IHttpActionResult Post(CartBuy cartBuy)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.CartBuys.Add(cartBuy);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (CartBuyExists(cartBuy.Cart_Id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Created(cartBuy));
        }
Exemple #2
0
        //取得於購物車內的商品陣列
        public List <CartBuy> GetItemFromCart(string Cart)
        {
            List <CartBuy> DataList = new List <CartBuy>();
            string         sql      = $@" SELECT * FROM CartBuy m INNER JOIN Item d ON m.Item_Id = d.Id WHERE Cart_Id = '{Cart}'";

            try
            {
                conn.Open();
                SqlCommand    cmd = new SqlCommand(sql, conn);
                SqlDataReader dr  = cmd.ExecuteReader();
                while (dr.Read())
                {
                    CartBuy Data = new CartBuy();
                    Data.Cart_Id    = dr["Cart_Id"].ToString();
                    Data.Item_Id    = Convert.ToInt32(dr["Item_Id"]);
                    Data.Item.Id    = Convert.ToInt32(dr["Id"]);
                    Data.Item.Image = dr["Image"].ToString();
                    Data.Item.Name  = dr["Name"].ToString();
                    Data.Item.Price = Convert.ToInt32(dr["Price"]);
                    DataList.Add(Data);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message.ToString());
            }
            finally
            {
                conn.Close();
            }
            return(DataList);
        }
Exemple #3
0
        public bool CheckInCart(string Cart, int Item_Id)
        {
            //選告要回傳的搜尋資料為資料庫中的CartBuy資料
            CartBuy Data = new CartBuy();
            string  sql  = $@" SELECT * FROM CartBuy m INNER JOIN Item d ON m.Item_Id = d.Id WHERE Cart_Id = '{Cart}' AND Item_Id = '{Item_Id}';";

            try
            {
                conn.Open();
                SqlCommand    cmd = new SqlCommand(sql, conn);
                SqlDataReader dr  = cmd.ExecuteReader();
                dr.Read();
                Data.Cart_Id    = dr["Cart_id"].ToString();
                Data.Item_Id    = Convert.ToInt32(dr["Item_Id"]);
                Data.Item.Id    = Convert.ToInt32(dr["Id"]);
                Data.Item.Image = dr["Image"].ToString();
                Data.Item.Name  = dr["Name"].ToString();
                Data.Item.Price = Convert.ToInt32(dr["Price"]);
            }
            catch
            {
                Data = null;
            }
            finally
            {
                conn.Close();
            }
            return(Data != null);
        }
Exemple #4
0
        //確認商品是否於購物車中方法
        public bool CheckInCart(string Cart, int Item_Id)
        {
            //根據購物車與商品編號取得CartBuy資料表內資料
            CartBuy SearchData = db.CartBuy
                                 .Where(p => p.Cart_Id == Cart && p.Item_Id == Item_Id)
                                 .FirstOrDefault();

            //判斷使否有資料,以確認是否於購物車中
            return(SearchData != null);
        }
Exemple #5
0
        //將商品從購物車取出方法
        public void RemoveForCart(string Cart, int Item_Id)
        {
            //根據購物車與商品編號取得CartBuy資料表內資料
            CartBuy DeleteData = db.CartBuy
                                 .Where(p => p.Cart_Id == Cart && p.Item_Id == Item_Id)
                                 .FirstOrDefault();

            //從資料庫實體中刪除資料
            db.CartBuy.Remove(DeleteData);
            //儲存資料庫變更
            db.SaveChanges();
        }
Exemple #6
0
        //將商品放入購物車方法
        public void AddtoCart(string Cart, int Item_Id)
        {
            //宣告一筆新的CartBuy資料表資料物件
            CartBuy newData = new CartBuy();

            //設定資料的值
            newData.Cart_Id = Cart;
            newData.Item_Id = Item_Id;
            //將資料加入資料庫實體
            db.CartBuy.Add(newData);
            //儲存資料庫變更
            db.SaveChanges();
        }
Exemple #7
0
        // DELETE: odata/CartBuys(5)
        public IHttpActionResult Delete([FromODataUri] string key)
        {
            CartBuy cartBuy = db.CartBuys.Find(key);

            if (cartBuy == null)
            {
                return(NotFound());
            }

            db.CartBuys.Remove(cartBuy);
            db.SaveChanges();

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #8
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddIdentity <IdentityUser, IdentityRole>()
            .AddEntityFrameworkStores <SnacksContext>().AddDefaultTokenProviders();

            services.AddControllersWithViews();
            services.AddDbContext <SnacksContext>(x => x.UseSqlServer(Configuration.GetConnectionString("Default")));

            services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AcessDenied");
            services.AddTransient <ICategoryRepository, CategoryRepository>();
            services.AddTransient <ISnackRepository, SnackRepository>();
            services.AddTransient <IRequestRepository, RequestRepository>();
            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddScoped(cb => CartBuy.GetCart(cb));
            services.AddMemoryCache();
            services.AddSession();
        }
Exemple #9
0
        //取得於購物車內的商品陣列
        public List <CartBuy> GetItemFromCart(string Cart)
        {
            //宣告要回傳的搜尋資料為資料庫中的CartBuy資料表
            List <CartBuy> DataList = new List <CartBuy>();
            //Sql語法
            //根據購物車編號取得已放入購物車的商品陣列
            string sql = $@" select * from CartBuy m inner join Item d on m.Item_Id = d.Id  where Cart_Id = '{Cart}' ";

            //確保程式不會因執行錯誤而整個中斷
            try
            {
                //開啟資料庫連線
                conn.Open();
                //執行Sql指令
                SqlCommand cmd = new SqlCommand(sql, conn);
                //取得Sql資料
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read()) //獲得下一筆資料直到沒有資料
                {
                    CartBuy Data = new CartBuy();
                    Data.Cart_Id    = dr["Cart_Id"].ToString();
                    Data.Item_Id    = Convert.ToInt32(dr["Item_Id"]);
                    Data.Item.Id    = Convert.ToInt32(dr["Id"]);
                    Data.Item.Image = dr["Image"].ToString();
                    Data.Item.Name  = dr["Name"].ToString();
                    Data.Item.Price = Convert.ToInt32(dr["Price"]);
                    DataList.Add(Data);
                }
            }
            catch (Exception e)
            {
                //丟出錯誤
                throw new Exception(e.Message.ToString());
            }
            finally
            {
                //關閉資料庫連線
                conn.Close();
            }
            //回傳搜尋資料
            return(DataList);
        }
Exemple #10
0
        //確認商品是否於購物車中方法
        public bool CheckInCart(string Cart, int Item_Id)
        {
            //宣告要回傳的搜尋資料為資料庫中的CartBuy資料
            CartBuy Data = new CartBuy();
            //Sql語法
            //根據購物車與商品編號取得CartBuy資料表內資料
            string sql = $@" select * from CartBuy m inner join Item d on m.Item_Id = d.Id where Cart_Id = '{Cart}' and Item_Id = {Item_Id} ";

            //確保程式不會因執行錯誤而整個中斷
            try
            {
                //開啟資料庫連線
                conn.Open();
                //執行Sql指令
                SqlCommand cmd = new SqlCommand(sql, conn);
                //取得Sql資料
                SqlDataReader dr = cmd.ExecuteReader();
                dr.Read(); //獲得下一筆資料直到沒有資料
                Data.Cart_Id    = dr["Cart_Id"].ToString();
                Data.Item_Id    = Convert.ToInt32(dr["Item_Id"]);
                Data.Item.Id    = Convert.ToInt32(dr["Id"]);
                Data.Item.Image = dr["Image"].ToString();
                Data.Item.Name  = dr["Name"].ToString();
                Data.Item.Price = Convert.ToInt32(dr["Price"]);
            }
            catch (Exception e)
            {
                //沒有資料傳回null
                Data = null;
            }
            finally
            {
                //關閉資料庫連線
                conn.Close();
            }
            //判斷是否有資料,以確認是否於購物車中
            return(Data != null);
        }
Exemple #11
0
        // PUT: odata/CartBuys(5)
        public IHttpActionResult Put([FromODataUri] string key, Delta <CartBuy> patch)
        {
            Validate(patch.GetEntity());

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            CartBuy cartBuy = db.CartBuys.Find(key);

            if (cartBuy == null)
            {
                return(NotFound());
            }

            patch.Put(cartBuy);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CartBuyExists(key))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Updated(cartBuy));
        }
 public CartBuyController(ISnackRepository repo, CartBuy cartBuy)
 {
     _repo    = repo;
     _cartBuy = cartBuy;
 }
 public RequestController(IRequestRepository repo, CartBuy cartBuy)
 {
     _repo    = repo;
     _cartBuy = cartBuy;
 }
Exemple #14
0
 public CartBuyResume(CartBuy cartBuy)
 {
     _cartBuy = cartBuy;
 }
Exemple #15
0
 public RequestRepository(SnacksContext context, CartBuy cartBuy)
 {
     _context = context;
     _cartBuy = cartBuy;
 }