// 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)); }
//取得於購物車內的商品陣列 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); }
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); }
//確認商品是否於購物車中方法 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); }
//將商品從購物車取出方法 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(); }
//將商品放入購物車方法 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(); }
// 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)); }
// 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(); }
//取得於購物車內的商品陣列 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); }
//確認商品是否於購物車中方法 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); }
// 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; }
public CartBuyResume(CartBuy cartBuy) { _cartBuy = cartBuy; }
public RequestRepository(SnacksContext context, CartBuy cartBuy) { _context = context; _cartBuy = cartBuy; }