order
This commit is contained in:
62
Back/Services/ServOrders.cs
Normal file
62
Back/Services/ServOrders.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using Back.Data.Contracts;
|
||||
using Back.Data.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Shared.DTOs;
|
||||
using Shared.DTOs.Serch;
|
||||
|
||||
namespace Back.Services
|
||||
{
|
||||
public class ServOrders
|
||||
{
|
||||
private readonly IAsyncRepository<Order> _repoOrder;
|
||||
private readonly IAsyncRepository<OrderItem> _repoOrderItem;
|
||||
|
||||
|
||||
public ServOrders(IAsyncRepository<Order> repoOrder, IAsyncRepository<OrderItem> repoOrderItem)
|
||||
{
|
||||
_repoOrder = repoOrder;
|
||||
_repoOrderItem = repoOrderItem;
|
||||
|
||||
}
|
||||
public async Task<List<OrderDto>> GetOrdersByCompanyID(int CompanyID, ItemSerachOrder itemSerach)
|
||||
{
|
||||
var request = _repoOrder.Get(w => w.CompanyID == CompanyID);
|
||||
|
||||
if (itemSerach.Status.HasValue)
|
||||
request = request.Where(w => w.Status == itemSerach.Status);
|
||||
|
||||
if (itemSerach.ID.HasValue)
|
||||
request = request.Where(w => w.ID == itemSerach.ID);
|
||||
|
||||
request = request.Include(inc => inc.OrderItems);
|
||||
return await request
|
||||
.Select(w => new OrderDto
|
||||
{
|
||||
ApprovalDate = w.ApprovalDate,
|
||||
DateCreate = w.DateCreate,
|
||||
ID = w.ID,
|
||||
PreDiscount = w.PreDiscount,
|
||||
Status = w.Status,
|
||||
TDiscount = w.TDiscount,
|
||||
TPrice = w.TPrice,
|
||||
TTax = w.TPrice,
|
||||
lstDiscount = w.lstDiscount,
|
||||
}).ToListAsync();
|
||||
}
|
||||
public async Task<List<OrderItemDto>> GetOrderItems(int OrderID,int CompanyID)
|
||||
{
|
||||
return await _repoOrderItem.Get(w => w.OrderID == OrderID && w.Order.CompanyID== CompanyID)
|
||||
.Select(s=>new OrderItemDto
|
||||
{
|
||||
OrderID = OrderID,
|
||||
APrice = s.APrice,
|
||||
CreditAmount = s.CreditAmount,
|
||||
Discount=s.Discount,
|
||||
ID = s.ID,
|
||||
Tax = s.Tax,
|
||||
Type= s.PermissionID.HasValue && !s.PromotionID.HasValue ? "" : !s.PermissionID.HasValue && s.PromotionID.HasValue ? "تعرفه" : "نامشخص",
|
||||
IDForType = s.PermissionID.HasValue && !s.PromotionID.HasValue ? s.PermissionID.Value : !s.PermissionID.HasValue && s.PromotionID.HasValue ? s.PromotionID.Value : 0
|
||||
}).ToListAsync();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user