140 lines
5.2 KiB
C#
140 lines
5.2 KiB
C#
using System;
|
|
using System.Linq.Expressions;
|
|
using Mapster.Models;
|
|
using NetinaShop.Domain.Dtos.SmallDtos;
|
|
using NetinaShop.Domain.Entities.Orders;
|
|
using NetinaShop.Domain.Entities.Products;
|
|
|
|
namespace NetinaShop.Domain.Mappers
|
|
{
|
|
public static partial class OrderProductMapper
|
|
{
|
|
public static OrderProduct AdaptToOrderProduct(this OrderProductSDto p1)
|
|
{
|
|
return p1 == null ? null : new OrderProduct()
|
|
{
|
|
Count = p1.Count,
|
|
ProductFee = p1.ProductFee,
|
|
ProductFeeWithDiscount = p1.ProductFeeWithDiscount,
|
|
HasDiscount = p1.HasDiscount,
|
|
ProductCost = p1.ProductCost,
|
|
PackingFee = p1.PackingFee,
|
|
PackingCost = p1.PackingCost,
|
|
OrderProductStatus = p1.OrderProductStatus,
|
|
ProductId = p1.ProductId,
|
|
Product = new Product()
|
|
{
|
|
Cost = p1.ProductCost,
|
|
Id = p1.ProductId
|
|
},
|
|
OrderId = p1.OrderId,
|
|
Order = new Order() {Id = p1.OrderId},
|
|
Id = p1.Id,
|
|
CreatedAt = p1.CreatedAt
|
|
};
|
|
}
|
|
public static OrderProduct AdaptTo(this OrderProductSDto p2, OrderProduct p3)
|
|
{
|
|
if (p2 == null)
|
|
{
|
|
return null;
|
|
}
|
|
OrderProduct result = p3 ?? new OrderProduct();
|
|
|
|
result.Count = p2.Count;
|
|
result.ProductFee = p2.ProductFee;
|
|
result.ProductFeeWithDiscount = p2.ProductFeeWithDiscount;
|
|
result.HasDiscount = p2.HasDiscount;
|
|
result.ProductCost = p2.ProductCost;
|
|
result.PackingFee = p2.PackingFee;
|
|
result.PackingCost = p2.PackingCost;
|
|
result.OrderProductStatus = p2.OrderProductStatus;
|
|
result.ProductId = p2.ProductId;
|
|
result.Product = funcMain1(new Never(), result.Product, p2);
|
|
result.OrderId = p2.OrderId;
|
|
result.Order = funcMain2(new Never(), result.Order, p2);
|
|
result.Id = p2.Id;
|
|
result.CreatedAt = p2.CreatedAt;
|
|
return result;
|
|
|
|
}
|
|
public static OrderProductSDto AdaptToSDto(this OrderProduct p8)
|
|
{
|
|
return p8 == null ? null : new OrderProductSDto()
|
|
{
|
|
Count = p8.Count,
|
|
ProductFee = p8.ProductFee,
|
|
ProductFeeWithDiscount = p8.ProductFeeWithDiscount,
|
|
HasDiscount = p8.HasDiscount,
|
|
ProductCost = p8.ProductCost,
|
|
PackingFee = p8.PackingFee,
|
|
PackingCost = p8.PackingCost,
|
|
OrderProductStatus = p8.OrderProductStatus,
|
|
ProductId = p8.ProductId,
|
|
ProductName = p8.Product != null ? p8.Product.PersianName : string.Empty,
|
|
OrderId = p8.OrderId,
|
|
Id = p8.Id,
|
|
CreatedAt = p8.CreatedAt
|
|
};
|
|
}
|
|
public static OrderProductSDto AdaptTo(this OrderProduct p9, OrderProductSDto p10)
|
|
{
|
|
if (p9 == null)
|
|
{
|
|
return null;
|
|
}
|
|
OrderProductSDto result = p10 ?? new OrderProductSDto();
|
|
|
|
result.Count = p9.Count;
|
|
result.ProductFee = p9.ProductFee;
|
|
result.ProductFeeWithDiscount = p9.ProductFeeWithDiscount;
|
|
result.HasDiscount = p9.HasDiscount;
|
|
result.ProductCost = p9.ProductCost;
|
|
result.PackingFee = p9.PackingFee;
|
|
result.PackingCost = p9.PackingCost;
|
|
result.OrderProductStatus = p9.OrderProductStatus;
|
|
result.ProductId = p9.ProductId;
|
|
result.ProductName = p9.Product != null ? p9.Product.PersianName : string.Empty;
|
|
result.OrderId = p9.OrderId;
|
|
result.Id = p9.Id;
|
|
result.CreatedAt = p9.CreatedAt;
|
|
return result;
|
|
|
|
}
|
|
public static Expression<Func<OrderProduct, OrderProductSDto>> ProjectToSDto => p11 => new OrderProductSDto()
|
|
{
|
|
Count = p11.Count,
|
|
ProductFee = p11.ProductFee,
|
|
ProductFeeWithDiscount = p11.ProductFeeWithDiscount,
|
|
HasDiscount = p11.HasDiscount,
|
|
ProductCost = p11.ProductCost,
|
|
PackingFee = p11.PackingFee,
|
|
PackingCost = p11.PackingCost,
|
|
OrderProductStatus = p11.OrderProductStatus,
|
|
ProductId = p11.ProductId,
|
|
ProductName = p11.Product != null ? p11.Product.PersianName : string.Empty,
|
|
OrderId = p11.OrderId,
|
|
Id = p11.Id,
|
|
CreatedAt = p11.CreatedAt
|
|
};
|
|
|
|
private static Product funcMain1(Never p4, Product p5, OrderProductSDto p2)
|
|
{
|
|
Product result = p5 ?? new Product();
|
|
|
|
result.Cost = p2.ProductCost;
|
|
result.Id = p2.ProductId;
|
|
return result;
|
|
|
|
}
|
|
|
|
private static Order funcMain2(Never p6, Order p7, OrderProductSDto p2)
|
|
{
|
|
Order result = p7 ?? new Order();
|
|
|
|
result.Id = p2.OrderId;
|
|
return result;
|
|
|
|
}
|
|
}
|
|
} |