/// <summary> /// 订单确认页面 /// </summary> /// <returns></returns> public async Task <IActionResult> OrderSure(List <SK_WM_OrderItem> orderItems, string orders) { //获取用户的姓名 ViewBag.UserLogonInformation = GetUserName(); if (GetUserName() == null) { return(View("../../Views/Home/Logon")); } //var username = User.Identity.Name; //var user = await _UserManager.FindByNameAsync(username); //if (user == null) //{ // return View("../../Views/Home/Logon"); //} if (orders != null) { orderItems = Newtonsoft.Json.JsonConvert.DeserializeObject <List <SK_WM_OrderItem> >(orders); } else { orderItems = null; return(View()); } //if (order != null) //{ // orderItems.Add(order); //} ViewBag.GoodsShop = orderItems; var orderItemVM = new List <SK_WM_OrderItemVM>(); foreach (var item in orderItems) { var goods = _GoodsRepository.GetSingleBy(x => x.ID == Guid.Parse(item.GoodsID)); var imgs = await _ImageRepository.FindByAsyn(x => x.RelevanceObjectID == goods.ID); var img = imgs.Where(x => x.IsForTitle == true).FirstOrDefault(); var shop = _ShopRepository.GetSingleBy(x => x.ID == Guid.Parse(goods.BelongToShopID)); item.GoodsID = goods.ID.ToString(); item.GoodsName = goods.Name; item.Description = goods.Description; item.ShopName = shop.Name; item.ImgPath = img.UploadPath; item.Price = goods.Price; item.TotalPrice = (Convert.ToDecimal(goods.Price) * item.Count).ToString(); var orderItem = new SK_WM_OrderItemVM(item); orderItemVM.Add(orderItem); } return(View("../Home/OrderSure", orderItemVM)); //return Json(new { isOK = true, Orderitem = orderItemVM }); }
public async Task <IActionResult> MyOrder() { var userName = User.Identity.Name; if (userName == null) { return(View("../../Views/Home/Logon")); } var user = await _UserManager.FindByNameAsync(userName); //查询订单详细所关联的商品列表 var ordersItem = await _OrderItemRepository.GetAllIncludingAsyn(x => x.ItemForOrder, x => x.ItemForOrder.OrderForUser); var orders = new List <SK_WM_OrderItem>(); foreach (var order in ordersItem) { //var OrderForUser = await _OrderRepository.GetAllIncludingAsyn(x => x.OrderForUser); //order.ItemForOrder = OrderForUser.Where(x => x.ID == order.ItemForOrder.ID).FirstOrDefault(); orders.Add(order); } var BelongToUserOrders = orders.Where(x => x.ItemForOrder.OrderForUser.Id == user.Id); ViewBag.OrderItem = BelongToUserOrders; var orderItemVM = new List <SK_WM_OrderItemVM>(); foreach (var item in BelongToUserOrders) { var sitem = new SK_WM_OrderItemVM(item); var goods = await _GoodsRepository.FindByAsyn(x => x.Name == item.GoodsName); var fGoods = goods.FirstOrDefault(); if (fGoods == null) { sitem.HasGoods = false; } orderItemVM.Add(sitem); } ViewBag.UserLogonInformation = GetUserName(); return(View("../Home/MyOrder", orderItemVM)); }
public async Task <IActionResult> OrderList(string selectNnm) { ViewBag.UserLogonInformation = GetUserName(); var listPagePara = new ListPageParameter() { ObjectTypeID = "Order", // 对应的归属类型ID PageIndex = 1, // 当前页码 PageSize = 4, // 每页数据条数 为"0"时显示所有 PageAmount = 0, // 相关对象列表分页处理分页数量 ObjectAmount = 0, // 相关的对象的总数 Keyword = "", // 当前的关键词 SortProperty = "SortCode", // 排序属性 SortDesc = "default", // 排序方向,缺省值正向 Default,前端用开关方式转为逆向:Descend SelectedObjectID = "", // 当前页面处理中处理的焦点对象 ID IsSearch = false, // 当前是否为检索 }; listPagePara.PageIndex = selectNnm != null?Convert.ToInt32(selectNnm) : 1; var user = User.Claims.FirstOrDefault(); if (user.Value == new Guid().ToString()) { return(View("../../Views/Home/Logon")); } var shop = _ShopRepository.GetSingleBy(x => x.ShopForUser.Id == user.Value); //查询订单详细所关联的商品列表 var orderItems = _OrderItemRepository.FindBy(x => x.ShopName == shop.Name); //获取订单和订单对应的用户和商品 var orVMCollection = new List <SK_WM_OrderItemVM>(); //存放用户所有订单 var OrderAll = orderItems.AsQueryable <SK_WM_OrderItem>(); var OrderCollectionPageList = IQueryableExtensions.ToPaginatedList(OrderAll, listPagePara.PageIndex, listPagePara.PageSize); foreach (var order in OrderCollectionPageList) { var omVM = new SK_WM_OrderItemVM(order); orVMCollection.Add(omVM); } var pageGroup = PagenateGroupRepository.GetItem <SK_WM_OrderItem>(OrderCollectionPageList, 3, listPagePara.PageIndex); ViewBag.PageGroup = pageGroup; ViewBag.PageParameter = listPagePara; return(View("../../Views/BusinessOrganization/BusinessBG/OrderList", orVMCollection)); }
/// <summary> /// 确认下单 /// </summary> /// <returns></returns> public async Task <IActionResult> AddOrderSure(List <SK_WM_OrderItem> orderItem, string orders, string ordersID) { //状态 成功与否 var status = false; var order = await _OrderItemRepository.GetAllIncludingAsyn(x => x.ItemForOrder); if (orders != null) { orderItem = Newtonsoft.Json.JsonConvert.DeserializeObject <List <SK_WM_OrderItem> >(orders); } if (ordersID != null) { orderItem = order.Where(x => x.ItemForOrder.ID.ToString() == ordersID).ToList(); } //获取当前登录的用户信息 var userName = User.Identity.Name; if (userName == null) { return(View("../../Views/Home/Logon")); } var user = await _UserManager.FindByNameAsync(userName); #region 暂时保留不用的代码 //var order = await _OrderRepository.FindByAsyn(x => x.BelongToUserID == user.Id); //if (order.Count() == 0) //{ // var orderNew = new SK_WM_Order() // { // BelongToUserID = user.Id, // OrderForUser = user, // }; // //创建一个订单容器 // await _OrderRepository.AddOrEditAndSaveAsyn(orderNew); // order = await _OrderRepository.FindByAsyn(x => x.BelongToUserID == user.Id); //} //foreach (var item in orderItem) //{ // //查询加入订单的商品信息 // var goods = _GoodsRepository.GetSingleBy(x => x.Name == item.GoodsName); // var imgs = await _ImageRepository.FindByAsyn(x => x.RelevanceObjectID == goods.ID); // var img = imgs.Where(x => x.IsForTitle == true).FirstOrDefault(); // var shop = _ShopRepository.GetSingleBy(x => x.ID == Guid.Parse(goods.BelongToShopID)); // //查询该用户当前未完成的所有订单 // var orderItemNo = await _OrderItemRepository.FindByAsyn(x => x.BelongToOrderID == order.FirstOrDefault().ID.ToString() && x.State == (SK_WM_OrderState.Orderstate.待创建).ToString()); // //查询该用户的订单内是否存在当前要添加的商品 // var hasGoods = orderItemNo.Where(x => x.GoodsID == item.GoodsID); // if (hasGoods.Count() == 0) // { // hasGoods = null; // } // //创建一个订单项对象并实例化 // var oItem = new SK_WM_OrderItem(); // if (hasGoods == null) //未完成的订单中不存在当前正添加的商品 // { // oItem = new SK_WM_OrderItem() // { // BelongToOrderID = order.FirstOrDefault().ID.ToString(), // ItemForOrder = order.FirstOrDefault(), // CreateOrderTime = DateTime.Now, // DeliveryAdderss = "", //用户暂时没有给配送地址字段 // DeliveryFee = 0.00m, //商品暂时没有给配送费字段 // ShopName = shop.Name, // GoodsName = goods.Name, // GoodsID = goods.ID.ToString(), // Description = goods.Description, // Price = goods.Price, // Count = orderItem.Count, // TotalPrice = (orderItem.Count * decimal.Parse(goods.Price)).ToString(), // ImgPath = img.UploadPath, // State = (SK_WM_OrderState.Orderstate.待创建).ToString() // }; // //创建订单 // status = await _OrderItemRepository.AddOrEditAndSaveAsyn(oItem); // } // else //未完成的订单中存在当前正添加的商品 // { // //若商品存在 // var orderItemEdit = hasGoods.FirstOrDefault(); // orderItemEdit.Count = orderItemEdit.Count + orderItem.Count; // orderItemEdit.TotalPrice = (orderItemEdit.Count * decimal.Parse(goods.Price)).ToString(); // status = await _OrderItemRepository.AddOrEditAndSaveAsyn(orderItemEdit); // } #endregion //创建一个订单容器 var boVM = new List <SK_WM_OrderItemVM>(); var goods = await _BoRepository.GetAllIncludingAsyn(x => x.Shop); var orderNew = new SK_WM_Order() { OrderForUser = user, State = (SK_WM_OrderState.Orderstate.待付款).ToString(), Goods = null, Count = orderItem.FirstOrDefault().Count, Name = "" }; if (ordersID != null) { orderNew.ID = Guid.Parse(ordersID); } else { await _OrderRepository.AddOrEditAndSaveAsyn(orderNew); } var TotalPriceForOrder = 0.00m; var orderItemCount = 0; var goodsNameStr = ""; // 用于存放 取前3条商品的名称作为订单的名称 var goodIDFrist = new SK_WM_Goods(); //商品 用于取第一条订单列表项的商品图片作为封面 var goodNameCount = 1; //用于判断 var goodIDFristeCount = 1; //用于判断 foreach (var item in orderItem) { //查询加入订单的商品信息 var currGoods = goods.Where(x => x.ID == Guid.Parse(item.GoodsID)).FirstOrDefault(); if (goodIDFristeCount < 2) { goodIDFrist = currGoods; goodIDFristeCount++; } if (currGoods != null) { var shop = _ShopRepository.GetSingleBy(x => x.ID == currGoods.Shop.ID); var imgs = await _ImageRepository.FindByAsyn(x => x.RelevanceObjectID == currGoods.ID); var img = imgs.Where(x => x.IsForTitle == true).FirstOrDefault(); var oItem = new SK_WM_OrderItem(); if (ordersID == null) { //订单名称 if (goodNameCount < 4) { goodsNameStr += currGoods.Name + "、"; goodNameCount++; } //创建一个订单项对象 oItem = new SK_WM_OrderItem() { ItemForOrder = orderNew, CreateOrderTime = DateTime.Now, DeliveryAdderss = "", //用户暂时没有给配送地址字段 DeliveryFee = 0.00m, //商品暂时没有给配送费字段 ShopName = shop.Name, GoodsName = currGoods.Name, GoodsID = currGoods.ID.ToString(), Description = currGoods.Description, Price = currGoods.Price, Count = item.Count, ImgPath = img.UploadPath, TotalPrice = (item.Count * decimal.Parse(currGoods.Price)).ToString(), State = (SK_WM_OrderState.Orderstate.待付款).ToString() }; } else { oItem = item; } var oItemVM = new SK_WM_OrderItemVM(oItem); //创建订单 if (ordersID != null) { status = true; } else { status = await _OrderItemRepository.AddOrEditAndSaveAsyn(oItem); } //订单的总价格计算 TotalPriceForOrder += decimal.Parse(oItem.TotalPrice); orderItemCount++; boVM.Add(oItemVM); } } ViewBag.UserLogonInformation = GetUserName(); if (status) { orderNew.Name = goodsNameStr; //重新修改订单的名称 orderNew.Goods = goodIDFrist; // orderNew.CreateOrderTime = DateTime.Now; orderNew.Count = orderItemCount; orderNew.TotalPrice = TotalPriceForOrder; orderNew.State = (SK_WM_OrderState.Orderstate.待付款).ToString(); if (ordersID == null) { await _OrderRepository.AddOrEditAndSaveAsyn(orderNew); } return(View("../Home/CheckStand", boVM)); } else { return(Json(new { isOK = false })); } }