public async Task <IActionResult> UpdateAmountCartItemEqualsToDB() { string message = ""; var headerValues = Request.Headers["Authorization"]; string userId = Authenticate.DecryptToken(headerValues.ToString()); var shoppingCartInDB = await _shoppingCartService.GetByUserIdAsync(userId); foreach (var itemInDB in shoppingCartInDB.ItemInCart) { var book = await _bookService.GetAsync(itemInDB.BookId); if (book.Amount < itemInDB.Amount) { message = message + string.Format("Sản phẩm {0} hiện tại chỉ còn {1} sản phẩm. Vui lòng cập nhật lại số lượng", itemInDB.Name, book.Amount.ToString()); } } if (message != "") { return(BadRequest(message)); } else { return(Ok("Pass")); } }
public async Task <IActionResult> UpdateAvatarUser([FromForm] UpdateAvatarModel updatedUser) { var headerValues = Request.Headers["Authorization"]; string userId = Authenticate.DecryptToken(headerValues.ToString()); var user = await _userService.GetAsync(userId); updatedUser.Id = userId; await _userService.UpdateAvatarAsync(updatedUser); ///Return updated user to update state in react var returnedUser = (await _userService.GetAsync(userId)).Adapt <UserViewModel>(); var provinces = await _provinceService.GetAllAsync(); var wards = await _wardService.GetByDistrictIdAsync(returnedUser.DistrictId); var districts = await _districtService.GetByProvinceIdAsync(returnedUser.ProvinceId); if (returnedUser.ProvinceId != null) { returnedUser.ProvinceName = provinces.Where(x => x.Id == returnedUser.ProvinceId).FirstOrDefault().Name; returnedUser.DistrictName = districts.Where(x => x.Id == returnedUser.DistrictId).FirstOrDefault().Name; returnedUser.WardName = wards.Where(x => x.Id == returnedUser.WardId).FirstOrDefault().Name; } returnedUser.ImgUrl = returnedUser.ImgUrl; returnedUser.BirthDay = Convert.ToDateTime(returnedUser.BirthDay).ToLocalTime().ToString("yyyy-MM-dd"); return(Ok(returnedUser)); }
public async Task <IActionResult> IncreaseOrDecreaseItemAmount( string bookId, int amount) { var headerValues = Request.Headers["Authorization"]; string userId = Authenticate.DecryptToken(headerValues.ToString()); return(Ok((await _shoppingCartService.UpdateAmountAsync(userId, bookId, amount)).Adapt <List <ItemInCartViewModel> >())); }
public async Task <ActionResult> DeleteItemInCart(string bookId) { var headerValues = Request.Headers["Authorization"]; string userId = Authenticate.DecryptToken(headerValues.ToString()); await _shoppingCartService.RemoveCartItemAsync(userId, bookId); return(Ok("Delete successfull")); }
public async Task <ActionResult <EntityList <CommentViewModel> > > GetComents([FromQuery] int page, [FromQuery] int pageSize) { var headerValues = Request.Headers["Authorization"]; string userId = Authenticate.DecryptToken(headerValues.ToString()); var comments = await _commentService.GetAsyncManage(userId, page, pageSize); return(Ok(comments)); }
public async Task <ActionResult <ShoppingCart> > Get() { var headerValues = Request.Headers["Authorization"]; string userId = Authenticate.DecryptToken(headerValues.ToString()); var shoppingCart = await _shoppingCartService.GetByUserIdAsync(userId); if (shoppingCart == null) { return(BadRequest("shoppingCart not found")); } return(Ok(shoppingCart.ItemInCart.Adapt <List <ItemInCartViewModel> >())); }
public async Task <IActionResult> AddToCart( [FromBody] JObject shoppingCart) { var headerValues = Request.Headers["Authorization"]; string userId = Authenticate.DecryptToken(headerValues.ToString()); var shoppingCartInDB = await _shoppingCartService.GetByUserIdAsync(userId); if (shoppingCartInDB.ItemInCart == null) { shoppingCartInDB.ItemInCart = new List <ItemInCart>(); } bool isExisted = false; if (shoppingCart["shoppingCartData"] != null) { var shoppingCartInBody = shoppingCart["shoppingCartData"]; List <ItemInCart> itemInCarts = shoppingCartInBody .Select(sc => new ItemInCart() { BookId = sc["bookId"].ToString(), Amount = int.Parse(sc["amount"].ToString()), Name = sc["name"].ToString(), Price = Convert.ToDecimal(sc["price"].ToString()), CoverPrice = Convert.ToDecimal(sc["coverPrice"].ToString()), AuthorName = sc["authorName"].ToString(), ImageSrc = sc["imageSrc"].ToString(), } ).ToList(); foreach (var itemInBody in itemInCarts) { foreach (var itemInDB in shoppingCartInDB.ItemInCart) { if (itemInDB.BookId == itemInBody.BookId) { itemInDB.Amount = itemInDB.Amount + itemInBody.Amount; isExisted = true; } } if (!isExisted) { shoppingCartInDB.ItemInCart.Add(itemInBody); } isExisted = false; } } await _shoppingCartService.UpdateAsync(userId, shoppingCartInDB); return(Ok(shoppingCartInDB)); }
public async Task <ActionResult <EntityList <OrdersViewModel> > > Get([FromQuery] int page, [FromQuery] int pageSize) { var headerValues = Request.Headers["Authorization"]; string userId = Authenticate.DecryptToken(headerValues.ToString()); var orders = await _orderService.GetAsync(userId, page, pageSize); foreach (var order in orders.Entities) { //Payment with momo if (order.PaymentType == 2) { order.TotalMoney = 0.ToString(); } } return(Ok(orders)); }
public async Task <ActionResult> PayForCart(int paymentType) { var headerValues = Request.Headers["Authorization"]; string userId = Authenticate.DecryptToken(headerValues.ToString()); var shoppingcart = await _shoppingCartService.GetByUserIdAsync(userId); foreach (var item in shoppingcart.ItemInCart) { var book = await _bookService.GetAsync(item.BookId); item.TotalMoney = item.Amount * item.Price; book.Amount = book.Amount - item.Amount; await _bookService.UpdateAsync(book.Id, book); } await _orderService.CreateAsync(userId, paymentType, shoppingcart.ItemInCart); shoppingcart.ItemInCart.Clear(); await _shoppingCartService.UpdateAsync(userId, shoppingcart); return(Ok("Thanh toán thành công")); }