public IHttpActionResult Post([FromBody] OrderPostModel order) { if (!ModelState.IsValid) { return(this.Conflict()); } string userId = this.User.Identity.GetUserId(); User user = this.userRepository.GetById(userId); PizzaItem newPizzaItem = new PizzaItem(Guid.NewGuid(), order.Pizza.Name, order.Pizza.TotalCost, order.Pizza.ImageUrl); foreach (var ingred in order.Pizza.Ingredients) { newPizzaItem.Ingredients.Add(this.ingredientRepository.GetList(ing => ing.Name == ingred.Name).FirstOrDefault()); } Order orderEntity = new Order( Guid.NewGuid(), order.Pizza.TotalCost, EntityBuilder.ToEntity(order.Contact)); orderEntity.User = user; orderEntity.Pizzas = new List <PizzaItem>() { newPizzaItem }; this.orderRepository.Add(orderEntity); this.orderRepository.SaveChanges(); return(this.Ok()); }
static void Main(string[] args) { var controller = new OrdersController(); var order = new OrderPostModel() { Date = DateTime.UtcNow, Products = new List <ProductPostModel>() { new ProductPostModel() { Name = "Brik", Price = 40000 }, new ProductPostModel() { Name = "Wood", Price = 40000 } }, User = new UserPostModel() { FirstName = "John", LastName = "cddd", PhoneNumber = "+380912573499" } }; var a = controller.Create(order); }
public OrderViewModel Create(OrderPostModel model) { var order = _mapper.Map <OrderModel>(model); var createdOrder = _ordersService.Create(order); return(_mapper.Map <OrderViewModel>(createdOrder)); }
public JsonResult SubmitLimitOrder(OrderPostModel model, string payPwd) { model.CurrentUser = CurrentUser; var result = OrderApplication.GetLimitOrder(model); result.PlatformType = PlatformType; //订单来源 //delete-pengjiangxiong //if (LimitOrderHelper.IsRedisCache()) //{ // string id = ""; // SubmitOrderResult r = LimitOrderHelper.SubmitOrder(result, out id, payPwd); // if (r == SubmitOrderResult.SoldOut) // throw new HimallException("已售空"); // else if (r == SubmitOrderResult.NoSkuId) // throw new InvalidPropertyException("创建订单的时候,SKU为空,或者数量为0"); // else if (r == SubmitOrderResult.NoData) // throw new InvalidPropertyException("参数错误"); // else if (r == SubmitOrderResult.NoLimit) // throw new InvalidPropertyException("没有限时购活动"); // else if (r == SubmitOrderResult.ErrorPassword) // throw new InvalidPropertyException("支付密码错误"); // else if (string.IsNullOrEmpty(id)) // throw new InvalidPropertyException("参数错误"); // else // { // return SuccessResult<dynamic>(data: id); // } //} //else //{ var ret = OrderApplication.OrderSubmit(result, payPwd); return(Json <dynamic>(ret.Success, data: new { orderIds = ret.OrderIds, realTotalIsZero = ret.OrderTotal == 0 })); //} }
public JsonResult SubmitOrder(OrderPostModel model, string payPwd) { model.CurrentUser = base.CurrentUser; model.DistributionUserLinkId = base.GetDistributionUserLinkId(); model.PlatformType = base.PlatformType.GetHashCode(); OrderReturnModel model2 = OrderApplication.SubmitOrder(model, payPwd); base.ClearDistributionUserLinkId(); OrderApplication.AddVshopBuyNumber(model2.OrderIds); base.Session.Remove("OrderTag"); return(base.Json(new { success = model2.Success, orderIds = model2.OrderIds, realTotalIsZero = model2.OrderTotal == 0M })); }
public JsonResult SubmitOrder(OrderPostModel model, string payPwd) { model.CurrentUser = CurrentUser; model.PlatformType = PlatformType.GetHashCode(); model.IsShopbranchOrder = true; var result = OrderApplication.SubmitOrder(model, payPwd); OrderApplication.AddVshopBuyNumber(result.OrderIds); #region 处理虚拟订单项 OrderApplication.AddVshopBuyNumber(result.OrderIds); if (model.ProductType == 1 && model.VirtualProductItems != null && model.VirtualProductItems.Count() > 0) { var orderId = result.OrderIds.FirstOrDefault(); if (orderId > 0) { var orderItemInfo = OrderApplication.GetOrderItemsByOrderId(orderId).FirstOrDefault(); if (orderItemInfo != null) { var list = model.VirtualProductItems.ToList().Where(a => !string.IsNullOrWhiteSpace(a.Content)).ToList();//过滤空项 list.ForEach(a => { a.OrderId = orderId; a.OrderItemId = orderItemInfo.Id; if (a.VirtualProductItemType == (sbyte)ProductInfo.VirtualProductItemType.Picture) { a.Content = MoveImages(a.Content, CurrentUser.Id); } }); if (list.Count > 0) { OrderApplication.AddVirtualOrderItemInfo(list); } } } } #endregion HttpContext.Session.Remove("OrderTag"); return(Json <dynamic>(result.Success, data: new { orderIds = result.OrderIds, realTotalIsZero = result.OrderTotal == 0 })); }
public JsonResult SubmitLimitOrder(OrderPostModel model, string payPwd) { model.CurrentUser = base.CurrentUser; model.PlatformType = 1; OrderCreateModel limitOrder = OrderApplication.GetLimitOrder(model); if (LimitOrderHelper.IsRedisCache()) { string id = ""; switch (LimitOrderHelper.SubmitOrder(limitOrder, out id, payPwd)) { case SubmitOrderResult.SoldOut: throw new HimallException("已售空"); case SubmitOrderResult.NoSkuId: throw new InvalidPropertyException("创建预约单的时候,SKU为空,或者数量为0"); case SubmitOrderResult.NoData: throw new InvalidPropertyException("参数错误"); case SubmitOrderResult.NoLimit: throw new InvalidPropertyException("没有限时购活动"); case SubmitOrderResult.ErrorPassword: throw new InvalidPropertyException("支付密码错误"); } if (string.IsNullOrEmpty(id)) { throw new InvalidPropertyException("参数错误"); } OrderApplication.UpdateDistributionUserLink(base.GetDistributionUserLinkId().ToArray(), base.UserId); return(base.Json(new { success = true, Id = id })); } OrderReturnModel model3 = OrderApplication.OrderSubmit(limitOrder, payPwd); return(base.Json(new { success = model3.Success, orderIds = model3.OrderIds, realTotalIsZero = model3.OrderTotal == 0M })); }
public object PostSubmitOrderByCart(OrderSubmitOrderByCartModel value) { CheckUserLogin(); if (value.CapitalAmount > 0 && !string.IsNullOrEmpty(value.PayPwd)) { var flag = MemberApplication.VerificationPayPwd(CurrentUser.Id, value.PayPwd); if (!flag) { throw new MallApiException("预存款支付密码错误"); } } string cartItemIds = value.cartItemIds; long recieveAddressId = value.recieveAddressId; string couponIds = value.couponIds; int integral = value.integral; bool isCashOnDelivery = value.isCashOnDelivery; int invoiceType = value.invoiceType; string invoiceTitle = value.invoiceTitle; string invoiceContext = value.invoiceContext; IEnumerable<long> orderIds; CommonModel.OrderShop[] OrderShops = Newtonsoft.Json.JsonConvert.DeserializeObject<OrderShop[]>(value.jsonOrderShops); OrderPostModel model = new OrderPostModel(); model.CurrentUser = CurrentUser; model.PlatformType = PlatformType.Android.GetHashCode(); model.IsShopbranchOrder = true; model.RecieveAddressId = recieveAddressId; model.Integral = integral; model.Capital = value.CapitalAmount; model.IsCashOnDelivery = isCashOnDelivery; //model.InvoiceType = invoiceType; //model.InvoiceContext = invoiceContext; //model.InvoiceTitle = invoiceTitle; //model.InvoiceCode = value.invoiceCode; model.OrderShops = OrderShops;//用户APP选择门店自提时用到,2.5版本未支持门店自提 model.CartItemIds = cartItemIds; model.IsShopbranchOrder = true; if (model.OrderShops == null || model.OrderShops.Count() < 1) { throw new MallApiException("订单信息错误"); } try { var cartItemIdsArr = cartItemIds.Split(',').Where(d => !string.IsNullOrWhiteSpace(d)).Select(item => long.Parse(item)).ToArray(); //根据购物车项补充sku数据 var cartItems = CartApplication.GetCartItems(cartItemIdsArr); List<OrderSku> skus = new List<OrderSku>(); foreach (var _item in cartItems) { OrderSku _tmp = new OrderSku(); _tmp.SkuId = _item.SkuId; _tmp.Count = _item.Quantity; skus.Add(_tmp); } model.CouponIds = couponIds; model.OrderShops[0].OrderSkus = skus.ToArray(); var result = OrderApplication.SubmitOrder(model, value.PayPwd); orderIds = result.OrderIds; decimal orderTotals = result.OrderTotal; var _result = new { success = true, OrderIds = orderIds, RealTotalIsZero = orderTotals == 0 }; return _result; } catch (MallException he) { return ErrorResult(he.Message); } catch (Exception ex) { return ErrorResult("提交订单异常"); } }