public HttpResponseMessage PurchaseVipNews([FromUri] int quantity) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; SponsoredNewsOrder sno = new SponsoredNewsOrder(); sno.UserID = HttpContext.Current.User.Identity.GetUserId(); sno.SponsoredNewsOrderDate = DateTime.Now; sno.Quantity = quantity; sno.SumPrice = sno.Quantity * 50000; entities.SponsoredNewsOrders.Add(sno); entities.UserInfos.Where(x => x.UserID == sno.UserID).FirstOrDefault().VipNewsCount = entities.UserInfos.Where(x => x.UserID == sno.UserID).FirstOrDefault().VipNewsCount + quantity; entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "PURCHASE OK")); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
//Thống kê số tin bán được và số tiền thu được. Nếu không điền month và year thì sẽ thống kê tất cả từ trước đến giờ. //Nếu có truyền year month vào thì thống kê tương đương tháng đó //Nếu truyền vào thêm month và year thì sẽ lọc ra tất các hóa đơn có trong thời gian đó public HttpResponseMessage SponsoredNewsAnalysis(string month = null, string year = null) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var returnlist = entities.SponsoredNewsOrders.ToList(); if (month != null) { int tempMoth = Convert.ToInt32(month); returnlist = returnlist.Where(x => x.SponsoredNewsOrderDate.Value.Month == tempMoth).ToList(); } if (year != null) { int tempYear = Convert.ToInt32(year); returnlist = returnlist.Where(x => x.SponsoredNewsOrderDate.Value.Year == tempYear).ToList(); } int sumQuantity = Convert.ToInt32(returnlist.Sum(x => x.Quantity)); int sumPrice = Convert.ToInt32(returnlist.Sum(x => x.SumPrice)); var result = new { sumquantity = sumQuantity, sumPrice = sumPrice }; return(Request.CreateResponse(HttpStatusCode.OK, result)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage LoadAllMyNewsOrders(string month = null, string year = null) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var returnlist = entities.SponsoredNewsOrders.Select(x => new { x.SponsoredNewsOrderID, x.UserID, userName = entities.AspNetUsers.FirstOrDefault(y => y.Id == x.UserID).UserName, x.Quantity, x.SumPrice, x.SponsoredNewsOrderDate }).OrderByDescending(x => x.SponsoredNewsOrderDate).ToList(); string currentuid = User.Identity.GetUserId(); returnlist = returnlist.Where(x => x.UserID == currentuid).ToList(); if (month != null) { int tempMoth = Convert.ToInt32(month); returnlist = returnlist.Where(x => x.SponsoredNewsOrderDate.Value.Month == tempMoth).ToList(); } if (year != null) { int tempYear = Convert.ToInt32(year); returnlist = returnlist.Where(x => x.SponsoredNewsOrderDate.Value.Year == tempYear).ToList(); } return(Request.CreateResponse(HttpStatusCode.OK, returnlist)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage CheckBanByUserID(string uid) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { bool flag = false; entities.Configuration.ProxyCreationEnabled = false; var list = entities.BanAccounts.Where(x => x.UserID == uid && x.LiftDate > DateTime.Now).ToList(); if (list.Count != 0) { flag = true; var respond = new { banned = flag, reason = list[list.Count - 1].Reason }; return(Request.CreateResponse(HttpStatusCode.OK, respond)); } else { var respond2 = new { banned = flag, reason = "" }; return(Request.CreateResponse(HttpStatusCode.OK, respond2)); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage ExtendTime([FromUri] int SponsoredItemID) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; string currentUserID = User.Identity.GetUserId(); SponsoredItem sno = entities.SponsoredItems.FirstOrDefault(x => x.SponsoredItemID == SponsoredItemID); if (sno != null) { var user = entities.UserInfos.FirstOrDefault(x => x.UserID == currentUserID); if (user.VipNewsCount == 0) { return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "Hết số lượng được đăng")); } sno.EndDate = sno.EndDate.Value.AddDays(7); user.VipNewsCount = user.VipNewsCount - 1; entities.SaveChanges(); } return(Request.CreateResponse(HttpStatusCode.OK, "POST OK")); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage DeleteMyRating([FromUri] int pid) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; string currentUserID = User.Identity.GetUserId(); var checkIfRated = entities.Ratings.FirstOrDefault(x => x.ProductID == pid && x.UserID == currentUserID); if (checkIfRated != null) { entities.Ratings.Remove(checkIfRated); entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "Đã xóa Rating")); } else { return(Request.CreateErrorResponse(HttpStatusCode.BadGateway, "Có lỗi xảy ra")); } } } catch { return(Request.CreateErrorResponse(HttpStatusCode.BadGateway, "Có lỗi xảy ra")); } }
public HttpResponseMessage ChangetoRead(int rid) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var result = entities.Reports.FirstOrDefault(x => x.ReportID == rid); if (result != null) { result.IsRead = true; entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Có lỗi")); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage LoadAllSponsoredItemsInTime(string skip = null, string take = null) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var result = entities.SponsoredItems.Where(x => x.EndDate > DateTime.Now).Select(y => new { sponsoredItemID = y.SponsoredItemID, startDate = y.StartDate, endDate = y.EndDate, product = entities.Products.FirstOrDefault(z => y.ProductID == z.ProductID) }).ToList(); if (take != null) { int tempTake = Convert.ToInt32(take); if (skip != null) { int tempSkip = Convert.ToInt32(skip); result = result.Skip(tempSkip).Take(tempTake).ToList(); } else { result = result.Take(tempTake).ToList(); } } return(Request.CreateResponse(HttpStatusCode.OK, result)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage LoadAllCompleteOrders([FromUri] string stateToLoad = "Done") { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var listOrders = entities.OrderItems.GroupBy(x => new { x.OrderID, x.Order.OrderDate, x.Order.AspNetUser.Id, x.Order.OrderNameofUser, x.Order.OrderPhoneNumber, x.Order.OrderAddress, x.Order.AspNetUser.UserName, totalPrice = entities.OrderItems.Where(g => g.OrderID == x.OrderID).Sum(h => h.FinalPrice) }).Select(y => new { orderID = y.Key.OrderID, orderDate = y.Key.OrderDate, orderUser = y.Key.UserName, orderUserID = y.Key.Id, orderNameofUser = y.Key.OrderNameofUser, orderAddress = y.Key.OrderAddress, orderPhoneNumber = y.Key.OrderPhoneNumber, orderTotalPrice = y.Key.totalPrice, orderItemIDs = y.Select(z => new { orderItemID = z.OrderItemID, orderItemState = z.OrderState, orderItemQuantity = z.Quantity, orderItemPrice = z.FinalPrice, itemID = z.Product.ProductID, productName = z.Product.ProductName, productImage = z.Product.ProductImage }).ToList() }).ToList(); var result = listOrders.ToList(); foreach (var i in listOrders) { foreach (var j in i.orderItemIDs) { if (j.orderItemState != "Done") { result.Remove(i); break; } } } return(Request.CreateResponse(HttpStatusCode.OK, result)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Post([FromBody] Rating rating) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; string currentUserID = User.Identity.GetUserId(); var checkIfRated = entities.Ratings.FirstOrDefault(x => x.ProductID == rating.Rating1 && x.UserID == currentUserID); if (checkIfRated != null) { return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "Bạn đã rate rồi")); } entities.Configuration.ProxyCreationEnabled = false; rating.UserID = currentUserID; entities.Ratings.Add(rating); entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "POST OK")); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage LoadAllProduct(string sort = null, string take = null) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var result = entities.Products.ToList(); result = result.OrderByDescending(x => x.ProductID).ToList(); if (take != null) { int takeTemp = Convert.ToInt32(take); result = result.Take(takeTemp).ToList(); } if (sort == "dsc") { result = result.OrderByDescending(x => x.ProductID).ToList(); } return(Request.CreateResponse(HttpStatusCode.OK, result)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Put(int id, [FromBody] Order order) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var entity = entities.Orders.FirstOrDefault(e => e.OrderID == id); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Order with Id " + id.ToString() + " not found to update")); } else { entity.UserID = order.UserID; entity.OrderDate = order.OrderDate; entity.OrderAddress = order.OrderAddress; entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, entity)); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Put(int id, [FromBody] Brand brand) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var entity = entities.Brands.FirstOrDefault(e => e.BrandID == id); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Product with Id " + id.ToString() + " not found to update")); } else { entity.BrandName = brand.BrandName; entity.Detail = brand.Detail; entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, entity)); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Delete(int id) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var entity = entities.BanAccounts.FirstOrDefault(e => e.BanAccountID == id); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Order item with Id = " + id.ToString() + " not found to delete")); } else { entities.BanAccounts.Remove(entity); entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "Delete OK")); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage EditCurrentUserInfo([FromBody] UserinfoModel userinfo) { try { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; string uid = User.Identity.GetUserId(); var entity = entities.UserInfos.FirstOrDefault(e => e.UserID == uid); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Có lỗi xảy ra")); } else { entity.Name = userinfo.Name; entity.HomeAddress = userinfo.HomeAddress; entity.Email = userinfo.Email; entity.PhoneNumber = userinfo.PhoneNumber; entity.CMND = userinfo.CMND; entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "Đã sửa")); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
//[Authorize] public HttpResponseMessage LoadAllUserInfo(string take = null, string userid = null, string ten = null, string email = null) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var result = entities.UserInfos.Select(x => new { x.UserInfoID, x.UserID, x.Name, x.PhoneNumber, x.HomeAddress, x.CMND, LoginEmail = entities.AspNetUsers.FirstOrDefault(y => y.Id == x.UserID).UserName }).ToList(); result = result.OrderByDescending(x => x.UserInfoID).ToList(); if (userid != null) { result = result.Where(x => x.UserID == userid).ToList(); } if (ten != null) { result = result.Where(x => x.Name == ten).ToList(); } if (email != null) { result = result.Where(x => x.LoginEmail == email).ToList(); } if (take != null) { int tempTake = Convert.ToInt32(take); result = result.Take(tempTake).ToList(); } return(Request.CreateResponse(HttpStatusCode.OK, result)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public async Task <IHttpActionResult> Register2(RegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new ApplicationUser() { UserName = model.Email, Email = model.Email }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded != true) { return(GetErrorResult(result)); } using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; string newID = entities.AspNetUsers.Where(x => x.Email == model.Email).FirstOrDefault().Id.ToString(); string confirmationToken = UserManager.GenerateEmailConfirmationTokenAsync(newID).Result; //Tạo 1 Userinfo trống cho tài khoản mới tạo: UserInfo newuserinfo = new UserInfo(); newuserinfo.UserID = newID; newuserinfo.Name = ""; newuserinfo.HomeAddress = ""; newuserinfo.Email = ""; newuserinfo.Cart = "[]"; newuserinfo.VipNewsCount = 0; entities.UserInfos.Add(newuserinfo); entities.SaveChanges(); //Gửi email yêu cầu kích hoạt SmtpClient client = new SmtpClient(); client.Port = 587; client.Host = "smtp.gmail.com"; client.EnableSsl = true; client.Timeout = 10000; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "hoahoa123"); MailMessage mm = new MailMessage("*****@*****.**", model.Email, "Kích hoạt tài khoản", "http://localhost:8000/emailconfirm?userid=" + newID + "&token=" + confirmationToken.Replace("+", "%252b")); mm.BodyEncoding = UTF8Encoding.UTF8; mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; client.Send(mm); } if (!result.Succeeded) { return(GetErrorResult(result)); } return(Ok()); }
public HttpResponseMessage AddToCart([FromUri] int pid = 1, int q = 1) { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; string userid = HttpContext.Current.User.Identity.GetUserId(); List <CartEntity> CartItemList = new List <CartEntity>(); CartItemList = JsonConvert.DeserializeObject <List <CartEntity> >(entities.UserInfos.FirstOrDefault(e => e.UserID == userid).Cart); //Kiểm tra xem sản phẩm đang định bỏ vào giỏ hàng có phải của chính mình hay không: var producttoCheck = entities.Products.Where(x => x.ProductID == pid).FirstOrDefault(); if (producttoCheck.UserID == userid) { return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Không được mua hàng của chính mình.")); } //Kiểm tra xem sản phẩm đang định bỏ vào giỏ hàng có phải nhỏ hơn stock hay không: var checkCart = CartItemList.FirstOrDefault(x => x.productID == pid); if (checkCart != null) { if (q + checkCart.quantity > producttoCheck.Stock) { return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Chỉ được đặt mua số lượng nhỏ hơn stock.")); } } if (q > producttoCheck.Stock) { return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Chỉ được đặt mua số lượng nhỏ hơn stock.")); } //Tìm thử xem có sẵn chưa, nếu có rồi thì chỉ cộng thêm số lượng bool flag = false; foreach (CartEntity item in CartItemList) { if (item.productID == pid) { item.quantity = item.quantity + q; flag = true; } } if (flag == false) { CartItemList.Add(new CartEntity { productID = pid, quantity = q }); } var entity = entities.UserInfos.FirstOrDefault(e => e.UserID == userid); entity.Cart = JsonConvert.SerializeObject(CartItemList); entities.SaveChanges(); } return(Request.CreateResponse(HttpStatusCode.OK, "Đã thêm vào giỏ hàng")); }
// GET api/values public HttpResponseMessage TestLoad() { //return User.Identity.GetUserName(); using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var a = entities.Products.Include("brands").ToString(); return(Request.CreateErrorResponse(HttpStatusCode.OK, "not found")); } }
// GET api/values/5 public HttpResponseMessage Get(int id) { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; int lastIDofOrder = entities.Orders.Max(x => x.OrderID); var invoice = entities.OrderItems.Where(x => x.OrderID == lastIDofOrder).GroupBy(x => new { x.OrderID, x.Order.OrderDate, x.Order.AspNetUser.Id, x.Order.OrderNameofUser, x.Order.OrderPhoneNumber, x.Order.OrderAddress, x.Order.AspNetUser.UserName }).Select(y => new { orderID = y.Key.OrderID, orderDate = y.Key.OrderDate, orderUser = y.Key.UserName, orderUserID = y.Key.Id, orderNameofUser = y.Key.OrderNameofUser, orderAddress = y.Key.OrderAddress, orderPhoneNumber = y.Key.OrderPhoneNumber, orderItemIDs = y.Select(z => new { orderItemID = z.OrderItemID, orderItemState = z.OrderState, orderItemQuantity = z.Quantity, orderItemPrice = z.FinalPrice, itemID = z.Product.ProductID, productName = z.Product.ProductName, productImage = z.Product.ProductImage, shopName = entities.UserInfos.FirstOrDefault(c => c.UserID == z.ShopID).Name, shopPhoneNumber = entities.UserInfos.FirstOrDefault(c => c.UserID == z.ShopID).PhoneNumber, shopAddress = entities.UserInfos.FirstOrDefault(c => c.UserID == z.ShopID).HomeAddress, shopEmail = entities.UserInfos.FirstOrDefault(c => c.UserID == z.ShopID).Email }).ToList() }).ToList(); return(Request.CreateResponse(HttpStatusCode.OK)); } }
public HttpResponseMessage SetToShipping([FromUri] int oid) { try { //Lát sau viết lại ràng buộc cho method này!!! using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; string currentUserID = User.Identity.GetUserId(); var result = entities.OrderItems.Include("Order").Include("Product").Where(x => x.OrderItemID == oid).FirstOrDefault(); string emailtoSend = entities.AspNetUsers.FirstOrDefault(x => x.Id == result.Order.UserID).Email; if (result != null) { if (result.Product.UserID == currentUserID) { result.OrderState = "Shipping"; entities.SaveChanges(); //Gửi Email thông báo đã mua hàng SmtpClient client = new SmtpClient(); client.Port = 587; client.Host = "smtp.gmail.com"; client.EnableSsl = true; client.Timeout = 10000; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "hoahoa123"); MailMessage mm = new MailMessage("*****@*****.**", emailtoSend, "Tình trạng đơn hàng", "Sản phẩm có mã đặt hàng là: #" + result.OrderItemID + " đang được vận chuyển."); mm.BodyEncoding = UTF8Encoding.UTF8; mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; client.Send(mm); //Hết phần gửi email. return(Request.CreateResponse(HttpStatusCode.OK, "Đã chuyển sang Shipping")); } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Không sửa được vì không phải chủ của sản phẩm này")); } } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Không tìm thấy")); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage LoadAllMyMerchantCompleteOrders([FromUri] string month = null, string year = null, string minTotalPrice = null, string maxTotalPrice = null) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; string uid = User.Identity.GetUserId(); var listOrders = entities.OrderItems.Where(x => x.Product.UserID == uid).GroupBy(x => new { x.OrderID, x.Order.OrderDate, x.Order.AspNetUser.Id, x.Order.OrderNameofUser, x.Order.OrderPhoneNumber, x.Order.OrderAddress, x.Order.AspNetUser.UserName, totalPrice = entities.OrderItems.Where(g => g.OrderID == x.OrderID && g.ShopID == x.ShopID).Sum(h => h.FinalPrice) }).Select(y => new { orderID = y.Key.OrderID, orderDate = y.Key.OrderDate, orderUser = y.Key.UserName, orderUserID = y.Key.Id, orderNameofUser = y.Key.OrderNameofUser, orderAddress = y.Key.OrderAddress, orderPhoneNumber = y.Key.OrderPhoneNumber, orderTotalPrice = y.Key.totalPrice, orderItemIDs = y.Select(z => new { orderItemID = z.OrderItemID, orderItemState = z.OrderState, orderItemQuantity = z.Quantity, orderItemPrice = z.FinalPrice, itemID = z.Product.ProductID, productName = z.Product.ProductName, productImage = z.Product.ProductImage }).ToList() }).ToList(); var result = listOrders.ToList(); foreach (var i in listOrders) { foreach (var j in i.orderItemIDs) { if (j.orderItemState == "Waiting" || j.orderItemState == "Shipping") { result.Remove(i); break; } } } if (month != null) { int tempMonth = Convert.ToInt32(month); result = result.Where(x => x.orderDate.Value.Month == tempMonth).ToList(); } if (year != null) { int tempYear = Convert.ToInt32(year); result = result.Where(x => x.orderDate.Value.Year == tempYear).ToList(); } if (minTotalPrice != null) { int tempMinTotalPrice = Convert.ToInt32(minTotalPrice); result = result.Where(x => x.orderTotalPrice >= tempMinTotalPrice).ToList(); } if (maxTotalPrice != null) { int tempMaxTotalPrice = Convert.ToInt32(maxTotalPrice); result = result.Where(x => x.orderTotalPrice <= tempMaxTotalPrice).ToList(); } return(Request.CreateResponse(HttpStatusCode.OK, result)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Put(int id, [FromBody] ProductModel product) { try { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } //Kiểm tra giá phải nhỏ hơn giá cũ if (product.Price > product.OldPrice) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Giá cũ phải cao hơn giá mới")); } using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var entity = entities.Products.FirstOrDefault(e => e.ProductID == id); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Product with Id " + id.ToString() + " not found to update")); } else { if (entity.UserID == User.Identity.GetUserId()) { entity.ProductTypeID = product.ProductTypeID; entity.BrandID = product.BrandID; entity.ProductName = product.ProductName; entity.Detail = product.Detail; entity.Stock = product.Stock; entity.OldPrice = product.OldPrice; entity.Price = product.Price; entity.ProductImage = product.ProductImage; entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "Đã sửa")); } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Có lỗi xảy ra")); } } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Post([FromBody] ProductModel product) { try { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } //Kiểm tra giá cũ có lớn hơn giá mới không if (product.Price > product.OldPrice) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Giá cũ phải cao hơn giá mới")); } using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; product.CreationDate = DateTime.Now; product.UserID = User.Identity.GetUserId(); //Kiểm tra xem có đang bị ban hay không string currentUserID = User.Identity.GetUserId(); var list = entities.BanAccounts.Where(x => x.UserID == currentUserID && x.LiftDate > DateTime.Now).ToList(); if (list.Count != 0) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Bạn đang bị ban, lý do: " + list[0].Reason)); } //Hết kiểm tra bị ban Product newproduct = new Product(); newproduct.UserID = product.UserID; newproduct.ProductTypeID = product.ProductTypeID; newproduct.BrandID = product.BrandID; newproduct.ProductName = product.ProductName; newproduct.Detail = product.Detail; newproduct.Stock = product.Stock; newproduct.ProductImage = product.ProductImage; newproduct.Price = product.Price; newproduct.OldPrice = product.OldPrice; newproduct.CreationDate = DateTime.Now; entities.Products.Add(newproduct); entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "POST OK")); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage RateaProduct([FromUri] int pid, int r) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; string currentUserID = User.Identity.GetUserId(); //Kiểm tra r (điểm) phải >0 và < 10 if (r < 0 || r > 10) { return(Request.CreateErrorResponse(HttpStatusCode.BadGateway, "Phải rate từ 0-> 10")); } //Kiểm tra xem người đó đã mua hàng hay chưa, nếu chưa mua thì không được rate var checkBought = entities.OrderItems.Where(x => x.Order.UserID == currentUserID && x.ProductID == pid).FirstOrDefault(); if (checkBought == null) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Bạn chưa mua sản phẩm này nên không được đánh giá")); } //Kiểm tra người Rate có phải chủ của Product không. Chủ product ko hể rate sản phẩm của chính mình string IDofProductOwner = entities.Products.FirstOrDefault(x => x.ProductID == pid).UserID; if (currentUserID == IDofProductOwner) { return(Request.CreateErrorResponse(HttpStatusCode.BadGateway, "Bạn không thể rate sản phẩm của chính mình")); } //Kiểm tra xem đã vote chưa, 1 người chỉ được vote sản phẩm 1 lần var checkIfRated = entities.Ratings.FirstOrDefault(x => x.ProductID == pid && x.UserID == currentUserID); if (checkIfRated != null) { return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "Bạn đã rate rồi")); } Rating newRating = new Rating(); newRating.ProductID = pid; newRating.Rating1 = r; newRating.UserID = currentUserID; entities.Ratings.Add(newRating); entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "POST OK")); } } catch { return(Request.CreateErrorResponse(HttpStatusCode.BadGateway, "Có lỗi xảy ra")); } }
public HttpResponseMessage GetUserMailByUserID([FromUri] string uid) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; return(Request.CreateResponse(HttpStatusCode.OK, entities.AspNetUsers.FirstOrDefault(x => x.Id == uid).UserName)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage LoadAllBrands() { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; return(Request.CreateResponse(HttpStatusCode.OK, entities.Brands.ToList())); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage LoadAllBanAccountInTime() { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var result = entities.BanAccounts.Where(x => x.LiftDate > DateTime.Now).ToList(); return(Request.CreateResponse(HttpStatusCode.OK, result)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage GetAllUnreadReport() { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var result = entities.Reports.Where(x => x.IsRead == false).ToList(); return(Request.CreateResponse(HttpStatusCode.OK, result)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage GetListOfAverageRatingListByProduct(string sort = null) { try { using (WebbanhangDBEntities entities = new WebbanhangDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; var detailRatingByItem = entities.Ratings.GroupBy(x => new { x.ProductID, x.Product.ProductName }).Select(g => new { g.Key.ProductID, g.Key.ProductName, AverageRating = g.Average(x => x.Rating1), RatingTime = g.Count() }).OrderByDescending(x => x.AverageRating).ThenByDescending(x => x.RatingTime).ToList(); return(Request.CreateResponse(HttpStatusCode.OK, detailRatingByItem)); } } catch { return(Request.CreateErrorResponse(HttpStatusCode.BadGateway, "Có lỗi xảy ra")); } }