src/ZKEACMS.Shop/Service/OrderService.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/* http://www.zkea.net/
* Copyright (c) ZKEASOFT. All rights reserved.
* http://www.zkea.net/licenses */
using Easy.RepositoryPattern;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using ZKEACMS.Shop.Models;
using Microsoft.EntityFrameworkCore;
using Easy;
using Easy.Extend;
using ZKEACMS.Event;
namespace ZKEACMS.Shop.Service
{
public class OrderService : ServiceBase<Order, CMSDbContext>, IOrderService
{
private readonly IOrderItemService _orderItemService;
private readonly IEnumerable<IPaymentService> _paymentServices;
private readonly ILocalize _localize;
private readonly IEventManager _eventManager;
public OrderService(IApplicationContext applicationContext, IOrderItemService orderItemService,
IEnumerable<IPaymentService> paymentServices,
ILocalize localize,
IEventManager eventManager,
CMSDbContext dbContext)
: base(applicationContext, dbContext)
{
_orderItemService = orderItemService;
_paymentServices = paymentServices;
_localize = localize;
_eventManager = eventManager;
}
public override Order Get(params object[] primaryKey)
{
Order order = base.Get(primaryKey);
order.OrderItems = _orderItemService.Get(m => m.OrderId == order.ID);
return order;
}
public override ServiceResult<Order> Add(Order item)
{
item.ID = Guid.NewGuid().ToString("N");
item.OrderStatus = (int)OrderStatus.UnPaid;
ServiceResult<Order> result = base.Add(item);
if (!result.HasViolation)
{
foreach (var orderItem in item.OrderItems)
{
orderItem.OrderId = item.ID;
_orderItemService.Add(orderItem);
}
}
_eventManager.Trigger(Events.OnPendingOrderCreated, item);
return result;
}
后面还有 101 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。